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