예제 #1
0
        private void LoadXmlSettings()
        {
            Globals.NsfwEnabled = ModifyUserSettings.LoadUserSettings().NsfwEnabled;
            Globals.MaxSpoiler  = ModifyUserSettings.LoadUserSettings().MaxSpoilerLevel;

            LoadAccentColor();
        }
        private void ResetSettings()
        {
            var msg = new NotificationMessageAction <MessageBoxResult>(this, "Reset Settings", (r) =>
            {
                if (r == MessageBoxResult.Yes)
                {
                    UserSettings userSettings = new UserSettings();
                    File.Delete(Globals.DirectoryPath + @"/Data/config/config.xml");
                    userSettings.NsfwEnabled     = false;
                    userSettings.MaxSpoilerLevel = 0;
                    ModifyUserSettings.SaveUserSettings(userSettings);

                    var cvm  = ServiceLocator.Current.GetInstance <VnCharacterViewModel>();
                    var ssvm = ServiceLocator.Current.GetInstance <VnScreenshotViewModel>();
                    var rvm  = ServiceLocator.Current.GetInstance <VnReleaseViewModel>();
                    var mvm  = ServiceLocator.Current.GetInstance <VnMainViewModel>();

                    mvm.BindVnDataPublic();
                    cvm.ClearCharacterDataCommand.Execute(null);
                    cvm.LoadCharacterCommand.Execute(null);
                    rvm.ClearReleaseDataCommand.Execute(null);
                    rvm.LoadReleaseNamesCommand.Execute(null);
                    ssvm.BindScreenshotsCommand.Execute(null);

                    Messenger.Default.Send(new NotificationMessage("Reset Settings"));
                }
            });

            Messenger.Default.Send(msg);
        }
        private void SaveSettings()
        {
            Globals.NsfwEnabled = SelectedNsfwEnabled;
            Globals.MaxSpoiler  = SpoilerLevel;

            UserSettings userSettings = new UserSettings
            {
                NsfwEnabled     = SelectedNsfwEnabled,
                MaxSpoilerLevel = SpoilerLevel,
                AccentColor     = AppearanceManager.Current.AccentColor.ToString()
            };

            ModifyUserSettings.SaveUserSettings(userSettings);

            var cvm  = ServiceLocator.Current.GetInstance <VnCharacterViewModel>();
            var ssvm = ServiceLocator.Current.GetInstance <VnScreenshotViewModel>();
            var rvm  = ServiceLocator.Current.GetInstance <VnReleaseViewModel>();
            var mvm  = ServiceLocator.Current.GetInstance <VnMainViewModel>();

            mvm.BindVnDataPublic();
            cvm.ClearCharacterDataCommand.Execute(null);
            cvm.LoadCharacterCommand.Execute(null);
            rvm.ClearReleaseDataCommand.Execute(null);
            rvm.LoadReleaseNamesCommand.Execute(null);
            ssvm.BindScreenshotsCommand.Execute(null);

            Messenger.Default.Send(new NotificationMessage("Saved Settings"));
        }
        private static string ReplaceSpoilers(string text)
        {
            try
            {
                List <string> spoilerList = new List <string>();
                string        rawText     = text;
                Regex         regex       = new Regex(@"\[spoiler\](.*)\[\/spoiler\]");
                foreach (Match match in regex.Matches(text))
                {
                    rawText = rawText.Replace(match.Groups[0].ToString(), match.Groups[1].ToString());
                    spoilerList.Add(match.Groups[1].ToString());
                }

                UserSettings settings = ModifyUserSettings.LoadUserSettings();
                if (settings.VnSetting != null)
                {
                    if (!settings.VnSetting.Id.Equals(Globals.VnId) || settings.VnSetting.Spoiler < 2)
                    {
                        //intentionally left blank
                    }
                }
                else
                {
                    rawText = spoilerList.Aggregate(rawText,
                                                    (current, spoiler) => current.Replace(spoiler, "<Content hidden by spoiler setting>"));
                }
                return(rawText);
            }
            catch (Exception ex)
            {
                Globals.Logger.Error(ex);
                throw;
            }
        }
예제 #5
0
        private void LoadAccentColor()
        {
            string colorString = ModifyUserSettings.LoadUserSettings().AccentColor;

            if (!string.IsNullOrEmpty(colorString) && Regex.IsMatch(colorString, "#[0-9A-F]{3,8}"))
            {
                AppearanceManager.Current.AccentColor = (Color)ColorConverter.ConvertFromString(colorString);
            }
        }
예제 #6
0
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            UserSettings userSettings = new UserSettings
            {
                NsfwEnabled     = false,
                MaxSpoilerLevel = 2,
                VnSetting       = new VnSetting
                {
                    Id      = 11,
                    Spoiler = 3
                }
            };

            ModifyUserSettings.SaveUserSettings(userSettings);


            var foo  = ModifyUserSettings.LoadUserSettings();
            var test = foo.ToString();

            ModifyUserSettings.RemoveUserSettingsNode(11);
        }
예제 #7
0
        private void CheckXmlConfig()
        {
            UserSettings userSettings = new UserSettings();

            if (!File.Exists(Globals.DirectoryPath + @"/Data/config/config.xml"))
            {
                userSettings.NsfwEnabled     = false;
                userSettings.MaxSpoilerLevel = 0;
                ModifyUserSettings.SaveUserSettings(userSettings);
            }
            UserSettings settings = ModifyUserSettings.LoadUserSettings();

            if (settings != null)
            {
                return;
            }
            File.Delete(Globals.DirectoryPath + @"/Data/config/config.xml");
            userSettings.NsfwEnabled     = false;
            userSettings.MaxSpoilerLevel = 0;
            ModifyUserSettings.SaveUserSettings(userSettings);
        }
 /// <inheritdoc/>
 public async Task ModifySettings(ModifyUserSettings modifySettings)
 => await _quarrelClient.Self.ModifySettings(modifySettings);
예제 #9
0
 /// <summary>
 /// Modifies user settings.
 /// </summary>
 /// <param name="modifySettings">The settings modifications.</param>
 public async Task ModifySettings(ModifyUserSettings modifySettings)
 {
     Guard.IsNotNull(_client.UserService, nameof(_client.UserService));
     await _client.MakeRefitRequest(() => _client.UserService.UpdateSettings(modifySettings.ToJsonModel()));
 }