private void BtSave_Click(object sender, RoutedEventArgs e) { GameLocalizations gameLocalizations = CheckLocalizations.PluginDatabase.GetOnlyCache(_game.Id); if (gameLocalizations == null) { _gameLocalizations = CheckLocalizations.PluginDatabase.GetDefault(_game); #if DEBUG logger.Debug($"CheckLocalizations [Ignored] - EditManual - Add: {JsonConvert.SerializeObject(_gameLocalizations)}"); #endif CheckLocalizations.PluginDatabase.Add(_gameLocalizations); } else { #if DEBUG logger.Debug($"CheckLocalizations [Ignored] - EditManual - Update: {JsonConvert.SerializeObject(_gameLocalizations)}"); #endif CheckLocalizations.PluginDatabase.Update(_gameLocalizations); } var TaskIntegrationUI = Task.Run(() => { CheckLocalizations.checkLocalizationsUI.RefreshElements(LocalizationsDatabase.GameSelected); }); ((Window)this.Parent).Close(); }
public CheckLocalizationsEditManual() { InitializeComponent(); _gameLocalizations = CheckLocalizations.PluginDatabase.GameSelectedData; _game = LocalizationsDatabase.GameSelected; #if DEBUG logger.Debug($"CheckLocalizations [Ignored] - EditManual All - {_game.Name} - _gameLocalizations: {JsonConvert.SerializeObject(_gameLocalizations)}"); #endif ListViewLanguages.ItemsSource = _gameLocalizations.Items.Where(x => x.IsManual).ToList(); #if DEBUG logger.Debug($"CheckLocalizations [Ignored] - EditManual IsManual only - {_game.Name} - _gameLocalizations: {JsonConvert.SerializeObject(ListViewLanguages.ItemsSource)}"); #endif RefreshAvailable(); }
public GameLocalizations GetLocalizations(Game game) { List <Localization> Localizations = pCGamingWikiLocalizations.GetLocalizations(game); if (Localizations.Count == 0) { Localizations = steamLocalizations.GetLocalizations(game); #if DEBUG logger.Debug($"CheckLocalizations [Ignored] - Used Steam for {game.Name} - {JsonConvert.SerializeObject(Localizations)}"); #endif } GameLocalizations gameLocalizations = CheckLocalizations.PluginDatabase.GetDefault(game); gameLocalizations.Items = Localizations; return(gameLocalizations); }
public override void RefreshElements(Game GameSelected, bool Force = false) { CancellationTokenSource tokenSource = new CancellationTokenSource(); CancellationToken ct = tokenSource.Token; Task TaskRefreshBtActionBar = Task.Run(() => { try { Initial(); // Reset resources List <ResourcesList> resourcesLists = new List <ResourcesList>(); resourcesLists.Add(new ResourcesList { Key = "Cl_HasData", Value = false }); resourcesLists.Add(new ResourcesList { Key = "Cl_HasNativeSupport", Value = false }); resourcesLists.Add(new ResourcesList { Key = "Cl_ListNativeSupport", Value = new List <Models.Localization>() }); ui.AddResources(resourcesLists); if (!PlayniteTools.IsGameEmulated(_PlayniteApi, GameSelected)) { // Load data if (!CheckLocalizations.PluginDatabase.IsLoaded) { return; } GameLocalizations gameLocalizations = CheckLocalizations.PluginDatabase.Get(GameSelected); if (gameLocalizations.HasData) { resourcesLists = new List <ResourcesList>(); resourcesLists.Add(new ResourcesList { Key = "Cl_HasData", Value = gameLocalizations.HasData }); resourcesLists.Add(new ResourcesList { Key = "Cl_HasNativeSupport", Value = gameLocalizations.HasNativeSupport() }); resourcesLists.Add(new ResourcesList { Key = "Cl_ListNativeSupport", Value = gameLocalizations.Items }); } else { logger.Warn($"CheckLocalizations - No data find for {GameSelected.Name}"); } // If not cancel, show if (!ct.IsCancellationRequested && GameSelected.Id == LocalizationsDatabase.GameSelected.Id) { ui.AddResources(resourcesLists); if (_PlayniteApi.ApplicationInfo.Mode == ApplicationMode.Desktop) { CheckLocalizations.PluginDatabase.SetCurrent(gameLocalizations); } } } else { logger.Info($"CheckLocalizations - No treatment for emulated game"); } } catch (Exception ex) { Common.LogError(ex, "CheckLocalizations", $"Error on TaskRefreshBtActionBar()"); } }, ct); taskHelper.Add(TaskRefreshBtActionBar, tokenSource); }
public void ConvertDB(IPlayniteAPI PlayniteApi) { GlobalProgressOptions globalProgressOptions = new GlobalProgressOptions( "CheckLocalizations - Database migration", false ); globalProgressOptions.IsIndeterminate = true; PlayniteApi.Dialogs.ActivateGlobalProgress((activateGlobalProgress) => { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); logger.Info($"CheckLocalizations - ConvertDB()"); int Converted = 0; foreach (var item in Items) { try { if (PlayniteApi.Database.Games.Get(item.Key) != null) { GameLocalizations gameLocalizations = CheckLocalizations.PluginDatabase.Get(item.Key, true); foreach (var localization in item.Value) { gameLocalizations.Items.Add(new Localization { Language = localization.Language, Audio = localization.Audio, Ui = localization.Ui, Sub = localization.Sub, IsManual = false, Notes = localization.Notes }); } ItemsManual.TryGetValue(item.Key, out List <GameLocalizationOld> localizationManual); if (localizationManual != null && localizationManual.Count > 0) { foreach (var localization in localizationManual) { gameLocalizations.Items.Add(new Localization { Language = localization.Language, Audio = localization.Audio, Ui = localization.Ui, Sub = localization.Sub, IsManual = true, Notes = localization.Notes }); } } Thread.Sleep(10); CheckLocalizations.PluginDatabase.Add(gameLocalizations); Converted++; } else { logger.Warn($"CheckLocalizations - Game is deleted - {item.Key.ToString()}"); } } catch (Exception ex) { Common.LogError(ex, "CheckLocalizations", $"Failed to load ConvertDB from {item.Key.ToString()}"); } } logger.Info($"CheckLocalizations - Converted {Converted} / {Items.Count}"); stopWatch.Stop(); TimeSpan ts = stopWatch.Elapsed; logger.Info($"CheckLocalizations - Migration - {String.Format("{0:00}:{1:00}.{2:00}", ts.Minutes, ts.Seconds, ts.Milliseconds / 10)}"); }, globalProgressOptions); IsOld = false; }