public ThemeModifier(IPlayniteAPI api) : base(api) { settings = new ThemeModifierSettings(this); // Get plugin's location string pluginFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); // Add plugin localization in application ressource. PluginLocalization.SetPluginLanguage(pluginFolder, api.ApplicationSettings.Language); // Add common in application ressource. Common.Load(pluginFolder); Common.SetEvent(PlayniteApi); // Check version if (settings.EnableCheckVersion) { CheckVersion cv = new CheckVersion(); cv.Check("ThemeModifier", pluginFolder, api); } // Init ui interagration themeModifierUI = new ThemeModifierUI(api, this.GetPluginUserDataPath(), settings); // Theme default ThemeDefault = ThemeClass.GetThemeDefault(); ThemeDefaultConstants = ThemeClass.GetThemeDefaultConstants(PlayniteApi); // Theme actual if (ThemeDefaultConstants.Count > 0) { ThemeActualConstants = ThemeClass.GetThemeActualConstants(settings, PlayniteApi); } #if DEBUG logger.Debug($"ThemeModifier [Ignored] - ThemeDefault: {JsonConvert.SerializeObject(ThemeDefault)}"); logger.Debug($"ThemeModifier [Ignored] - ThemeDefaultConstants: {JsonConvert.SerializeObject(ThemeDefaultConstants)}"); logger.Debug($"ThemeModifier [Ignored] - ThemeActualConstants: {JsonConvert.SerializeObject(ThemeActualConstants)}"); #endif // Add modified values if (PlayniteApi.ApplicationInfo.Mode == ApplicationMode.Desktop) { ThemeClass.SetThemeSettings(settings); ThemeClass.SetThemeSettingsConstants(ThemeActualConstants); } // Features integration icoFeatures = new IcoFeatures(pluginFolder); // Add event fullScreen if (api.ApplicationInfo.Mode == ApplicationMode.Fullscreen) { EventManager.RegisterClassHandler(typeof(Button), Button.ClickEvent, new RoutedEventHandler(BtFullScreen_ClickEvent)); } }
public void CancelEdit() { // Code executed when user decides to cancel any changes made since BeginEdit was called. // This method should revert any changes made to Option1 and Option2. var savedSettings = plugin.LoadPluginSettings <ThemeModifierSettings>(); var settings = new ThemeModifierSettings(plugin); ThemeClass.RestoreColor(ThemeModifier.ThemeDefault, settings); ThemeClass.RestoreColor(ThemeModifier.ThemeDefault, savedSettings, true); ThemeClass.SetThemeSettingsConstants(ThemeModifier.ThemeDefaultConstants); ThemeClass.SetThemeSettingsConstants(ThemeModifier.ThemeActualConstants); }