public PlayniteAPI( IGameDatabaseAPI databaseApi, IDialogsFactory dialogs, IMainViewAPI mainViewApi, IPlayniteInfoAPI infoApi, IPlaynitePathsAPI pathsApi, IWebViewFactory webViewFactory, IResourceProvider resources, INotificationsAPI notifications, GamesEditor gameEditor, IUriHandlerAPI uriHandler, IPlayniteSettingsAPI settingsApi, IAddons addonsApi, IEmulationAPI emulation, ExtensionFactory extensions) { WebViews = webViewFactory; Paths = pathsApi; ApplicationInfo = infoApi; MainView = mainViewApi; Dialogs = dialogs; Database = databaseApi; Resources = resources; Notifications = notifications; this.gameEditor = gameEditor; UriHandler = uriHandler; ApplicationSettings = settingsApi; Addons = addonsApi; Emulation = emulation; this.extensions = extensions; SDK.API.Instance = this; }
public PlayniteAPI( IGameDatabaseAPI databaseApi, IDialogsFactory dialogs, IMainViewAPI mainViewApi, IPlayniteInfoAPI infoApi, IPlaynitePathsAPI pathsApi, IWebViewFactory webViewFactory, IResourceProvider resources, INotificationsAPI notifications, GamesEditor gameEditor, IUriHandlerAPI uriHandler, IPlayniteSettingsAPI settingsApi) { WebViews = webViewFactory; Paths = pathsApi; ApplicationInfo = infoApi; MainView = mainViewApi; Dialogs = dialogs; Database = databaseApi; Resources = resources; Notifications = notifications; this.gameEditor = gameEditor; UriHandler = uriHandler; ApplicationSettings = settingsApi; }
public PlayniteAPI( IGameDatabaseAPI database, IMainViewAPI mainView, IPlayniteInfoAPI info, IPlaynitePathsAPI paths, IResourceProvider resources, INotificationsAPI notifications) { Paths = paths; ApplicationInfo = info; MainView = mainView; Database = database; Resources = resources; Notifications = notifications; Logger = new LoggerFactory().CreateLogger <PlayniteAPI>(); }
public PlayniteAPI( IGameDatabaseAPI databaseApi, IDialogsFactory dialogs, IMainViewAPI mainViewApi, IPlayniteInfoAPI infoApi, IPlaynitePathsAPI pathsApi, IWebViewFactory webViewFactory, IResourceProvider resources) { WebViews = webViewFactory; Paths = pathsApi; ApplicationInfo = infoApi; MainView = mainViewApi; Dialogs = dialogs; Database = databaseApi; Resources = resources; }
protected override void OnClosing(CancelEventArgs e) { AchievementsDatabase = null; PlayniteApi = null; PlayniteApiDatabase = null; PlayniteApiPaths = null; ListviewGames.ItemsSource = null; ListviewGames.UpdateLayout(); SuccessStory_Achievements_List.Children.Clear(); SuccessStory_Achievements_List.UpdateLayout(); SuccessStory_Achievements_Graphics_Game.Children.Clear(); SuccessStory_Achievements_Graphics_Game.UpdateLayout(); GC.Collect(); }
public SuccessView(SuccessStory plugin, IPlayniteAPI PlayniteApi, string PluginUserDataPath, bool isRetroAchievements = false, Game GameSelected = null) { _plugin = plugin; _PlayniteApi = PlayniteApi; _PlayniteApiDatabase = PlayniteApi.Database; _PlayniteApiPaths = PlayniteApi.Paths; _PluginUserDataPath = PluginUserDataPath; InitializeComponent(); PART_DataLoad.Visibility = Visibility.Visible; PART_Data.Visibility = Visibility.Hidden; var TaskView = Task.Run(() => { GetListGame(); SetGraphicsAchievementsSources(); this.Dispatcher.BeginInvoke((Action) delegate { // Block hidden column. lvProgressionValue.IsEnabled = false; lvSourceName.IsEnabled = false; pbProgressionGlobalCount.Value = PluginDatabase.Progession().Unlocked; pbProgressionGlobalCount.Maximum = PluginDatabase.Progession().Total; labelProgressionGlobalCount.Content = PluginDatabase.Progession().Progression + "%"; pbProgressionLaunchedCount.Value = PluginDatabase.ProgessionLaunched().Unlocked; pbProgressionLaunchedCount.Maximum = PluginDatabase.ProgessionLaunched().Total; labelProgressionLaunchedCount.Content = PluginDatabase.ProgessionLaunched().Progression + "%"; GraphicTitle.Content = string.Empty; // lvGames options if (!PluginDatabase.PluginSettings.lvGamesIcon100Percent) { lvGameIcon100Percent.Width = 0; } if (!PluginDatabase.PluginSettings.lvGamesIcon) { lvGameIcon.Width = 0; } if (!PluginDatabase.PluginSettings.lvGamesName) { lvGameName.Width = 0; } if (!PluginDatabase.PluginSettings.lvGamesLastSession) { lvGameLastActivity.Width = 0; } if (!PluginDatabase.PluginSettings.lvGamesSource) { lvGamesSource.Width = 0; } if (!PluginDatabase.PluginSettings.lvGamesProgression) { lvGameProgression.Width = 0; } int limit = 5; GraphicTitleALL.Content = resources.GetString("LOCSuccessStoryGraphicTitleALL"); SuccessStory_Achievements_Graphics.Children.Clear(); PluginDatabase.PluginSettings.IgnoreSettings = true; SuccessStoryAchievementsGraphics successStoryAchievementsGraphics = new SuccessStoryAchievementsGraphics(); successStoryAchievementsGraphics.SetScData(null, limit, true); SuccessStory_Achievements_Graphics.Children.Add(successStoryAchievementsGraphics); SuccessStory_Achievements_Graphics.UpdateLayout(); // Set game selected if (GameSelected != null) { for (int i = 0; i < ListviewGames.Items.Count; i++) { if (((ListViewGames)ListviewGames.Items[i]).Name == GameSelected.Name) { ListviewGames.SelectedIndex = i; } } } ListviewGames.ScrollIntoView(ListviewGames.SelectedItem); string icon = string.Empty; if (PluginDatabase.PluginSettings.EnableRetroAchievementsView && PluginDatabase.PluginSettings.EnableRetroAchievements) { if (isRetroAchievements) { PART_GraphicBySource.Visibility = Visibility.Collapsed; Grid.SetColumn(PART_GraphicAllUnlocked, 0); Grid.SetColumnSpan(PART_GraphicAllUnlocked, 3); if (PluginDatabase.PluginSettings.EnableRetroAchievements) { icon = TransformIcon.Get("RetroAchievements") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "RetroAchievements", SourceNameShort = "RetroAchievements", IsCheck = false }); } } else { if (PluginDatabase.PluginSettings.EnableLocal) { icon = TransformIcon.Get("Playnite") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Playnite", SourceNameShort = "Playnite", IsCheck = false }); icon = TransformIcon.Get("Hacked") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Hacked", SourceNameShort = "Hacked", IsCheck = false }); } if (PluginDatabase.PluginSettings.EnableSteam) { icon = TransformIcon.Get("Steam") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Steam", SourceNameShort = "Steam", IsCheck = false }); } if (PluginDatabase.PluginSettings.EnableGog) { icon = TransformIcon.Get("GOG") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "GOG", SourceNameShort = "GOG", IsCheck = false }); } if (PluginDatabase.PluginSettings.EnableOrigin) { icon = TransformIcon.Get("Origin") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Origin", SourceNameShort = "Origin", IsCheck = false }); } if (PluginDatabase.PluginSettings.EnableXbox) { icon = TransformIcon.Get("Xbox") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Xbox", SourceNameShort = "Xbox", IsCheck = false }); } if (PluginDatabase.PluginSettings.EnableRpcs3Achievements) { icon = TransformIcon.Get("Rpcs3") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Rpcs3", SourceNameShort = "Rpcs3", IsCheck = false }); } if (PluginDatabase.PluginSettings.EnableManual) { icon = TransformIcon.Get("Manual") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Manual", SourceNameShort = "Manual", IsCheck = false }); } } } else { if (PluginDatabase.PluginSettings.EnableLocal) { icon = TransformIcon.Get("Playnite") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Playnite", SourceNameShort = "Playnite", IsCheck = false }); icon = TransformIcon.Get("Hacked") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Hacked", SourceNameShort = "Hacked", IsCheck = false }); } if (PluginDatabase.PluginSettings.EnableSteam) { icon = TransformIcon.Get("Steam") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Steam", SourceNameShort = "Steam", IsCheck = false }); } if (PluginDatabase.PluginSettings.EnableGog) { icon = TransformIcon.Get("GOG") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "GOG", SourceNameShort = "GOG", IsCheck = false }); } if (PluginDatabase.PluginSettings.EnableOrigin) { icon = TransformIcon.Get("Origin") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Origin", SourceNameShort = "Origin", IsCheck = false }); } if (PluginDatabase.PluginSettings.EnableXbox) { icon = TransformIcon.Get("Xbox") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Xbox", SourceNameShort = "Xbox", IsCheck = false }); } if (PluginDatabase.PluginSettings.EnableRetroAchievements) { icon = TransformIcon.Get("RetroAchievements") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "RetroAchievements", SourceNameShort = "RetroAchievements", IsCheck = false }); } if (PluginDatabase.PluginSettings.EnableRpcs3Achievements) { icon = TransformIcon.Get("RPCS3") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "RPCS3", SourceNameShort = "Rpcs3", IsCheck = false }); } if (PluginDatabase.PluginSettings.EnableManual) { icon = TransformIcon.Get("Manual") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Manual", SourceNameShort = "Manual", IsCheck = false }); } } FilterSource.ItemsSource = FilterSourceItems; // Set Binding data DataContext = this; PART_DataLoad.Visibility = Visibility.Hidden; PART_Data.Visibility = Visibility.Visible; }); }); }
public SuccessView(SuccessStorySettings settings, IPlayniteAPI PlayniteApi, string PluginUserDataPath, Game GameSelected = null) { this.PlayniteApi = PlayniteApi; PlayniteApiDatabase = PlayniteApi.Database; PlayniteApiPaths = PlayniteApi.Paths; this.settings = settings; this.PluginUserDataPath = PluginUserDataPath; AchievementsDatabase = new AchievementsDatabase(PlayniteApi, settings, PluginUserDataPath); AchievementsDatabase.Initialize(); InitializeComponent(); // Block hidden column. lvProgressionValue.IsEnabled = false; lvSourceName.IsEnabled = false; pbProgressionGlobalCount.Value = AchievementsDatabase.Progession().Unlocked; pbProgressionGlobalCount.Maximum = AchievementsDatabase.Progession().Total; labelProgressionGlobalCount.Content = AchievementsDatabase.Progession().Progression + "%"; pbProgressionLaunchedCount.Value = AchievementsDatabase.ProgessionLaunched().Unlocked; pbProgressionLaunchedCount.Maximum = AchievementsDatabase.ProgessionLaunched().Total; labelProgressionLaunchedCount.Content = AchievementsDatabase.ProgessionLaunched().Progression + "%"; GetListGame(); AchievementsGraphicsDataCount GraphicsData = null; if (settings.GraphicAllUnlockedByMonth) { GraphicTitleALL.Content = resources.GetString("LOCSucessStoryGraphicTitleALL"); GraphicsData = AchievementsDatabase.GetCountByMonth(null, 7); } else { GraphicTitleALL.Content = resources.GetString("LOCSucessStoryGraphicTitleALLDay"); GraphicsData = AchievementsDatabase.GetCountByDay(); } string[] StatsGraphicsAchievementsLabels = GraphicsData.Labels; SeriesCollection StatsGraphicAchievementsSeries = new SeriesCollection(); StatsGraphicAchievementsSeries.Add(new LineSeries { Title = "", Values = GraphicsData.Series }); SuccessStory_Achievements_Graphics.Children.Clear(); SuccessStory_Achievements_Graphics.Children.Add(new SuccessStoryAchievementsGraphics(StatsGraphicAchievementsSeries, StatsGraphicsAchievementsLabels)); SuccessStory_Achievements_Graphics.UpdateLayout(); // Set game selected if (GameSelected != null) { for (int i = 0; i < ListviewGames.Items.Count; i++) { if (((ListGames)ListviewGames.Items[i]).Name == GameSelected.Name) { ListviewGames.SelectedIndex = i; } } } ListviewGames.ScrollIntoView(ListviewGames.SelectedItem); if (settings.EnableLocal) { //FilterSource.Items.Add(new { SourceName = "Playnite", IsCheck = false }); FilterSourceItems.Add(new ListSource { SourceName = "Playnite", IsCheck = false }); } if (settings.EnableSteam) { //FilterSource.Items.Add(new { SourceName = "Steam", IsCheck = false }); FilterSourceItems.Add(new ListSource { SourceName = "Steam", IsCheck = false }); } if (settings.EnableGog) { //FilterSource.Items.Add(new { SourceName = "GOG", IsCheck = false }); FilterSourceItems.Add(new ListSource { SourceName = "GOG", IsCheck = false }); } if (settings.EnableOrigin) { //FilterSource.Items.Add(new { SourceName = "Origin", IsCheck = false }); FilterSourceItems.Add(new ListSource { SourceName = "Origin", IsCheck = false }); } if (settings.EnableOrigin) { //FilterSource.Items.Add(new { SourceName = "Origin", IsCheck = false }); FilterSourceItems.Add(new ListSource { SourceName = "RetroAchievements", IsCheck = false }); } //FilterSource.UpdateLayout(); FilterSource.ItemsSource = FilterSourceItems; SetGraphicsAchievementsSources(); // Set Binding data DataContext = this; }
public GameActivityView(GameActivitySettings settings, IPlayniteAPI PlayniteApi, string pathExtData, Game GameSelected = null) { this.PlayniteApi = PlayniteApi; dbPlaynite = PlayniteApi.Database; pathsPlaynite = PlayniteApi.Paths; this.settings = settings; pathExtentionData = pathExtData; pathActivityDB = pathExtentionData + "\\activity\\"; pathActivityDetailsDB = pathExtentionData + "\\activityDetails\\"; // Set dates variables yearCurrent = DateTime.Now.Year; monthCurrent = DateTime.Now.Month; // Initialization components InitializeComponent(); if (!settings.EnableLogging) { ToggleButtonTime.Visibility = Visibility.Hidden; ToggleButtonLog.Visibility = Visibility.Hidden; } // Block hidden column. lvElapsedSeconds.IsEnabled = false; // Add column if log details enable. if (!settings.EnableLogging) { GridView lvView = (GridView)lvGames.View; lvView.Columns.RemoveAt(10); lvView.Columns.RemoveAt(9); lvView.Columns.RemoveAt(8); lvView.Columns.RemoveAt(7); lvView.Columns.RemoveAt(6); lvView.Columns.RemoveAt(5); lvView.Columns.RemoveAt(4); lvGames.View = lvView; } // Sorting default. _lastDirection = ListSortDirection.Descending; _lastHeaderClicked = lvLastActivity; _lastHeaderClicked.Content += " ▼"; // Graphics game details activities. activityForGamesGraphics.Visibility = Visibility.Hidden; activityLabel.Content = new DateTime(yearCurrent, monthCurrent, 1).ToString("MMMM yyyy"); #region Get Datas listSources = getListSourcesName(); GameActivityDatabases = new GameActivityCollection(); GameActivityDatabases.InitializeCollection(pathExtData); #endregion #region Get & set datas getActivityByMonth(yearCurrent, monthCurrent); getActivityByWeek(yearCurrent, monthCurrent); getActivityByListGame(); #endregion // Set game selected if (GameSelected != null) { for (int i = 0; i < lvGames.Items.Count; i++) { if (((listGame)lvGames.Items[i]).listGameTitle == GameSelected.Name) { lvGames.SelectedIndex = i; } } } lvGames.ScrollIntoView(lvGames.SelectedItem); // Set Binding data ShowIcon = this.settings.showLauncherIcons; DataContext = this; }
public SuccessView(SuccessStory plugin, SuccessStorySettings settings, IPlayniteAPI PlayniteApi, string PluginUserDataPath, bool isRetroAchievements = false, Game GameSelected = null) { this.plugin = plugin; this._PlayniteApi = PlayniteApi; _PlayniteApiDatabase = PlayniteApi.Database; _PlayniteApiPaths = PlayniteApi.Paths; this.settings = settings; this.PluginUserDataPath = PluginUserDataPath; InitializeComponent(); PART_DataLoad.Visibility = Visibility.Visible; PART_Data.Visibility = Visibility.Hidden; var TaskView = Task.Run(() => { AchievementsDb = new AchievementsDatabase(plugin, PlayniteApi, settings, PluginUserDataPath, isRetroAchievements); AchievementsDb.Initialize(false); GetListGame(); SetGraphicsAchievementsSources(); AchievementsGraphicsDataCount GraphicsData = null; if (settings.GraphicAllUnlockedByMonth) { GraphicsData = AchievementsDb.GetCountByMonth(null, 6); } else { GraphicsData = AchievementsDb.GetCountByDay(null, 5); } Application.Current.Dispatcher.BeginInvoke((Action) delegate { // Block hidden column. lvProgressionValue.IsEnabled = false; lvSourceName.IsEnabled = false; pbProgressionGlobalCount.Value = AchievementsDb.Progession().Unlocked; pbProgressionGlobalCount.Maximum = AchievementsDb.Progession().Total; labelProgressionGlobalCount.Content = AchievementsDb.Progession().Progression + "%"; pbProgressionLaunchedCount.Value = AchievementsDb.ProgessionLaunched().Unlocked; pbProgressionLaunchedCount.Maximum = AchievementsDb.ProgessionLaunched().Total; labelProgressionLaunchedCount.Content = AchievementsDb.ProgessionLaunched().Progression + "%"; GraphicTitle.Content = string.Empty; // lvGames options if (!settings.lvGamesIcon100Percent) { lvGameIcon100Percent.Width = 0; } if (!settings.lvGamesIcon) { lvGameIcon.Width = 0; } if (!settings.lvGamesName) { lvGameName.Width = 0; } if (!settings.lvGamesLastSession) { lvGameLastActivity.Width = 0; } if (!settings.lvGamesSource) { lvGamesSource.Width = 0; } if (!settings.lvGamesProgression) { lvGameProgression.Width = 0; } if (settings.GraphicAllUnlockedByMonth) { GraphicTitleALL.Content = resources.GetString("LOCSuccessStoryGraphicTitleALL"); } else { GraphicTitleALL.Content = resources.GetString("LOCSuccessStoryGraphicTitleALLDay"); } string[] StatsGraphicsAchievementsLabels = GraphicsData.Labels; SeriesCollection StatsGraphicAchievementsSeries = new SeriesCollection(); StatsGraphicAchievementsSeries.Add(new LineSeries { Title = string.Empty, Values = GraphicsData.Series }); SuccessStory_Achievements_Graphics.Children.Clear(); settings.IgnoreSettings = true; SuccessStory_Achievements_Graphics.Children.Add(new SuccessStoryAchievementsGraphics(StatsGraphicAchievementsSeries, StatsGraphicsAchievementsLabels, settings)); SuccessStory_Achievements_Graphics.UpdateLayout(); // Set game selected if (GameSelected != null) { for (int i = 0; i < ListviewGames.Items.Count; i++) { if (((ListViewGames)ListviewGames.Items[i]).Name == GameSelected.Name) { ListviewGames.SelectedIndex = i; } } } ListviewGames.ScrollIntoView(ListviewGames.SelectedItem); string icon = string.Empty; if (settings.EnableRetroAchievementsView && settings.EnableRetroAchievements) { if (isRetroAchievements) { PART_GraphicBySource.Visibility = Visibility.Collapsed; Grid.SetColumn(PART_GraphicAllUnlocked, 0); Grid.SetColumnSpan(PART_GraphicAllUnlocked, 3); if (settings.EnableRetroAchievements) { icon = TransformIcon.Get("RetroAchievements") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "RetroAchievements", SourceNameShort = "RetroAchievements", IsCheck = false }); } } else { if (settings.EnableLocal) { icon = TransformIcon.Get("Playnite") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Playnite", SourceNameShort = "Playnite", IsCheck = false }); } if (settings.EnableSteam) { icon = TransformIcon.Get("Steam") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Steam", SourceNameShort = "Steam", IsCheck = false }); } if (settings.EnableGog) { icon = TransformIcon.Get("GOG") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "GOG", SourceNameShort = "GOG", IsCheck = false }); } if (settings.EnableOrigin) { icon = TransformIcon.Get("Origin") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Origin", SourceNameShort = "Origin", IsCheck = false }); } if (settings.EnableXbox) { icon = TransformIcon.Get("Xbox") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Xbox", SourceNameShort = "Xbox", IsCheck = false }); } } } else { if (settings.EnableLocal) { icon = TransformIcon.Get("Playnite") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Playnite", SourceNameShort = "Playnite", IsCheck = false }); } if (settings.EnableSteam) { icon = TransformIcon.Get("Steam") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Steam", SourceNameShort = "Steam", IsCheck = false }); } if (settings.EnableGog) { icon = TransformIcon.Get("GOG") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "GOG", SourceNameShort = "GOG", IsCheck = false }); } if (settings.EnableOrigin) { icon = TransformIcon.Get("Origin") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Origin", SourceNameShort = "Origin", IsCheck = false }); } if (settings.EnableXbox) { icon = TransformIcon.Get("Xbox") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "Xbox", SourceNameShort = "Xbox", IsCheck = false }); } if (settings.EnableRetroAchievements) { icon = TransformIcon.Get("RetroAchievements") + " "; FilterSourceItems.Add(new ListSource { SourceName = ((icon.Length == 2) ? icon : string.Empty) + "RetroAchievements", SourceNameShort = "RetroAchievements", IsCheck = false }); } } FilterSource.ItemsSource = FilterSourceItems; // Set Binding data DataContext = this; PART_DataLoad.Visibility = Visibility.Hidden; PART_Data.Visibility = Visibility.Visible; }); }); }