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