玉兔远程控制 0.1.0-bate8
载入中...
搜索中...
未找到
ParameterApp.cpp
1
2#include <QSettings>
3#include <QDir>
4#include "RabbitCommonDir.h"
5#ifdef HAVE_ICE
6 #include "Ice.h"
7#endif
8#include "ParameterGlobal.h"
9#include "ParameterApp.h"
10
11CParameterApp::CParameterApp(QObject *parent) : CParameter(parent, "MainWindow"),
12 m_pGloablParamter(nullptr),
13 m_bReceiveShortCut(false),
14 m_bSaveMainWindowStatus(true),
15 m_ViewType(ViewType::Tab),
16 m_TabPosition(QTabWidget::North),
17 m_bEnableTabToolTip(true),
18 m_bEnableTabIcon(true),
19 m_bTabElided(false),
20 m_nRecentMenuMaxCount(10),
21 m_SystemTrayIconType(SystemTrayIconMenuType::MenuBar),
22 m_bEnableSystemTrayIcon(true),
23 m_bOpenLasterClose(false),
24 m_bFavoriteEdit(false),
25 m_bStatusBar(true),
26 m_bTabBar(true),
27 m_bMenuBar(true),
28 m_bMessageBoxDisplayInfomation(true),
29 m_bDockListActiveShowToolBar(true),
30 m_bDockListRecentShowToolBar(true),
31 m_bDockListFavoriteShowToolBar(true),
32 m_bKeepSplitViewWhenFullScreen(false),
33 m_bStartByType(true)
34{
35}
36
37CParameterApp::~CParameterApp()
38{
39}
40
41int CParameterApp::OnLoad(QSettings &set)
42{
43 SetReceiveShortCut(set.value("ReceiveShortCurt",
44 GetReceiveShortCut()).toBool());
45
46 set.beginGroup("Status");
47 SetSaveMainWindowStatus(set.value("Enable",
48 GetSaveMainWindowStatus()).toBool());
49 if(GetSaveMainWindowStatus()) {
50 SetStatusBar(set.value("StatusBar",
51 GetStatusBar()).toBool());
52 SetTabBar(set.value("TabBar",
53 GetTabBar()).toBool());
54 SetMenuBar(set.value("MenuBar",
55 GetMenuBar()).toBool());
56 }
57 set.endGroup();
58
59 set.beginGroup("View");
60 int viewType = set.value("Type", (int)GetViewType()).toInt();
61 SetViewType((ViewType)viewType);
62 SetTabPosition(static_cast<QTabWidget::TabPosition>(
63 set.value("TabView/Tab/Position",
64 GetTabPosition()).toInt()));
65 SetEnableTabToolTip(set.value("TabView/Tab/Enable/ToolTip",
66 GetEnableTabToolTip()).toBool());
67 SetEnableTabIcon(set.value("TabView/Tab/Enable/Icon",
68 GetEnableTabIcon()).toBool());
69 SetTabElided(set.value("TabView/Tab/Enable/Elided", GetTabElided()).toBool());
70 set.endGroup();
71
72 SetRecentMenuMaxCount(set.value("Recent/Max",
73 GetRecentMenuMaxCount()).toInt());
74
75 set.beginGroup("SystemTrayIcon");
76 //NOTE: The order cannot be changed
77 SetEnableSystemTrayIcon(set.value("Enable",
78 GetEnableSystemTrayIcon()).toBool());
79 SetSystemTrayIconMenuType(static_cast<SystemTrayIconMenuType>(
80 set.value("MenuType",
81 static_cast<int>(GetSystemTrayIconMenuType())).toInt()));
82 set.endGroup();
83
84 SetOpenLasterClose(set.value("OpenLasterClose",
85 GetOpenLasterClose()).toBool());
86 SetFavoriteEdit(set.value("Favorite/Double/Edit",
87 GetFavoriteEdit()).toBool());
88
89 SetMessageBoxDisplayInformation(
90 set.value("MessageBoxDisplayInformation",
91 GetMessageBoxDisplayInformation()).toBool());
92
93 set.beginGroup("Dock");
94 SetDockListActiveShowToolBar(
95 set.value("ListActive/ToolBar/Show",
96 GetDockListActiveShowToolBar()).toBool());
97
98 SetDockListRecentShowToolBar(
99 set.value("Recent/ToolBar/Show",
100 GetDockListRecentShowToolBar()).toBool());
101
102 SetDockListFovoriteShowToolBar(
103 set.value("Favorite/ToolBar/Show",
104 GetDockListFavoriteShowToolBar()).toBool());
105
106 SetKeepSplitViewWhenFullScreen(
107 set.value("KeepSplitViewWhenFullScreen",
108 GetKeepSplitViewWhenFullScreen()).toBool());
109
110 SetStartByType(set.value("Menu/StartByType", GetStartByType()).toBool());
111
112 set.endGroup();
113
114#ifdef HAVE_ICE
115 return CICE::Instance()->GetParameter()->Load(set);
116#endif
117 return 0;
118}
119
120int CParameterApp::OnSave(QSettings &set)
121{
122 set.setValue("ReceiveShortCurt", GetReceiveShortCut());
123
124 set.beginGroup("Status");
125 set.setValue("Enable", GetSaveMainWindowStatus());
126 if(GetSaveMainWindowStatus())
127 {
128 set.setValue("StatusBar", GetStatusBar());
129 set.setValue("TabBar", GetTabBar());
130 set.setValue("MenuBar", GetMenuBar());
131 // Geometry and status is saved MainWindow::closeEvent()
132 }
133 set.endGroup();
134
135 set.beginGroup("View");
136 set.setValue("Type", (int)GetViewType());
137 set.setValue("TabView/Tab/Position", GetTabPosition());
138 set.setValue("TabView/Tab/Enable/ToolTip", GetEnableTabToolTip());
139 set.setValue("TabView/Tab/Enable/Icon", GetEnableTabIcon());
140 set.setValue("TabView/Tab/Enable/Elided", GetTabElided());
141 set.endGroup();
142
143 set.setValue("Recent/Max", GetRecentMenuMaxCount());
144
145 set.beginGroup("SystemTrayIcon");
146 set.setValue("Enable", GetEnableSystemTrayIcon());
147 set.setValue("MenuType",
148 static_cast<int>(GetSystemTrayIconMenuType()));
149 set.endGroup();
150
151 set.setValue("OpenLasterClose", GetOpenLasterClose());
152 set.setValue("Favorite/Double/Edit", GetFavoriteEdit());
153 set.setValue("MessageBoxDisplayInformation",
154 GetMessageBoxDisplayInformation());
155
156 set.beginGroup("Dock");
157 set.setValue("ListActive/ToolBar/Show",
158 GetDockListActiveShowToolBar());
159 set.setValue("Recent/ToolBar/Show",
160 GetDockListRecentShowToolBar());
161 set.setValue("Favorite/ToolBar/Show",
162 GetDockListFavoriteShowToolBar());
163
164 set.setValue("KeepSplitViewWhenFullScreen",
165 GetKeepSplitViewWhenFullScreen());
166
167 set.setValue("Menu/StartByType", GetStartByType());
168
169 set.endGroup();
170
171#ifdef HAVE_ICE
172 return CICE::Instance()->GetParameter()->Save(set);
173#endif
174 return 0;
175}
176
177CParameterGlobal* CParameterApp::GetGlobalParameters() const
178{
179 return m_pGloablParamter;
180}
181
182void CParameterApp::SetGlobalParameters(CParameterGlobal* para)
183{
184 m_pGloablParamter = para;
185}
186
187bool CParameterApp::GetReceiveShortCut() const
188{
189 return m_bReceiveShortCut;
190}
191
192void CParameterApp::SetReceiveShortCut(bool newReceiveShortCut)
193{
194 if (m_bReceiveShortCut == newReceiveShortCut)
195 return;
196 m_bReceiveShortCut = newReceiveShortCut;
197 SetModified(true);
198 emit sigReceiveShortCutChanged();
199}
200
201bool CParameterApp::GetSaveMainWindowStatus() const
202{
203 return m_bSaveMainWindowStatus;
204}
205
206void CParameterApp::SetSaveMainWindowStatus(bool newSaveMainWindowStatus)
207{
208 if (m_bSaveMainWindowStatus == newSaveMainWindowStatus)
209 return;
210 m_bSaveMainWindowStatus = newSaveMainWindowStatus;
211 SetModified(true);
212 emit sigSaveMainWindowStatusChanged();
213}
214
215CParameterApp::ViewType CParameterApp::GetViewType()
216{
217 return m_ViewType;
218}
219
220int CParameterApp::SetViewType(ViewType type)
221{
222 if(m_ViewType == type)
223 return 0;
224 m_ViewType = type;
225 SetModified(true);
226 emit sigViewTypeChanged();
227 return 0;
228}
229
230const QTabWidget::TabPosition &CParameterApp::GetTabPosition() const
231{
232 return m_TabPosition;
233}
234
235void CParameterApp::SetTabPosition(const QTabWidget::TabPosition &newTabPosition)
236{
237 if (m_TabPosition == newTabPosition)
238 return;
239 m_TabPosition = newTabPosition;
240 SetModified(true);
241 emit sigTabPositionChanged();
242}
243
244const bool CParameterApp::GetEnableTabToolTip() const
245{
246 return m_bEnableTabToolTip;
247}
248
249void CParameterApp::SetEnableTabToolTip(bool bEnable)
250{
251 if(m_bEnableTabToolTip == bEnable)
252 return;
253 m_bEnableTabToolTip = bEnable;
254 SetModified(true);
255 emit sigEnableTabToolTipChanged();
256}
257
258const bool CParameterApp::GetEnableTabIcon() const
259{
260 return m_bEnableTabIcon;
261}
262
263void CParameterApp::SetEnableTabIcon(bool bEnable)
264{
265 if(m_bEnableTabIcon == bEnable)
266 return;
267 m_bEnableTabIcon = bEnable;
268 SetModified(true);
269 emit sigEnableTabIconChanged();
270}
271
272const bool CParameterApp::GetTabElided() const
273{
274 return m_bTabElided;
275}
276
277void CParameterApp::SetTabElided(bool bElided)
278{
279 if(m_bTabElided == bElided)
280 return;
281 m_bTabElided = bElided;
282 SetModified(true);
283 emit sigTabElided();
284}
285
286int CParameterApp::GetRecentMenuMaxCount() const
287{
288 return m_nRecentMenuMaxCount;
289}
290
291void CParameterApp::SetRecentMenuMaxCount(int newRecentMenuMaxCount)
292{
293 if (m_nRecentMenuMaxCount == newRecentMenuMaxCount)
294 return;
295 m_nRecentMenuMaxCount = newRecentMenuMaxCount;
296 SetModified(true);
297 emit sigRecentMenuMaxCountChanged(m_nRecentMenuMaxCount);
298}
299
300CParameterApp::SystemTrayIconMenuType CParameterApp::GetSystemTrayIconMenuType() const
301{
302 return m_SystemTrayIconType;
303}
304
305void CParameterApp::SetSystemTrayIconMenuType(SystemTrayIconMenuType newSystemTrayIconType)
306{
307 if(m_SystemTrayIconType == newSystemTrayIconType)
308 return;
309 m_SystemTrayIconType = newSystemTrayIconType;
310 SetModified(true);
311 emit sigSystemTrayIconTypeChanged();
312}
313
314bool CParameterApp::GetEnableSystemTrayIcon() const
315{
316 return m_bEnableSystemTrayIcon;
317}
318
319int CParameterApp::SetEnableSystemTrayIcon(bool bShow)
320{
321 if(m_bEnableSystemTrayIcon == bShow)
322 return 0;
323 m_bEnableSystemTrayIcon = bShow;
324 SetModified(true);
325 emit sigEnableSystemTrayIcon();
326 return 0;
327}
328
329bool CParameterApp::GetOpenLasterClose() const
330{
331 return m_bOpenLasterClose;
332}
333
334void CParameterApp::SetOpenLasterClose(bool newOpenLasterClose)
335{
336 if (m_bOpenLasterClose == newOpenLasterClose)
337 return;
338 m_bOpenLasterClose = newOpenLasterClose;
339 SetModified(true);
340 emit sigOpenLasterCloseChanged(m_bOpenLasterClose);
341}
342
343bool CParameterApp::GetFavoriteEdit() const
344{
345 return m_bFavoriteEdit;
346}
347
348void CParameterApp::SetFavoriteEdit(bool newFavoriteEdit)
349{
350 if(m_bFavoriteEdit == newFavoriteEdit)
351 return;
352 m_bFavoriteEdit = newFavoriteEdit;
353 SetModified(true);
354 emit sigFavoriteEditChanged(m_bFavoriteEdit);
355}
356
357bool CParameterApp::GetStatusBar() const
358{
359 return m_bStatusBar;
360}
361
362void CParameterApp::SetStatusBar(bool checked)
363{
364 if(m_bStatusBar == checked)
365 return;
366 m_bStatusBar = checked;
367 SetModified(true);
368}
369
370bool CParameterApp::GetTabBar() const
371{
372 return m_bTabBar;
373}
374
375void CParameterApp::SetTabBar(bool checked)
376{
377 if(m_bTabBar == checked)
378 return;
379 m_bTabBar = checked;
380 SetModified(true);
381}
382
383bool CParameterApp::GetMenuBar() const
384{
385 return m_bMenuBar;
386}
387
388void CParameterApp::SetMenuBar(bool checked)
389{
390 if(m_bMenuBar == checked)
391 return;
392 m_bMenuBar = checked;
393 SetModified(true);
394}
395
396const bool CParameterApp::GetMessageBoxDisplayInformation() const
397{
398 return m_bMessageBoxDisplayInfomation;
399}
400
401void CParameterApp::SetMessageBoxDisplayInformation(bool bEnable)
402{
403 if(m_bMessageBoxDisplayInfomation == bEnable)
404 return;
405 m_bMessageBoxDisplayInfomation = bEnable;
406 SetModified(true);
407}
408
409const bool CParameterApp::GetDockListActiveShowToolBar() const
410{
411 return m_bDockListActiveShowToolBar;
412}
413
414void CParameterApp::SetDockListActiveShowToolBar(bool bEnable)
415{
416 if(m_bDockListActiveShowToolBar == bEnable)
417 return;
418 m_bDockListActiveShowToolBar = bEnable;
419 SetModified(true);
420}
421
422const bool CParameterApp::GetDockListRecentShowToolBar() const
423{
424 return m_bDockListRecentShowToolBar;
425}
426
427void CParameterApp::SetDockListRecentShowToolBar(bool bEnable)
428{
429 if(m_bDockListRecentShowToolBar == bEnable)
430 return;
431 m_bDockListRecentShowToolBar = bEnable;
432 SetModified(true);
433}
434
435const bool CParameterApp::GetDockListFavoriteShowToolBar() const
436{
437 return m_bDockListFavoriteShowToolBar;
438}
439
440void CParameterApp::SetDockListFovoriteShowToolBar(bool bEnable)
441{
442 if(m_bDockListFavoriteShowToolBar == bEnable)
443 return;
444 m_bDockListFavoriteShowToolBar = bEnable;
445 SetModified(true);
446}
447
448bool CParameterApp::GetKeepSplitViewWhenFullScreen() const
449{
450 return m_bKeepSplitViewWhenFullScreen;
451}
452
453void CParameterApp::SetKeepSplitViewWhenFullScreen(bool newKeepSplitViewWhenFullScreen)
454{
455 if(m_bKeepSplitViewWhenFullScreen == newKeepSplitViewWhenFullScreen)
456 return;
457 m_bKeepSplitViewWhenFullScreen = newKeepSplitViewWhenFullScreen;
458 SetModified(true);
459}
460
461bool CParameterApp::GetStartByType() const
462{
463 return m_bStartByType;
464}
465
466void CParameterApp::SetStartByType(bool newStartByType)
467{
468 if (m_bStartByType == newStartByType)
469 return;
470 m_bStartByType = newStartByType;
471 emit sigStartByTypeChanged();
472}
static CICE * Instance()
Single instance
Definition Ice.cpp:55
参数接口
Definition Parameter.h:218
int SetModified(bool bModified=true)
在设置参数时,如果有修改,则调用。