From cdbdae09c743aaab4ec19e34e2617faf6f8cf4bd Mon Sep 17 00:00:00 2001 From: Demo_Liu Date: Sun, 18 Jul 2021 20:10:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=83=A8=E5=88=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81,=E5=B0=9D=E8=AF=95=E4=BF=AE=E5=A4=8D=E7=83=AD?= =?UTF-8?q?=E9=94=AE=E5=9B=9E=E8=B0=83=E5=A4=9A=E6=AC=A1bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Constant/UpdateType.cs | 17 ++++ Control/Other/BacklogNotificatin.xaml.cs | 18 ++-- Control/UserControls/Config/AboutControl.xaml | 7 +- .../UserControls/Config/MotionControl.xaml | 17 +++- .../UserControls/Config/MotionControl.xaml.cs | 86 +++++++++++++++--- .../TodoControl.xaml} | 2 +- .../TodoControl.xaml.cs} | 12 +-- ...logInfoWindow.xaml => ToDoInfoWindow.xaml} | 2 +- ...oWindow.xaml.cs => ToDoInfoWindow.xaml.cs} | 46 ++++++---- .../{BacklogWindow.xaml => ToDoWindow.xaml} | 2 +- ...cklogWindow.xaml.cs => ToDoWindow.xaml.cs} | 16 ++-- Converts/UpdateTypeConvert.cs | 29 ++++++ GeekDesk.csproj | 24 ++--- MainWindow.xaml.cs | 90 +++++++++++++++---- Task/{BacklogTask.cs => ToDoTask.cs} | 12 +-- ViewModel/AppConfig.cs | 61 +++++++++++++ ViewModel/AppData.cs | 28 +++--- ViewModel/{BacklogInfo.cs => ToDoInfo.cs} | 2 +- 18 files changed, 359 insertions(+), 112 deletions(-) create mode 100644 Constant/UpdateType.cs rename Control/UserControls/{Backlog/BacklogControl.xaml => ToDo/TodoControl.xaml} (97%) rename Control/UserControls/{Backlog/BacklogControl.xaml.cs => ToDo/TodoControl.xaml.cs} (83%) rename Control/Windows/{BacklogInfoWindow.xaml => ToDoInfoWindow.xaml} (98%) rename Control/Windows/{BacklogInfoWindow.xaml.cs => ToDoInfoWindow.xaml.cs} (76%) rename Control/Windows/{BacklogWindow.xaml => ToDoWindow.xaml} (98%) rename Control/Windows/{BacklogWindow.xaml.cs => ToDoWindow.xaml.cs} (85%) create mode 100644 Converts/UpdateTypeConvert.cs rename Task/{BacklogTask.cs => ToDoTask.cs} (72%) rename ViewModel/{BacklogInfo.cs => ToDoInfo.cs} (97%) diff --git a/Constant/UpdateType.cs b/Constant/UpdateType.cs new file mode 100644 index 0000000..6cbb96a --- /dev/null +++ b/Constant/UpdateType.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +/// +/// 更新源 +/// +namespace GeekDesk.Constant +{ + public enum UpdateType + { + Gitee = 1, + GitHub = 2 + } +} diff --git a/Control/Other/BacklogNotificatin.xaml.cs b/Control/Other/BacklogNotificatin.xaml.cs index ad12d66..cfe0aed 100644 --- a/Control/Other/BacklogNotificatin.xaml.cs +++ b/Control/Other/BacklogNotificatin.xaml.cs @@ -24,7 +24,7 @@ namespace GeekDesk.Control.Other { private AppData appData = MainWindow.appData; - public BacklogNotificatin(BacklogInfo info) + public BacklogNotificatin(ToDoInfo info) { InitializeComponent(); this.DataContext = info; @@ -32,12 +32,12 @@ namespace GeekDesk.Control.Other private void BacklogDone_Click(object sender, RoutedEventArgs e) { - BacklogInfo info = this.DataContext as BacklogInfo; + ToDoInfo info = this.DataContext as ToDoInfo; info.DoneTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); - appData.ExeBacklogList.Remove(info); //执行任务删除 - appData.HiBacklogList.Add(info); //添加历史任务 - BacklogTask.activityBacklog[info].Close(); //关闭桌面通知 - BacklogTask.activityBacklog.Remove(info);//激活任务删除 + appData.ToDoList.Remove(info); //执行任务删除 + appData.HiToDoList.Add(info); //添加历史任务 + ToDoTask.activityBacklog[info].Close(); //关闭桌面通知 + ToDoTask.activityBacklog.Remove(info);//激活任务删除 CommonCode.SaveAppData(appData); } @@ -86,7 +86,7 @@ namespace GeekDesk.Control.Other /// private void DelayButton_Click(object sender, RoutedEventArgs e) { - BacklogInfo info = this.DataContext as BacklogInfo; + ToDoInfo info = this.DataContext as ToDoInfo; int time = int.Parse(DelayTime.Text); string type = DelayType.Text; switch(type) @@ -98,8 +98,8 @@ namespace GeekDesk.Control.Other info.ExeTime = DateTime.Now.AddHours(time).ToString("yyyy-MM-dd HH:mm:ss"); break; } - BacklogTask.activityBacklog[info].Close(); //关闭桌面通知 - BacklogTask.activityBacklog.Remove(info);//激活任务删除 + ToDoTask.activityBacklog[info].Close(); //关闭桌面通知 + ToDoTask.activityBacklog.Remove(info);//激活任务删除 } } } diff --git a/Control/UserControls/Config/AboutControl.xaml b/Control/UserControls/Config/AboutControl.xaml index b0eeab4..83d2329 100644 --- a/Control/UserControls/Config/AboutControl.xaml +++ b/Control/UserControls/Config/AboutControl.xaml @@ -3,6 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:cvt="clr-namespace:GeekDesk.Converts" xmlns:local="clr-namespace:GeekDesk.Control.UserControls.PannelCard" xmlns:hc="https://handyorg.github.io/handycontrol" mc:Ignorable="d" @@ -10,7 +11,7 @@ d:DesignHeight="400" d:DesignWidth="500"> - + @@ -66,10 +67,10 @@ + IsChecked="{Binding UpdateType, Mode=TwoWay, Converter={StaticResource UpdateTypeConvert}, ConverterParameter=1}"/> + IsChecked="{Binding UpdateType, Mode=TwoWay, Converter={StaticResource UpdateTypeConvert}, ConverterParameter=2}"/> diff --git a/Control/UserControls/Config/MotionControl.xaml b/Control/UserControls/Config/MotionControl.xaml index a8f70da..e522db9 100644 --- a/Control/UserControls/Config/MotionControl.xaml +++ b/Control/UserControls/Config/MotionControl.xaml @@ -54,8 +54,9 @@ - + + + + + + diff --git a/Control/UserControls/Config/MotionControl.xaml.cs b/Control/UserControls/Config/MotionControl.xaml.cs index f34b259..2666be3 100644 --- a/Control/UserControls/Config/MotionControl.xaml.cs +++ b/Control/UserControls/Config/MotionControl.xaml.cs @@ -46,23 +46,48 @@ namespace GeekDesk.Control.UserControls.Config /// private void HotKeyDown(object sender, KeyEventArgs e) { + string tag = (sender as TextBox).Tag.ToString(); + + bool main = false; + if ("Main".Equals(tag)) + { + main = true; + } + if (!e.IsRepeat) { if (hotkeyFinished) { - appConfig.Hotkey = 0; - appConfig.HotkeyStr = ""; - appConfig.HotkeyModifiers = 0; + if (main) + { + appConfig.Hotkey = 0; + appConfig.HotkeyStr = ""; + appConfig.HotkeyModifiers = 0; + } else + { + appConfig.ToDoHotkey = 0; + appConfig.ToDoHotkeyStr = ""; + appConfig.ToDoHotkeyModifiers = 0; + } hotkeyFinished = false; + } //首次按下按键 - if (appConfig.HotkeyStr == null || appConfig.HotkeyStr.Length == 0) + if ((main && (appConfig.HotkeyStr == null || appConfig.HotkeyStr.Length == 0)) + || (!main && (appConfig.ToDoHotkeyStr == null || appConfig.ToDoHotkeyStr.Length == 0))) { if (CheckModifierKeys(e)) { //辅助键 - appConfig.HotkeyStr = GetKeyName(e); - appConfig.HotkeyModifiers = GetModifierKeys(e); + if (main) + { + appConfig.HotkeyStr = GetKeyName(e); + appConfig.HotkeyModifiers = GetModifierKeys(e); + } else + { + appConfig.ToDoHotkeyStr = GetKeyName(e); + appConfig.ToDoHotkeyModifiers = GetModifierKeys(e); + } prevKeyTemp = e; keysTemp.Add(e); } @@ -75,15 +100,30 @@ namespace GeekDesk.Control.UserControls.Config || (e.Key >= Key.F1 && e.Key <= Key.F12) || (e.Key >= Key.D0 && e.Key <= Key.D9))) { - appConfig.Hotkey = e.Key; - appConfig.HotkeyStr += e.Key.ToString(); + if (main) + { + appConfig.Hotkey = e.Key; + appConfig.HotkeyStr += e.Key.ToString(); + } else + { + appConfig.ToDoHotkey = e.Key; + appConfig.ToDoHotkeyStr += e.Key.ToString(); + } prevKeyTemp = e; keysTemp.Add(e); } else if (CheckModifierKeys(e)) { - appConfig.HotkeyStr += GetKeyName(e); - appConfig.HotkeyModifiers |= GetModifierKeys(e); + if (main) + { + appConfig.HotkeyStr += GetKeyName(e); + appConfig.HotkeyModifiers |= GetModifierKeys(e); + } else + { + appConfig.ToDoHotkeyStr += GetKeyName(e); + appConfig.ToDoHotkeyModifiers |= GetModifierKeys(e); + } + prevKeyTemp = e; keysTemp.Add(e); } @@ -146,13 +186,18 @@ namespace GeekDesk.Control.UserControls.Config [MethodImpl(MethodImplOptions.Synchronized)] private void HotKeyUp(object sender, KeyEventArgs e) { + string tag = (sender as TextBox).Tag.ToString(); + bool main = false; + if ("Main".Equals(tag)) + { + main = true; + } lock(this) { bool allKeyUp = true; //判断所有键是否都松开 foreach (KeyEventArgs key in keysTemp) { - HandyControl.Controls.Growl.SuccessGlobal(key.Key.ToString() + "=" + key.KeyStates); if (key.KeyStates == KeyStates.Down) { allKeyUp = false; @@ -163,11 +208,24 @@ namespace GeekDesk.Control.UserControls.Config { keysTemp.Clear(); hotkeyFinished = true; - if (MainWindow.hotKeyId != -1) + + if (main) { - Hotkey.UnRegist(new WindowInteropHelper(MainWindow.mainWindow).Handle, Hotkey.keymap[MainWindow.hotKeyId]); + if (MainWindow.hotKeyId != -1) + { + Hotkey.UnRegist(new WindowInteropHelper(MainWindow.mainWindow).Handle, Hotkey.keymap[MainWindow.hotKeyId]); + } + MainWindow.RegisterHotKey(false); + } else + { + if (MainWindow.toDoHotKeyId != -1) + { + Hotkey.UnRegist(new WindowInteropHelper(MainWindow.toDoInfoWindow).Handle, Hotkey.keymap[MainWindow.toDoHotKeyId]); + } + MainWindow.RegisterCreateToDoHotKey(false); } - MainWindow.RegisterHotKey(); + + } } } diff --git a/Control/UserControls/Backlog/BacklogControl.xaml b/Control/UserControls/ToDo/TodoControl.xaml similarity index 97% rename from Control/UserControls/Backlog/BacklogControl.xaml rename to Control/UserControls/ToDo/TodoControl.xaml index 48b7e8b..ef3da7f 100644 --- a/Control/UserControls/Backlog/BacklogControl.xaml +++ b/Control/UserControls/ToDo/TodoControl.xaml @@ -1,4 +1,4 @@ - /// BacklogControl.xaml 的交互逻辑 /// - public partial class BacklogControl : UserControl + public partial class TodoControl : UserControl { private AppData appData = MainWindow.appData; - public BacklogControl() + public TodoControl() { InitializeComponent(); } private void DeleteMenu_Click(object sender, RoutedEventArgs e) { - BacklogInfo info = BacklogList.SelectedItem as BacklogInfo; + ToDoInfo info = BacklogList.SelectedItem as ToDoInfo; Growl.Ask("确认删除吗?", isConfirmed => { if (isConfirmed) { - appData.ExeBacklogList.Remove(info); + appData.ToDoList.Remove(info); CommonCode.SaveAppData(MainWindow.appData); } return true; @@ -46,8 +46,8 @@ namespace GeekDesk.Control.UserControls.Backlog private void DetailMenu_Click(object sender, RoutedEventArgs e) { - BacklogInfo info = BacklogList.SelectedItem as BacklogInfo; - BacklogInfoWindow.ShowDetail(info); + ToDoInfo info = BacklogList.SelectedItem as ToDoInfo; + ToDoInfoWindow.ShowDetail(info); } /// diff --git a/Control/Windows/BacklogInfoWindow.xaml b/Control/Windows/ToDoInfoWindow.xaml similarity index 98% rename from Control/Windows/BacklogInfoWindow.xaml rename to Control/Windows/ToDoInfoWindow.xaml index 128d88f..2e0f734 100644 --- a/Control/Windows/BacklogInfoWindow.xaml +++ b/Control/Windows/ToDoInfoWindow.xaml @@ -1,4 +1,4 @@ - /// BacklogInfoWindow.xaml 的交互逻辑 /// - public partial class BacklogInfoWindow + public partial class ToDoInfoWindow { private static int windowType = -1; - private static readonly int NEW_BACKLOG = 1; - private static readonly int DETAIL_BACKLOG = 2; + private static readonly int NEW_TODO = 1; + private static readonly int DETAIL_TODO = 2; private AppData appData = MainWindow.appData; - private BacklogInfo info; + private ToDoInfo info; - private BacklogInfoWindow() + private ToDoInfoWindow() { InitializeComponent(); ExeTime.SelectedDateTime = DateTime.Now.AddMinutes(10); this.Topmost = true; } - private BacklogInfoWindow(BacklogInfo info) + private ToDoInfoWindow(ToDoInfo info) { InitializeComponent(); this.Topmost = true; @@ -96,24 +96,24 @@ namespace GeekDesk.Control.Windows return; } } - if (windowType == NEW_BACKLOG) + if (windowType == NEW_TODO) { - info = new BacklogInfo + info = new ToDoInfo { Title = Title.Text, Msg = Msg.Text, ExeTime = ExeTime.Text }; - appData.ExeBacklogList.Add(info); + appData.ToDoList.Add(info); } else { - int index =appData.ExeBacklogList.IndexOf(info); - appData.ExeBacklogList.Remove(info); + int index =appData.ToDoList.IndexOf(info); + appData.ToDoList.Remove(info); info.Title = Title.Text; info.Msg = Msg.Text; info.ExeTime = ExeTime.Text; info.DoneTime = DoneTime.Text; - appData.ExeBacklogList.Insert(index, info); + appData.ToDoList.Insert(index, info); } CommonCode.SaveAppData(MainWindow.appData); this.Close(); @@ -124,21 +124,33 @@ namespace GeekDesk.Control.Windows { if (window == null || !window.Activate()) { - window = new BacklogInfoWindow(); + window = new ToDoInfoWindow(); } - windowType = NEW_BACKLOG; + windowType = NEW_TODO; window.Show(); } + + public static System.Windows.Window GetThis() + { + if (window == null || !window.Activate()) + { + window = new ToDoInfoWindow(); + + } + windowType = NEW_TODO; + return window; + } + private static System.Windows.Window window2 = null; - public static void ShowDetail(BacklogInfo info) + public static void ShowDetail(ToDoInfo info) { if (window2 == null || !window2.Activate()) { - window2 = new BacklogInfoWindow(info); + window2 = new ToDoInfoWindow(info); } - windowType = DETAIL_BACKLOG; + windowType = DETAIL_TODO; window2.Show(); } } diff --git a/Control/Windows/BacklogWindow.xaml b/Control/Windows/ToDoWindow.xaml similarity index 98% rename from Control/Windows/BacklogWindow.xaml rename to Control/Windows/ToDoWindow.xaml index 7afe0a5..b9c79a3 100644 --- a/Control/Windows/BacklogWindow.xaml +++ b/Control/Windows/ToDoWindow.xaml @@ -1,4 +1,4 @@ - /// BacklogWindow.xaml 的交互逻辑 /// - public partial class BacklogWindow + public partial class ToDoWindow { - private static BacklogControl backlog = new BacklogControl(); + private static TodoControl backlog = new TodoControl(); private AppData appData = MainWindow.appData; - private BacklogWindow() + private ToDoWindow() { InitializeComponent(); RightCard.Content = backlog; - backlog.BacklogList.ItemsSource = appData.ExeBacklogList; + backlog.BacklogList.ItemsSource = appData.ToDoList; this.Topmost = true; } @@ -63,10 +63,10 @@ namespace GeekDesk.Control.Windows switch (smi.Tag.ToString()) { case "History": - backlog.BacklogList.ItemsSource = appData.HiBacklogList; + backlog.BacklogList.ItemsSource = appData.HiToDoList; break; default: - backlog.BacklogList.ItemsSource = appData.ExeBacklogList; + backlog.BacklogList.ItemsSource = appData.ToDoList; break; } } @@ -78,7 +78,7 @@ namespace GeekDesk.Control.Windows /// private void CreateBacklog_BtnClick(object sender, RoutedEventArgs e) { - BacklogInfoWindow.ShowNone(); + ToDoInfoWindow.ShowNone(); } @@ -87,7 +87,7 @@ namespace GeekDesk.Control.Windows { if (window == null || !window.Activate()) { - window = new BacklogWindow(); + window = new ToDoWindow(); } window.Show(); } diff --git a/Converts/UpdateTypeConvert.cs b/Converts/UpdateTypeConvert.cs new file mode 100644 index 0000000..3120e54 --- /dev/null +++ b/Converts/UpdateTypeConvert.cs @@ -0,0 +1,29 @@ +using GeekDesk.Constant; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Data; + +namespace GeekDesk.Converts +{ + class UpdateTypeConvert : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + return (UpdateType)value == (UpdateType)int.Parse(parameter.ToString()); + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + bool isChecked = (bool)value; + if (!isChecked) + { + return null; + } + return (UpdateType)int.Parse(parameter.ToString()); + } + } +} diff --git a/GeekDesk.csproj b/GeekDesk.csproj index 3c69b56..d37571f 100644 --- a/GeekDesk.csproj +++ b/GeekDesk.csproj @@ -117,23 +117,24 @@ + BacklogNotificatin.xaml CustomIconUrlDialog.xaml - - BacklogControl.xaml + + TodoControl.xaml IconPannel.xaml - - BacklogInfoWindow.xaml + + ToDoInfoWindow.xaml - - BacklogWindow.xaml + + ToDoWindow.xaml ConfigWindow.xaml @@ -165,10 +166,11 @@ + - + @@ -188,7 +190,7 @@ - + @@ -200,7 +202,7 @@ MSBuild:Compile Designer - + Designer MSBuild:Compile @@ -208,11 +210,11 @@ Designer MSBuild:Compile - + Designer MSBuild:Compile - + Designer MSBuild:Compile diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index 6d3eafc..c4678d3 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -30,7 +30,9 @@ namespace GeekDesk { public static AppData appData = CommonCode.GetAppDataByFile(); + public static ToDoInfoWindow toDoInfoWindow = (ToDoInfoWindow)ToDoInfoWindow.GetThis(); public static int hotKeyId = -1; + public static int toDoHotKeyId = -1; public static MainWindow mainWindow; public HotKeyManager hkm = new HotKeyManager(); public MainWindow() @@ -41,7 +43,7 @@ namespace GeekDesk this.Topmost = true; this.Loaded += Window_Loaded; this.SizeChanged += MainWindow_Resize; - BacklogTask.BackLogCheck(); + ToDoTask.BackLogCheck(); } private void LoadData() @@ -54,6 +56,7 @@ namespace GeekDesk this.Width = appData.AppConfig.WindowWidth; this.Height = appData.AppConfig.WindowHeight; + } void Window_Loaded(object sender, RoutedEventArgs e) @@ -65,39 +68,88 @@ namespace GeekDesk { ShowApp(); } - - + RegisterHotKey(true); + RegisterCreateToDoHotKey(true); } /// /// 注册当前窗口的热键 /// - public static void RegisterHotKey() + public static void RegisterHotKey(bool first) { try { - //加载完毕注册热键 - hotKeyId = Hotkey.Regist(new WindowInteropHelper(MainWindow.mainWindow).Handle, appData.AppConfig.HotkeyModifiers, appData.AppConfig.Hotkey, () => + if (appData.AppConfig.HotkeyModifiers != 0) { - if (MotionControl.hotkeyFinished) + //加载完毕注册热键 + hotKeyId = Hotkey.Regist(new WindowInteropHelper(MainWindow.mainWindow).Handle, appData.AppConfig.HotkeyModifiers, appData.AppConfig.Hotkey, () => { - if (mainWindow.Visibility == Visibility.Collapsed) + if (MotionControl.hotkeyFinished) { - ShowApp(); + if (mainWindow.Visibility == Visibility.Collapsed) + { + ShowApp(); + } + else + { + mainWindow.Visibility = Visibility.Collapsed; + } } - else - { - mainWindow.Visibility = Visibility.Collapsed; - } - } - }); - //HandyControl.Controls.Growl.SuccessGlobal("快捷键注册成功(" + appData.AppConfig.HotkeyStr + ")!"); + }); + } + if (!first) + { + HandyControl.Controls.Growl.Success("GeekDesk快捷键注册成功(" + appData.AppConfig.HotkeyStr + ")!", "HotKeyGrowl"); + } } catch (Exception) { - HandyControl.Controls.Growl.WarningGlobal("GeekDesk启动快捷键已被其它程序占用(" + appData.AppConfig.HotkeyStr + ")!"); + if (first) + { + HandyControl.Controls.Growl.WarningGlobal("GeekDesk启动快捷键已被其它程序占用(" + appData.AppConfig.HotkeyStr + ")!"); + } + else + { + HandyControl.Controls.Growl.Warning("GeekDesk启动快捷键已被其它程序占用(" + appData.AppConfig.HotkeyStr + ")!", "HotKeyGrowl"); + + } + } + } + + /// + /// 注册新建待办的热键 + /// + public static void RegisterCreateToDoHotKey(bool first) + { + try + { + if (appData.AppConfig.ToDoHotkeyModifiers!=0) + { + //加载完毕注册热键 + toDoHotKeyId = Hotkey.Regist(new WindowInteropHelper(toDoInfoWindow).Handle, appData.AppConfig.ToDoHotkeyModifiers, appData.AppConfig.ToDoHotkey, () => + { + if (MotionControl.hotkeyFinished) + { + ToDoInfoWindow.ShowNone(); + } + }); + } + if (!first) + { + HandyControl.Controls.Growl.Success("新建待办任务快捷键注册成功(" + appData.AppConfig.ToDoHotkeyStr + ")!", "HotKeyGrowl"); + } + } + catch (Exception) + { + if (first) + { + HandyControl.Controls.Growl.WarningGlobal("新建待办任务快捷键已被其它程序占用(" + appData.AppConfig.ToDoHotkeyStr + ")!"); + } + else + { + HandyControl.Controls.Growl.Warning("新建待办任务快捷键已被其它程序占用(" + appData.AppConfig.ToDoHotkeyStr + ")!", "HotKeyGrowl"); + } } - } private void DisplayWindowHotKeyPress(object sender, KeyPressedEventArgs e) @@ -336,7 +388,7 @@ namespace GeekDesk /// private void BacklogMenuClick(object sender, RoutedEventArgs e) { - BacklogWindow.Show(); + ToDoWindow.Show(); } /// /// 禁用设置按钮右键菜单 diff --git a/Task/BacklogTask.cs b/Task/ToDoTask.cs similarity index 72% rename from Task/BacklogTask.cs rename to Task/ToDoTask.cs index 409bda9..7aa2b46 100644 --- a/Task/BacklogTask.cs +++ b/Task/ToDoTask.cs @@ -14,12 +14,12 @@ using System.Timers; namespace GeekDesk.Task { - public class BacklogTask + public class ToDoTask { - ///public static ObservableCollection activityBacklog = new ObservableCollection(); + ///public static ObservableCollection activityBacklog = new ObservableCollection(); - public static Dictionary activityBacklog = new Dictionary(); + public static Dictionary activityBacklog = new Dictionary(); public static void BackLogCheck() { @@ -36,11 +36,11 @@ namespace GeekDesk.Task { App.Current.Dispatcher.Invoke((Action)(() => { - if (MainWindow.appData.ExeBacklogList.Count > 0) + if (MainWindow.appData.ToDoList.Count > 0) { string nowTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); - ObservableCollection exeBacklogList = MainWindow.appData.ExeBacklogList; - foreach (BacklogInfo info in exeBacklogList) + ObservableCollection exeBacklogList = MainWindow.appData.ToDoList; + foreach (ToDoInfo info in exeBacklogList) { if (info.ExeTime.CompareTo(nowTime) == -1 && !activityBacklog.ContainsKey(info)) { diff --git a/ViewModel/AppConfig.cs b/ViewModel/AppConfig.cs index 9a5888f..20a4663 100644 --- a/ViewModel/AppConfig.cs +++ b/ViewModel/AppConfig.cs @@ -37,18 +37,79 @@ namespace GeekDesk.ViewModel private int pannelCornerRadius = 4; //面板圆角 默认4 [field: NonSerialized] private ObservableCollection selectedMenuIcons; + private string hotkeyStr = "Ctrl + Q"; //默认启动面板快捷键 private HotkeyModifiers hotkeyModifiers = HotkeyModifiers.MOD_CONTROL; //默认启动面板快捷键 private Key hotkey = Key.Q; //默认启动面板快捷键 + private string toDoHotkeyStr; //待办任务快捷键 + private HotkeyModifiers toDoHotkeyModifiers; //待办任务快捷键 + private Key toDoHotkey; //待办任务快捷键 + private string customIconUrl; //自定义图标url private string customIconJsonUrl; //自定义图标json信息url private bool blurEffect = false; //毛玻璃效果 默认否 private double blurValue; + private UpdateType updateType = UpdateType.Gitee; //更新源 默认gitee源 + #region GetSet + + public Key ToDoHotkey + { + get + { + return toDoHotkey; + } + set + { + toDoHotkey = value; + OnPropertyChanged("ToDoHotkey"); + } + } + + + public HotkeyModifiers ToDoHotkeyModifiers + { + get + { + return toDoHotkeyModifiers; + } + set + { + toDoHotkeyModifiers = value; + OnPropertyChanged("ToDoHotkeyModifiers"); + } + } + + public string ToDoHotkeyStr + { + get + { + return toDoHotkeyStr; + } + set + { + toDoHotkeyStr = value; + OnPropertyChanged("ToDoHotkeyStr"); + } + } + + public UpdateType UpdateType + { + get + { + return updateType; + } + set + { + updateType = value; + OnPropertyChanged("UpdateType"); + } + } + public double BlurValue { get diff --git a/ViewModel/AppData.cs b/ViewModel/AppData.cs index 4e6df00..e3d06da 100644 --- a/ViewModel/AppData.cs +++ b/ViewModel/AppData.cs @@ -14,42 +14,42 @@ namespace GeekDesk.ViewModel { private ObservableCollection menuList; //菜单信息及菜单对应icon信息 private AppConfig appConfig = new AppConfig(); //程序设置信息 - private ObservableCollection hiBacklogList; //历史待办 - private ObservableCollection exeBacklogList; //未处理待办 为了提高任务效率 分开处理 + private ObservableCollection hiToDoList; //历史待办 + private ObservableCollection toDoList; //未处理待办 为了提高任务效率 分开处理 - public ObservableCollection HiBacklogList + public ObservableCollection HiToDoList { get { - if (hiBacklogList == null) + if (hiToDoList == null) { - hiBacklogList = new ObservableCollection(); + hiToDoList = new ObservableCollection(); } - return hiBacklogList; + return hiToDoList; } set { - hiBacklogList = value; - OnPropertyChanged("HiBacklogList"); + hiToDoList = value; + OnPropertyChanged("HiToDoList"); } } - public ObservableCollection ExeBacklogList + public ObservableCollection ToDoList { get { - if (exeBacklogList == null) + if (toDoList == null) { - exeBacklogList = new ObservableCollection(); + toDoList = new ObservableCollection(); } - return exeBacklogList; + return toDoList; } set { - exeBacklogList = value; - OnPropertyChanged("ExeBacklogList"); + toDoList = value; + OnPropertyChanged("ToDoList"); } } diff --git a/ViewModel/BacklogInfo.cs b/ViewModel/ToDoInfo.cs similarity index 97% rename from ViewModel/BacklogInfo.cs rename to ViewModel/ToDoInfo.cs index 184cff4..032ec78 100644 --- a/ViewModel/BacklogInfo.cs +++ b/ViewModel/ToDoInfo.cs @@ -10,7 +10,7 @@ namespace GeekDesk.ViewModel { [Serializable] - public class BacklogInfo : INotifyPropertyChanged + public class ToDoInfo : INotifyPropertyChanged { //private string id; //任务唯一id private string title; //待办事项