public ThemeConfigViewModel(IThemeSettingsProvider s, IThemeManager themeManager) { this.themeManager = themeManager; SaveAction = Save; _name = themeManager.CurrentTheme; _themes = themeManager.Themes.ToList(); settings = s; }
public ThemeConfigViewModel(IThemeSettingsProvider settings, IThemeManager themeManager) { name = themeManager.CurrentTheme; themes = themeManager.Themes.ToList(); Save = new DelegateCommand(() => { themeManager.SetTheme(ThemeName); settings.UpdateSettings(ThemeName); IsModified = false; }); }
public ThemeManager(IThemeSettingsProvider themeSettings) { var currentThemeName = themeSettings.GetSettings().Name; var theme = new Theme(currentThemeName); if (!IsValidTheme(theme)) { theme = _defaultTheme; } SetTheme(theme); }
public ThemeConfigViewModel(IThemeSettingsProvider settings, IThemeManager themeManager, IMainWindowHolder mainWindowHolder) { var currentSettings = settings.GetSettings(); name = CurrentThemeName = themeManager.CurrentTheme; themes = themeManager.Themes.ToList(); useCustomScaling = currentSettings.UseCustomScaling; scalingValue = Math.Clamp(currentSettings.CustomScaling, 0.5, 4); RecommendedScalingPercentage = (int)(((mainWindowHolder.Window?.Screens?.Primary ?? mainWindowHolder.Window?.Screens?.All?.FirstOrDefault())?.PixelDensity ?? 1) * 100); AllowCustomScaling = RuntimeInformation.IsOSPlatform(OSPlatform.Windows); Save = new DelegateCommand(() => { themeManager.SetTheme(ThemeName); themeManager.UpdateCustomScaling(useCustomScaling ? ScalingValue : null); settings.UpdateSettings(ThemeName, UseCustomScaling ? Math.Clamp(ScalingValue, 0.5, 4) : null); IsModified = false; }); }
public ThemeChangerConfiguration(IThemeSettingsProvider settings, IThemeManager themeManager) { themeSettings = settings; this.themeManager = themeManager; }