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