using DownKyi.Core.Settings; using DownKyi.Utils; using Prism.Commands; using Prism.Services.Dialogs; using System; using System.Windows; namespace DownKyi.ViewModels.Dialogs { public class ViewParsingSelectorViewModel : BaseDialogViewModel { public const string Tag = "DialogParsingSelector"; #region 页面属性申明 private bool isParseDefault; public bool IsParseDefault { get { return isParseDefault; } set { SetProperty(ref isParseDefault, value); } } #endregion public ViewParsingSelectorViewModel() { #region 属性初始化 Title = DictionaryResource.GetString("ParsingSelector"); // 解析范围 ParseScope parseScope = SettingsManager.GetInstance().GetParseScope(); IsParseDefault = parseScope != ParseScope.NONE; #endregion } #region 命令申明 // 解析当前项事件 private DelegateCommand parseSelectedItemCommand; public DelegateCommand ParseSelectedItemCommand => parseSelectedItemCommand ?? (parseSelectedItemCommand = new DelegateCommand(ExecuteParseSelectedItemCommand)); /// /// 解析当前项事件 /// private void ExecuteParseSelectedItemCommand() { SetParseScopeSetting(ParseScope.SELECTED_ITEM); ButtonResult result = ButtonResult.OK; IDialogParameters parameters = new DialogParameters { { "parseScope", ParseScope.SELECTED_ITEM } }; RaiseRequestClose(new DialogResult(result, parameters)); } // 解析当前页视频事件 private DelegateCommand parseCurrentSectionCommand; public DelegateCommand ParseCurrentSectionCommand => parseCurrentSectionCommand ?? (parseCurrentSectionCommand = new DelegateCommand(ExecuteParseCurrentSectionCommand)); /// /// 解析当前页视频事件 /// private void ExecuteParseCurrentSectionCommand() { SetParseScopeSetting(ParseScope.CURRENT_SECTION); ButtonResult result = ButtonResult.OK; IDialogParameters parameters = new DialogParameters { { "parseScope", ParseScope.CURRENT_SECTION } }; RaiseRequestClose(new DialogResult(result, parameters)); } // 解析所有视频事件 private DelegateCommand parseAllCommand; public DelegateCommand ParseAllCommand => parseAllCommand ?? (parseAllCommand = new DelegateCommand(ExecuteParseAllCommand)); /// /// 解析所有视频事件 /// private void ExecuteParseAllCommand() { SetParseScopeSetting(ParseScope.ALL); ButtonResult result = ButtonResult.OK; IDialogParameters parameters = new DialogParameters { { "parseScope", ParseScope.ALL } }; RaiseRequestClose(new DialogResult(result, parameters)); } #endregion /// /// 写入设置 /// /// private void SetParseScopeSetting(ParseScope parseScope) { if (IsParseDefault) { SettingsManager.GetInstance().SetParseScope(parseScope); } else { SettingsManager.GetInstance().SetParseScope(ParseScope.NONE); } } } }