void ExecuteAddVideoTitleFilterEntryCommand() { var entry = _videoFilteringRepository.CreateVideoTitleFiltering(); VideoTitleFilteringItems.Insert(0, new VideoFilteringTitleViewModel(entry, OnRemoveVideoTitleFilterEntry, _videoFilteringRepository, TestText)); }
public async Task MigrateAsync() { if (_appFlagsRepository.IsSettingMigrated_V_0_23_0) { return; } try { var hohoemaUserSettings = await HohoemaUserSettings.LoadSettings(ApplicationData.Current.LocalFolder); Debug.WriteLine("[Migrate] AppearanceSetting"); { var appearanceSettings = hohoemaUserSettings.AppearanceSettings; _appearanceSettings.Locale = appearanceSettings.Locale; _appearanceSettings.FirstAppearPageType = appearanceSettings.FirstAppearPageType; _appearanceSettings.OverrideInteractionMode = appearanceSettings.OverrideIntractionMode; _appearanceSettings.ApplicationTheme = appearanceSettings.Theme; } Debug.WriteLine("[Migrate] AppearanceSetting done"); Debug.WriteLine("[Migrate] RankingSetting"); { var rankingSettings = hohoemaUserSettings.RankingSettings; foreach (var favRankingTag in rankingSettings.FavoriteTags) { _videoRankingSettings.AddFavoriteTag(favRankingTag.Genre, favRankingTag.Tag, favRankingTag.Label); } Debug.WriteLine("[Migrate] RankingSetting FavoriteTag migrated. "); foreach (var hiddenRankingTag in rankingSettings.HiddenTags) { _videoRankingSettings.AddHiddenTag(hiddenRankingTag.Genre, hiddenRankingTag.Tag, hiddenRankingTag.Label); } Debug.WriteLine("[Migrate] RankingSetting HiddenTags migrated. "); foreach (var hiddenGenre in rankingSettings.HiddenGenres) { _videoRankingSettings.AddHiddenGenre(hiddenGenre); } Debug.WriteLine("[Migrate] RankingSetting HiddenGenres migrated. "); } Debug.WriteLine("[Migrate] RankingSetting done"); Debug.WriteLine("[Migrate] PinSetting"); { var pinSettings = hohoemaUserSettings.PinSettings; int index = 0; foreach (var pin in pinSettings.Pins) { _pinSettings.CreateItem(new Domain.Pins.HohoemaPin() { Label = pin.Label, Parameter = pin.Parameter, OverrideLabel = pin.OverrideLabel, PageType = pin.PageType, SortIndex = index }); index++; } } Debug.WriteLine("[Migrate] PinSetting done"); Debug.WriteLine("[Migrate] NGSetting(VideoFilteringSettings)"); { var ngSettings = hohoemaUserSettings.NGSettings; _videoFilteringRepository.NGVideoIdEnable = ngSettings.NGVideoIdEnable; _videoFilteringRepository.NGVideoOwnerUserIdEnable = ngSettings.NGVideoOwnerUserIdEnable; _videoFilteringRepository.NGVideoTitleKeywordEnable = ngSettings.NGVideoTitleKeywordEnable; foreach (var videoId in ngSettings.NGVideoIds) { _videoFilteringRepository.AddHiddenVideoId(videoId.VideoId, videoId.Description); } Debug.WriteLine("[Migrate] NGSetting ng video ids migrated"); foreach (var userId in ngSettings.NGVideoOwnerUserIds) { _videoFilteringRepository.AddHiddenVideoOwnerId(userId.UserId, userId.Description); } Debug.WriteLine("[Migrate] NGSetting ng video owner ids migrated"); foreach (var ngTitle in ngSettings.NGVideoTitleKeywords) { var titleEntry = _videoFilteringRepository.CreateVideoTitleFiltering(); titleEntry.Keyword = ngTitle.Keyword; _videoFilteringRepository.UpdateVideoTitleFiltering(titleEntry); } Debug.WriteLine("[Migrate] NGSetting ng video title migrated"); } Debug.WriteLine("[Migrate] NGSetting(VideoFilteringSettings) done"); { var ps = hohoemaUserSettings.PlayerSettings; _playerSettings.DefaultVideoQuality = ps.DefaultVideoQuality; _playerSettings.DefaultLiveQuality = ps.DefaultLiveQuality; _playerSettings.LiveWatchWithLowLatency = ps.LiveWatchWithLowLatency; _playerSettings.IsMute = ps.IsMute; _playerSettings.SoundVolume = ps.SoundVolume; _playerSettings.SoundVolumeChangeFrequency = ps.SoundVolumeChangeFrequency; _playerSettings.IsLoudnessCorrectionEnabled = ps.IsLoudnessCorrectionEnabled; _playerSettings.IsCommentDisplay_Video = ps.IsCommentDisplay_Video; _playerSettings.IsCommentDisplay_Live = ps.IsCommentDisplay_Live; _playerSettings.PauseWithCommentWriting = ps.PauseWithCommentWriting; _playerSettings.CommentDisplayDuration = ps.CommentDisplayDuration; _playerSettings.DefaultCommentFontScale = ps.DefaultCommentFontScale; _playerSettings.CommentOpacity = ps.CommentOpacity; _playerSettings.IsDefaultCommentWithAnonymous = ps.IsDefaultCommentWithAnonymous; _playerSettings.CommentColor = ps.CommentColor; _playerSettings.IsAutoHidePlayerControlUI = ps.IsAutoHidePlayerControlUI; _playerSettings.AutoHidePlayerControlUIPreventTime = ps.AutoHidePlayerControlUIPreventTime; _playerSettings.IsForceLandscape = ps.IsForceLandscape; _playerSettings.PlaybackRate = ps.PlaybackRate; _playerSettings.NicoScript_Default_Enabled = ps.NicoScript_Default_Enabled; _playerSettings.NicoScript_DisallowSeek_Enabled = ps.NicoScript_DisallowSeek_Enabled; _playerSettings.NicoScript_Jump_Enabled = ps.NicoScript_Jump_Enabled; _playerSettings.NicoScript_DisallowComment_Enabled = ps._NicoScript_DisallowComment_Enabled; _playerSettings.NicoScript_Replace_Enabled = ps.NicoScript_Replace_Enabled; _playerSettings.IsCurrentVideoLoopingEnabled = ps.IsCurrentVideoLoopingEnabled; _playerSettings.IsPlaylistLoopingEnabled = ps.IsPlaylistLoopingEnabled; _playerSettings.IsShuffleEnable = ps.IsShuffleEnable; _playerSettings.IsReverseModeEnable = ps.IsReverseModeEnable; _playerSettings.PlaylistEndAction = ps.PlaylistEndAction switch { Domain.Legacy.PlaylistEndAction.NothingDo => Domain.Player.PlaylistEndAction.NothingDo, Domain.Legacy.PlaylistEndAction.ChangeIntoSplit => Domain.Player.PlaylistEndAction.ChangeIntoSplit, Domain.Legacy.PlaylistEndAction.CloseIfPlayWithCurrentWindow => Domain.Player.PlaylistEndAction.CloseIfPlayWithCurrentWindow, _ => throw new NotSupportedException() }; _playerSettings.AutoMoveNextVideoOnPlaylistEmpty = ps.AutoMoveNextVideoOnPlaylistEmpty; } { var allSettings = new SettingsBase[] { hohoemaUserSettings.RankingSettings, hohoemaUserSettings.PlayerSettings, hohoemaUserSettings.PinSettings, hohoemaUserSettings.NGSettings, hohoemaUserSettings.CacheSettings, hohoemaUserSettings.AppearanceSettings, hohoemaUserSettings.ActivityFeedSettings }; hohoemaUserSettings.Dispose(); foreach (var setting in allSettings) { Debug.WriteLine("[Migrate] Delete legacy settings :" + setting.FileName); var file = await setting.GetFile(); await file.DeleteAsync(); } } } catch { } finally { _appFlagsRepository.IsSettingMigrated_V_0_23_0 = true; } }