Example #1
0
        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();
        }
Example #2
0
        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();
        }
Example #3
0
        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);
        }
Example #5
0
        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;
        }