提交记录修改UI/Servicers/StatusBarIconServicer.cs+14 −0看文件
修改UI/Servicers/ThemeServicer.cs+20 −10看文件
| @@ -40,15 +40,18 @@ namespace UI.Servicers | ||
| 40 | 40 | private readonly IAppObserver _appObserver; |
| 41 | 41 | private readonly IThemeServicer _themeServicer; |
| 42 | 42 | private readonly MainViewModel _mainVM; |
| 43 | 新增: private readonly IAppConfig _appConfig; | |
| 43 | 44 | private MainWindow _mainWindow; |
| 44 | 45 | public StatusBarIconServicer( |
| 45 | 46 | IAppObserver appObserver_, |
| 46 | 47 | IThemeServicer themeServicer_, |
| 48 | 新增: IAppConfig appConfig_, | |
| 47 | 49 | MainViewModel mainVM_ |
| 48 | 50 | ) |
| 49 | 51 | { |
| 50 | 52 | _appObserver = appObserver_; |
| 51 | 53 | _themeServicer = themeServicer_; |
| 54 | 新增: _appConfig = appConfig_; | |
| 52 | 55 | _mainVM = mainVM_; |
| 53 | 56 | } |
| 54 | 57 | public void Init() |
| @@ -156,6 +159,12 @@ namespace UI.Servicers | ||
| 156 | 159 | |
| 157 | 160 | private void ShowMainWindow() |
| 158 | 161 | { |
| 162 | 新增: var config = _appConfig.GetConfig(); | |
| 163 | 新增: if (config == null) | |
| 164 | 新增: { | |
| 165 | 新增: return; | |
| 166 | 新增: } | |
| 167 | 新增: | |
| 159 | 168 | if (_mainWindow == null || _mainWindow.IsWindowClosed) |
| 160 | 169 | { |
| 161 | 170 | _mainWindow = new MainWindow(); |
| @@ -163,6 +172,11 @@ namespace UI.Servicers | ||
| 163 | 172 | _mainWindow.Loaded += _mainWindow_Loaded; |
| 164 | 173 | _mainVM.LoadDefaultPage(); |
| 165 | 174 | } |
| 175 | 新增: if (config.General.IsSaveWindowSize) | |
| 176 | 新增: { | |
| 177 | 新增: _mainWindow.Width = config.General.WindowWidth; | |
| 178 | 新增: _mainWindow.Height = config.General.WindowHeight; | |
| 179 | 新增: } | |
| 166 | 180 | _mainWindow.WindowStartupLocation = WindowStartupLocation.CenterScreen; |
| 167 | 181 | _mainWindow.WindowState = WindowState.Normal; |
| 168 | 182 | _mainWindow.Show(); |
| @@ -49,6 +49,12 @@ namespace UI.Servicers | ||
| 49 | 49 | LoadTheme(themeOptions[newConfig.General.Theme], true); |
| 50 | 50 | OnThemeChanged?.Invoke(this, EventArgs.Empty); |
| 51 | 51 | } |
| 52 | 新增: | |
| 53 | 新增: if (oldConfig.General.IsSaveWindowSize != newConfig.General.IsSaveWindowSize) | |
| 54 | 新增: { | |
| 55 | 新增: HandleWindowSizeChangedEvent(); | |
| 56 | 新增: } | |
| 57 | 新增: | |
| 52 | 58 | } |
| 53 | 59 | public void Init() |
| 54 | 60 | { |
| @@ -105,7 +111,7 @@ namespace UI.Servicers | ||
| 105 | 111 | |
| 106 | 112 | MergedDictionaries.Add(themeDict); |
| 107 | 113 | MergedDictionaries.Add(controlDict); |
| 108 | 删除: | |
| 114 | 新增: | |
| 109 | 115 | //if (configDict != null) |
| 110 | 116 | //{ |
| 111 | 117 | // //MergedDictionaries.Add(configDict); |
| @@ -143,25 +149,29 @@ namespace UI.Servicers | ||
| 143 | 149 | public void SetMainWindow(MainWindow mainWindow) |
| 144 | 150 | { |
| 145 | 151 | this.mainWindow = mainWindow; |
| 146 | 删除: mainWindow.SizeChanged += MainWindow_SizeChanged; | |
| 152 | 新增: HandleWindowSizeChangedEvent(); | |
| 153 | 新增: } | |
| 154 | 新增: | |
| 155 | 新增: private void HandleWindowSizeChangedEvent() | |
| 156 | 新增: { | |
| 157 | 新增: if (mainWindow == null || mainWindow.IsWindowClosed) return; | |
| 158 | 新增: | |
| 159 | 新增: mainWindow.SizeChanged -= MainWindow_SizeChanged; | |
| 147 | 160 | |
| 148 | 161 | var config = appConfig.GetConfig(); |
| 149 | 162 | if (config.General.IsSaveWindowSize) |
| 150 | 163 | { |
| 151 | 删除: mainWindow.Width = config.General.WindowWidth; | |
| 152 | 删除: mainWindow.Height = config.General.WindowHeight; | |
| 164 | 新增: // 保存窗口大小信息 | |
| 165 | 新增: mainWindow.SizeChanged += MainWindow_SizeChanged; | |
| 153 | 166 | } |
| 154 | 167 | } |
| 155 | 168 | |
| 156 | 169 | private void MainWindow_SizeChanged(object sender, SizeChangedEventArgs e) |
| 157 | 170 | { |
| 158 | 171 | var config = appConfig.GetConfig(); |
| 159 | 删除: if (config.General.IsSaveWindowSize) | |
| 160 | 删除: { | |
| 161 | 删除: config.General.WindowWidth = mainWindow.ActualWidth; | |
| 162 | 删除: config.General.WindowHeight = mainWindow.ActualHeight; | |
| 163 | 删除: appConfig.Save(); | |
| 164 | 删除: } | |
| 172 | 新增: config.General.WindowWidth = mainWindow.ActualWidth; | |
| 173 | 新增: config.General.WindowHeight = mainWindow.ActualHeight; | |
| 174 | 新增: appConfig.Save(); | |
| 165 | 175 | } |
| 166 | 176 | |
| 167 | 177 | public void UpdateWindowStyle() |

