diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index 035d194..4d8a823 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -38,7 +38,6 @@ namespace GeekDesk public static int hotKeyId = -1; public static int toDoHotKeyId = -1; public static MainWindow mainWindow; - public static MarginHide hide; public MainWindow() { LoadData(); @@ -50,10 +49,10 @@ namespace GeekDesk ToDoTask.BackLogCheck(); ////实例化隐藏 Hide类,进行时间timer设置 - hide = new MarginHide(this); + MarginHide.ReadyHide(this); if (appData.AppConfig.MarginHide) { - hide.TimerSet(); + MarginHide.StartHide(); } } @@ -65,11 +64,11 @@ namespace GeekDesk this.DataContext = appData; if (appData.MenuList.Count == 0) { - appData.MenuList.Add(new MenuInfo() { MenuName = "NewMenu", MenuId = System.Guid.NewGuid().ToString(), MenuEdit = Visibility.Collapsed}); + appData.MenuList.Add(new MenuInfo() { MenuName = "NewMenu", MenuId = System.Guid.NewGuid().ToString(), MenuEdit = Visibility.Collapsed }); } this.Width = appData.AppConfig.WindowWidth; - this.Height = appData.AppConfig.WindowHeight; + this.Height = appData.AppConfig.WindowHeight; } /// @@ -84,11 +83,13 @@ namespace GeekDesk if (appData.AppConfig.AppAnimation) { this.Opacity = 0; - } else + } + else { this.Visibility = Visibility.Collapsed; } - } else + } + else { ShowApp(); } @@ -130,7 +131,7 @@ namespace GeekDesk { if (MotionControl.hotkeyFinished) { - if (mainWindow.Visibility == Visibility.Collapsed || mainWindow.Opacity == 0) + if (mainWindow.Visibility == Visibility.Collapsed || mainWindow.Opacity == 0 || MarginHide.IS_HIDE) { ShowApp(); } @@ -160,44 +161,7 @@ namespace GeekDesk } } - /// - /// 淡入淡出效果 - /// - /// - /// - /// - public static void FadeStoryBoard(int opacity, int milliseconds, Visibility visibility) - { - if (appData.AppConfig.AppAnimation) - { - DoubleAnimation opacityAnimation = new DoubleAnimation - { - From = mainWindow.Opacity, - To = opacity, - Duration = new Duration(TimeSpan.FromMilliseconds(milliseconds)) - }; - opacityAnimation.Completed += (s, e) => - { - mainWindow.BeginAnimation(OpacityProperty, null); - if (visibility == Visibility.Visible) - { - mainWindow.Opacity = 1; - } else - { - mainWindow.Opacity = 0; - } - }; - Timeline.SetDesiredFrameRate(opacityAnimation, 30); - mainWindow.BeginAnimation(OpacityProperty, opacityAnimation); - } else - { - //防止关闭动画后 窗体仍是0透明度 - mainWindow.Opacity = 1; - mainWindow.Visibility = visibility; - } - - } /// /// 注册新建待办的热键 @@ -207,7 +171,7 @@ namespace GeekDesk try { - if (appData.AppConfig.ToDoHotkeyModifiers!=0) + if (appData.AppConfig.ToDoHotkeyModifiers != 0) { //加载完毕注册热键 toDoHotKeyId = GlobalHotKey.RegisterHotKey(appData.AppConfig.ToDoHotkeyModifiers, appData.AppConfig.ToDoHotkey, () => @@ -253,7 +217,7 @@ namespace GeekDesk } - + /// /// 程序窗体拖动 /// @@ -299,13 +263,14 @@ namespace GeekDesk if (appData.AppConfig.AppAnimation) { FadeStoryBoard(0, (int)CommonEnum.WINDOW_ANIMATION_TIME, Visibility.Collapsed); - } else + } + else { this.Visibility = Visibility.Collapsed; } } - + ///// ///// 左侧栏宽度改变 持久化 @@ -317,7 +282,7 @@ namespace GeekDesk // appData.AppConfig.MenuCardWidth = LeftColumn.Width.Value; //} - + /// /// 右键任务栏图标 显示主面板 @@ -335,6 +300,8 @@ namespace GeekDesk //{ // return; //} + //修改贴边隐藏状态为未隐藏 + MarginHide.IS_HIDE = false; if (appData.AppConfig.FollowMouse) { ShowWindowFollowMouse.Show(mainWindow, MousePosition.CENTER, 0, 0, false); @@ -348,6 +315,45 @@ namespace GeekDesk FadeStoryBoard(0, (int)CommonEnum.WINDOW_ANIMATION_TIME, Visibility.Collapsed); } + /// + /// 淡入淡出效果 + /// + /// + /// + /// + public static void FadeStoryBoard(int opacity, int milliseconds, Visibility visibility) + { + if (appData.AppConfig.AppAnimation) + { + DoubleAnimation opacityAnimation = new DoubleAnimation + { + From = mainWindow.Opacity, + To = opacity, + Duration = new Duration(TimeSpan.FromMilliseconds(milliseconds)) + }; + opacityAnimation.Completed += (s, e) => + { + mainWindow.BeginAnimation(OpacityProperty, null); + if (visibility == Visibility.Visible) + { + mainWindow.Opacity = 1; + } + else + { + mainWindow.Opacity = 0; + } + }; + Timeline.SetDesiredFrameRate(opacityAnimation, 60); + mainWindow.BeginAnimation(OpacityProperty, opacityAnimation); + } + else + { + //防止关闭动画后 窗体仍是0透明度 + mainWindow.Opacity = 1; + mainWindow.Visibility = visibility; + } + } + @@ -392,19 +398,6 @@ namespace GeekDesk p.Start(); } - /// - /// 右键任务栏图标退出 - /// - /// - /// - private void ExitApp(object sender, RoutedEventArgs e) - { - if (appData.AppConfig.MouseMiddleShow) - { - MouseHookThread.Dispose(); - } - Application.Current.Shutdown(); - } @@ -451,7 +444,7 @@ namespace GeekDesk if (appData.AppConfig.AppHideType == AppHideType.LOST_FOCUS) { //如果开启了贴边隐藏 则窗体不贴边才隐藏窗口 - if (appData.AppConfig.MarginHide && !hide.IsMargin()) + if (appData.AppConfig.MarginHide && !MarginHide.IS_HIDE) { this.Visibility = Visibility.Collapsed; } @@ -476,6 +469,21 @@ namespace GeekDesk } } + + + /// + /// 右键任务栏图标退出 + /// + /// + /// + private void ExitApp(object sender, RoutedEventArgs e) + { + if (appData.AppConfig.MouseMiddleShow) + { + MouseHookThread.Dispose(); + } + Application.Current.Shutdown(); + } /// /// 重启 /// @@ -483,10 +491,13 @@ namespace GeekDesk /// private void ReStartApp(object sender, RoutedEventArgs e) { - MouseHookThread.Dispose(); + if (appData.AppConfig.MouseMiddleShow) + { + MouseHookThread.Dispose(); + } Process p = new Process(); - p.StartInfo.FileName = Constants.APP_DIR + Constants.MY_NAME + ".exe"; + p.StartInfo.FileName = Constants.APP_DIR + "GeekDesk.exe"; p.StartInfo.WorkingDirectory = Constants.APP_DIR; p.Start();