Rabbit Remote Control 0.1.0-bate8
Loading...
Searching...
No Matches
ParameterWebBrowser.cpp
1// Author: Kang Lin <kl222@126.com>
2
3#include <QStandardPaths>
4#include <QLoggingCategory>
5#include <QWebEngineProfile>
6#include "ParameterWebBrowser.h"
7#include "ParameterGlobal.h"
8
9static Q_LOGGING_CATEGORY(log, "WebBrowser.Parameter")
10CParameterWebBrowser::CParameterWebBrowser(QObject *parent, const QString &szPrefix)
11 : CParameterOperate{parent, szPrefix}
12 , m_Record(this)
13 , m_MediaDevices(this)
14 , m_bOpenPrevious(false)
15 , m_bShowDownloadManager(true)
16 , m_bShowDownloadLocation(false)
17 , m_ClearHttpCache(false)
18 , m_ClearCookie(false)
19 , m_bPromptPrintFinished(true)
20 , m_bAutoFillUserAndPassword(false)
21 , m_nDatabaseViewLimit(100)
22 , m_nAddCompleterLines(10)
23 , m_WindowSize(600, 450)
24 , m_nBookmarkCurrentFolder(1)
25 , m_bBookmarkShowEditor(true)
26{
27 SetHomeUrl("https://github.com/KangLin");
28 SetTabUrl("https://github.com/KangLin/RabbitRemoteControl");
29 //m_szDownloadFolder = QStandardPaths::writableLocation(QStandardPaths::DownloadLocation);
30 SetDownloadFolder(QWebEngineProfile::defaultProfile()->downloadPath());
31 qDebug(log) << "Download folder:" << GetDownloadFolder();
32 if(QLocale::system().language() == QLocale::Language::Chinese)
33 SetSearchEngine("https://www.bing.com/search?q=%s");
34 else
35 SetSearchEngine("https://www.google.com/search?q=%s");
36 SetSearchRelaceString("%s");
37 QStringList searchEngines;
38 searchEngines << "https://www.bing.com/search?q=%s"
39 << "https://www.google.com/search?q=%s"
40 << "https://www.baidu.com/s?wd=%s";
41 SetSearchEngineList(searchEngines);
42}
43
44CParameterWebBrowser::~CParameterWebBrowser()
45{}
46
47int CParameterWebBrowser::OnLoad(QSettings &set)
48{
49 int nRet = 0;
50 SetHomeUrl(set.value("Url/Home", GetHomeUrl()).toString());
51 SetTabUrl(set.value("Url/Tab", GetTabUrl()).toString());
52 SetOpenPrevious(set.value("OpenPrevious/Enable", GetOpenPrevious()).toBool());
53 SetDownloadFolder(set.value("Download/Folder", GetDownloadFolder()).toString());
54 SetShowDownloadManager(set.value("Download/Show/Manager", GetShowDownloadManager()).toBool());
55 SetShowDownloadLocation(set.value("Download/Show/Location", GetShowDownloadLocation()).toBool());
56 SetClearHttpCache(set.value("Clear/HttpCache", GetClearHttpCache()).toBool());
57 SetClearCookie(set.value("Clear/Cookie", GetClearCookie()).toBool());
58 SetSearchEngine(set.value("SearchEngine", GetSearchEngine()).toString());
59 SetSearchRelaceString(set.value("SearchEngine/SearchEngine", GetSearchRelaceString()).toString());
60 SetSearchEngineList(set.value("SearchEngine/List", GetSearchEngineList()).toStringList());
61 SetAutoFillUserAndPassword(set.value("AutoFillUserPassword", GetAutoFillUserAndPassword()).toBool());
62 SetPromptPrintFinished(set.value("Print/Finished", GetPromptPrintFinished()).toBool());
63 SetDatabaseViewLimit(set.value("Database/View/Limit", GetDatabaseViewLimit()).toInt());
64 SetAddCompleterLines(set.value("AddCompleter/Lines", GetAddCompleterLines()).toInt());
65 SetWindowSize(set.value("WindowSize", GetWindowSize()).toSize());
66 SetBookmarkShowEditor(set.value("Bookmark/ShowEditor", GetBookmarkShowEditor()).toBool());
67 SetBookmarkCurrentFolder(set.value("Bookmark/CurrentFolder", GetBookmarkCurrentFolder()).toInt());
68 return nRet;
69}
70
71int CParameterWebBrowser::OnSave(QSettings &set)
72{
73 int nRet = 0;
74 set.setValue("Url/Home", GetHomeUrl());
75 set.setValue("Url/Tab", GetTabUrl());
76 set.setValue("OpenPrevious/Enable", GetOpenPrevious());
77 set.setValue("Download/Folder", GetDownloadFolder());
78 set.setValue("Download/Show/Manager", GetShowDownloadManager());
79 set.setValue("Download/Show/Location", GetShowDownloadLocation());
80 set.setValue("Clear/HttpCache", GetClearHttpCache());
81 set.setValue("Clear/Cookie", GetClearCookie());
82 set.setValue("SearchEngine", GetSearchEngine());
83 set.setValue("SearchEngine/SearchEngine", GetSearchRelaceString());
84 set.setValue("SearchEngine/List", GetSearchEngineList());
85 set.setValue("AutoFillUserPassword", GetAutoFillUserAndPassword());
86 set.setValue("Print/Finished", GetPromptPrintFinished());
87 set.setValue("Database/View/Limit", GetDatabaseViewLimit());
88 set.setValue("AddCompleter/Lines", GetAddCompleterLines());
89 set.setValue("WindowSize", GetWindowSize());
90 set.setValue("Bookmark/ShowEditor", GetBookmarkShowEditor());
91 set.setValue("Bookmark/CurrentFolder", GetBookmarkCurrentFolder());
92 return nRet;
93}
94
95void CParameterWebBrowser::slotSetGlobalParameters()
96{
98 if(!pPlugin) {
99 QString szErr = "The CParameterClient is null";
100 qCritical(log) << szErr;
101 Q_ASSERT_X(false, "CParameterWebBrowser", szErr.toStdString().c_str());
102 return;
103 }
104 m_Record = pPlugin->m_Record;
105 m_MediaDevices = pPlugin->m_MediaDevices;
106
107 auto pg = pPlugin->GetGlobalParameters();
108 bool bRet = m_HistoryDatabase.SetDatabase(&pg->m_DatabaseRemote);
109 Q_UNUSED(bRet);
110 bRet = m_BookmarkDatabase.SetDatabase(&pg->m_DatabaseRemote);
111 Q_UNUSED(bRet);
112}
113
114QString CParameterWebBrowser::GetHomeUrl()
115{
116 return m_szHomeUrl;
117}
118
119int CParameterWebBrowser::SetHomeUrl(const QString& url)
120{
121 if(m_szHomeUrl == url)
122 return 0;
123 m_szHomeUrl = url;
124 SetModified(true);
125 return 0;
126}
127
128QString CParameterWebBrowser::GetTabUrl()
129{
130 return m_szTabUrl;
131}
132
133int CParameterWebBrowser::SetTabUrl(const QString& url)
134{
135 if(m_szTabUrl == url)
136 return 0;
137 m_szTabUrl = url;
138 SetModified(true);
139 return 0;
140}
141
142bool CParameterWebBrowser::GetOpenPrevious()
143{
144 return m_bOpenPrevious;
145}
146
147void CParameterWebBrowser::SetOpenPrevious(bool bOpen)
148{
149 if(m_bOpenPrevious == bOpen)
150 return;
151 m_bOpenPrevious = bOpen;
152 SetModified(true);
153}
154
155QString CParameterWebBrowser::GetDownloadFolder()
156{
157 return m_szDownloadFolder;
158}
159
160int CParameterWebBrowser::SetDownloadFolder(const QString& folder)
161{
162 if(m_szDownloadFolder == folder)
163 return 0;
164 m_szDownloadFolder = folder;
165 SetModified(true);
166 emit sigDownloadFolderChanged();
167 return 0;
168}
169
170bool CParameterWebBrowser::GetShowDownloadManager() const
171{
172 return m_bShowDownloadManager;
173}
174
175void CParameterWebBrowser::SetShowDownloadManager(bool newShowDownloadManager)
176{
177 if(m_bShowDownloadManager == newShowDownloadManager)
178 return;
179 m_bShowDownloadManager = newShowDownloadManager;
180 SetModified(true);
181}
182
183bool CParameterWebBrowser::GetShowDownloadLocation() const
184{
185 return m_bShowDownloadLocation;
186}
187
188void CParameterWebBrowser::SetShowDownloadLocation(bool newShowDownloadLocation)
189{
190 if(m_bShowDownloadLocation == newShowDownloadLocation)
191 return;
192 m_bShowDownloadLocation = newShowDownloadLocation;
193 SetModified(true);
194}
195
196bool CParameterWebBrowser::GetClearCookie() const
197{
198 return m_ClearCookie;
199}
200
201void CParameterWebBrowser::SetClearCookie(bool newClearCookie)
202{
203 if(m_ClearCookie == newClearCookie)
204 return;
205 m_ClearCookie = newClearCookie;
206 SetModified(true);
207}
208
209bool CParameterWebBrowser::GetClearHttpCache() const
210{
211 return m_ClearHttpCache;
212}
213
214void CParameterWebBrowser::SetClearHttpCache(bool newClearHttpCache)
215{
216 if(m_ClearHttpCache == newClearHttpCache)
217 return;
218 m_ClearHttpCache = newClearHttpCache;
219 SetModified(true);
220}
221
222QString CParameterWebBrowser::GetSearchEngine() const
223{
224 return m_szSearchEngine;
225}
226
227void CParameterWebBrowser::SetSearchEngine(const QString &newSearchEngine)
228{
229 if(m_szSearchEngine == newSearchEngine)
230 return;
231 m_szSearchEngine = newSearchEngine;
232 SetModified(true);
233}
234
235QString CParameterWebBrowser::GetSearchRelaceString() const
236{
237 return m_szSearchRelaceString;
238}
239
240void CParameterWebBrowser::SetSearchRelaceString(const QString &newSearchRelaceString)
241{
242 if(m_szSearchRelaceString == newSearchRelaceString)
243 return;
244 m_szSearchRelaceString = newSearchRelaceString;
245 SetModified(true);
246}
247
248QStringList CParameterWebBrowser::GetSearchEngineList() const
249{
250 return m_SearchEngineList;
251}
252
253void CParameterWebBrowser::SetSearchEngineList(const QStringList &newSearchEngineList)
254{
255 if(m_SearchEngineList == newSearchEngineList)
256 return;
257 m_SearchEngineList = newSearchEngineList;
258 SetModified(true);
259}
260
261bool CParameterWebBrowser::GetPromptPrintFinished() const
262{
263 return m_bPromptPrintFinished;
264}
265
266void CParameterWebBrowser::SetPromptPrintFinished(bool newPromptPrintFinished)
267{
268 if(m_bPromptPrintFinished == newPromptPrintFinished)
269 return;
270 m_bPromptPrintFinished = newPromptPrintFinished;
271 SetModified(true);
272}
273
274bool CParameterWebBrowser::GetAutoFillUserAndPassword() const
275{
276 return m_bAutoFillUserAndPassword;
277}
278
279void CParameterWebBrowser::SetAutoFillUserAndPassword(bool newAutoFillUserAndPassword)
280{
281 if(m_bAutoFillUserAndPassword == newAutoFillUserAndPassword)
282 return;
283 m_bAutoFillUserAndPassword = newAutoFillUserAndPassword;
284 SetModified(true);
285}
286
287int CParameterWebBrowser::GetDatabaseViewLimit() const
288{
289 return m_nDatabaseViewLimit;
290}
291
292void CParameterWebBrowser::SetDatabaseViewLimit(int newLimit)
293{
294 if(m_nDatabaseViewLimit == newLimit)
295 return;
296 m_nDatabaseViewLimit = newLimit;
297 SetModified(true);
298}
299
300int CParameterWebBrowser::GetAddCompleterLines() const
301{
302 return m_nAddCompleterLines;
303}
304
305void CParameterWebBrowser::SetAddCompleterLines(int newAddCompleterLines)
306{
307 if(m_nAddCompleterLines == newAddCompleterLines)
308 return;
309 m_nAddCompleterLines = newAddCompleterLines;
310 SetModified(true);
311}
312
313QSize CParameterWebBrowser::GetWindowSize() const
314{
315 return m_WindowSize;
316}
317
318void CParameterWebBrowser::SetWindowSize(const QSize &newWindowSize)
319{
320 if(m_WindowSize == newWindowSize)
321 return;
322 m_WindowSize = newWindowSize;
323 SetModified(true);
324}
325
326int CParameterWebBrowser::GetBookmarkCurrentFolder() const
327{
328 return m_nBookmarkCurrentFolder;
329}
330
331void CParameterWebBrowser::SetBookmarkCurrentFolder(int newCurrentBookmarkFolder)
332{
333 if(m_nBookmarkCurrentFolder == newCurrentBookmarkFolder)
334 return;
335 m_nBookmarkCurrentFolder = newCurrentBookmarkFolder;
336 SetModified(true);
337}
338
339bool CParameterWebBrowser::GetBookmarkShowEditor() const
340{
341 return m_bBookmarkShowEditor;
342}
343
344void CParameterWebBrowser::SetBookmarkShowEditor(bool newBookmarkShowEditor)
345{
346 if(m_bBookmarkShowEditor == newBookmarkShowEditor)
347 return;
348 m_bBookmarkShowEditor = newBookmarkShowEditor;
349 SetModified(true);
350}
bool SetDatabase(const CDatabase *db)
Share an existing database.
Definition Database.cpp:34
Operational parameter interface.
CParameterPlugin * GetGlobalParameters()
Get CParameterPlugin.
Global parameters of plugins.
int SetModified(bool bModified=true)
When setting parameters, if there is a modification, it is called.