Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
collectionconfiguration.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
5
6#include <QtHelp/QHelpEngineCore>
7
9
10using namespace Qt::StringLiterals;
11
12namespace {
13 const QString AboutIconKey("AboutIcon"_L1);
14 const QString AboutImagesKey("AboutImages"_L1);
15 const QString AboutMenuTextsKey("AboutMenuTexts"_L1);
16 const QString AboutTextsKey("AboutTexts"_L1);
17 const QString ApplicationIconKey("ApplicationIcon"_L1);
18 const QString CacheDirKey("CacheDirectory"_L1);
19 const QString CacheDirRelativeToCollectionKey("CacheDirRelativeToCollection"_L1);
20 const QString CreationTimeKey("CreationTime"_L1);
21 const QString DefaultHomePageKey("defaultHomepage"_L1);
22 const QString EnableAddressBarKey("EnableAddressBar"_L1);
23 const QString EnableDocManagerKey("EnableDocumentationManager"_L1);
24 const QString EnableFilterKey("EnableFilterFunctionality"_L1);
25 const QString HideAddressBarKey("HideAddressBar"_L1);
26 const QString FilterToolbarHiddenKey("HideFilterFunctionality"_L1);
27 const QString LastPageKey("LastTabPage"_L1);
28 const QString LastRegisterTime("LastRegisterTime"_L1);
29 const QString LastShownPagesKey("LastShownPages"_L1);
30 const QString LastZoomFactorsKey(
31#if defined(BROWSER_QTWEBKIT)
32 "LastPagesZoomWebView"_L1
33#else
34 "LastPagesZoomTextBrowser"_L1
35#endif
36 );
37 const QString WindowTitleKey("WindowTitle"_L1);
38 const QString FullTextSearchFallbackKey("FullTextSearchFallback"_L1);
39} // anonymous namespace
40
43
44uint CollectionConfiguration::creationTime(const QHelpEngineCore &helpEngine)
45{
46 return helpEngine.customValue(CreationTimeKey, 0).toUInt();
47}
48
49void CollectionConfiguration::setCreationTime(QHelpEngineCore &helpEngine, uint time)
50{
51 helpEngine.setCustomValue(CreationTimeKey, time);
52}
53
54const QString CollectionConfiguration::windowTitle(const QHelpEngineCore &helpEngine)
55{
56 return helpEngine.customValue(WindowTitleKey).toString();
57}
58
59void CollectionConfiguration::setWindowTitle(QHelpEngineCore &helpEngine,
60 const QString &windowTitle)
61{
62 helpEngine.setCustomValue(WindowTitleKey, windowTitle);
63}
64
65bool CollectionConfiguration::filterFunctionalityEnabled(const QHelpEngineCore &helpEngine)
66{
67 return helpEngine.customValue(EnableFilterKey, true).toBool();
68}
69
71 bool enabled)
72{
73 helpEngine.setCustomValue(EnableFilterKey, enabled);
74}
75
76bool CollectionConfiguration::filterToolbarVisible(const QHelpEngineCore &helpEngine)
77{
78 return !helpEngine.customValue(FilterToolbarHiddenKey, true).toBool();
79}
80
81void CollectionConfiguration::setFilterToolbarVisible(QHelpEngineCore &helpEngine,
82 bool visible)
83{
84 helpEngine.setCustomValue(FilterToolbarHiddenKey, !visible);
85}
86
87bool CollectionConfiguration::addressBarEnabled(const QHelpEngineCore &helpEngine)
88{
89 return helpEngine.customValue(EnableAddressBarKey, true).toBool();
90}
91
92void CollectionConfiguration::setAddressBarEnabled(QHelpEngineCore &helpEngine,
93 bool enabled)
94{
95 helpEngine.setCustomValue(EnableAddressBarKey, enabled);
96}
97
98bool CollectionConfiguration::addressBarVisible(const QHelpEngineCore &helpEngine)
99{
100 return !helpEngine.customValue(HideAddressBarKey, true).toBool();
101}
102
103void CollectionConfiguration::setAddressBarVisible(QHelpEngineCore &helpEngine,
104 bool visible)
105{
106 helpEngine.setCustomValue(HideAddressBarKey, !visible);
107}
108
109const QString CollectionConfiguration::cacheDir(const QHelpEngineCore &helpEngine)
110{
111 return helpEngine.customValue(CacheDirKey).toString();
112}
113
114bool CollectionConfiguration::cacheDirIsRelativeToCollection(const QHelpEngineCore &helpEngine)
115{
116 return helpEngine.customValue(CacheDirRelativeToCollectionKey).toBool();
117}
118
119void CollectionConfiguration::setCacheDir(QHelpEngineCore &helpEngine,
120 const QString &cacheDir, bool relativeToCollection)
121{
122 helpEngine.setCustomValue(CacheDirKey, cacheDir);
123 helpEngine.setCustomValue(CacheDirRelativeToCollectionKey,
124 relativeToCollection);
125}
126
127bool CollectionConfiguration::documentationManagerEnabled(const QHelpEngineCore &helpEngine)
128{
129 return helpEngine.customValue(EnableDocManagerKey, true).toBool();
130}
131
133 bool enabled)
134{
135 helpEngine.setCustomValue(EnableDocManagerKey, enabled);
136}
137
138const QByteArray CollectionConfiguration::applicationIcon(const QHelpEngineCore &helpEngine)
139{
140 return helpEngine.customValue(ApplicationIconKey).toByteArray();
141}
142
143void CollectionConfiguration::setApplicationIcon(QHelpEngineCore &helpEngine,
144 const QByteArray &icon)
145{
146 helpEngine.setCustomValue(ApplicationIconKey, icon);
147}
148
149const QByteArray CollectionConfiguration::aboutMenuTexts(const QHelpEngineCore &helpEngine)
150{
151 return helpEngine.customValue(AboutMenuTextsKey).toByteArray();
152}
153
154void CollectionConfiguration::setAboutMenuTexts(QHelpEngineCore &helpEngine,
155 const QByteArray &texts)
156{
157 helpEngine.setCustomValue(AboutMenuTextsKey, texts);
158}
159
160const QByteArray CollectionConfiguration::aboutIcon(const QHelpEngineCore &helpEngine)
161{
162 return helpEngine.customValue(AboutIconKey).toByteArray();
163}
164
165void CollectionConfiguration::setAboutIcon(QHelpEngineCore &helpEngine,
166 const QByteArray &icon)
167{
168 helpEngine.setCustomValue(AboutIconKey, icon);
169}
170
171const QByteArray CollectionConfiguration::aboutTexts(const QHelpEngineCore &helpEngine)
172{
173 return helpEngine.customValue(AboutTextsKey).toByteArray();
174}
175
176void CollectionConfiguration::setAboutTexts(QHelpEngineCore &helpEngine,
177 const QByteArray &texts)
178{
179 helpEngine.setCustomValue(AboutTextsKey, texts);
180}
181
182const QByteArray CollectionConfiguration::aboutImages(const QHelpEngineCore &helpEngine)
183{
184 return helpEngine.customValue(AboutImagesKey).toByteArray();
185}
186
187void CollectionConfiguration::setAboutImages(QHelpEngineCore &helpEngine,
188 const QByteArray &images)
189{
190 helpEngine.setCustomValue(AboutImagesKey, images);
191}
192
193const QString CollectionConfiguration::defaultHomePage(const QHelpEngineCore &helpEngine)
194{
195 return helpEngine.customValue(DefaultHomePageKey, "help"_L1).toString();
196}
197
198void CollectionConfiguration::setDefaultHomePage(QHelpEngineCore &helpEngine,
199 const QString &page)
200{
201 helpEngine.setCustomValue(DefaultHomePageKey, page);
202}
203
204const QStringList CollectionConfiguration::lastShownPages(const QHelpEngineCore &helpEngine)
205{
206 return helpEngine.customValue(LastShownPagesKey).toString().
207 split(ListSeparator, Qt::SkipEmptyParts);
208}
209
210void CollectionConfiguration::setLastShownPages(QHelpEngineCore &helpEngine,
211 const QStringList &lastShownPages)
212{
213 helpEngine.setCustomValue(LastShownPagesKey,
214 lastShownPages.join(ListSeparator));
215}
216
217const QStringList CollectionConfiguration::lastZoomFactors(const QHelpEngineCore &helpEngine)
218{
219 return helpEngine.customValue(LastZoomFactorsKey).toString().
220 split(ListSeparator, Qt::SkipEmptyParts);
221}
222
223void CollectionConfiguration::setLastZoomFactors(QHelpEngineCore &helpEngine,
224 const QStringList &lastZoomFactors)
225{
226 helpEngine.setCustomValue(LastZoomFactorsKey,
227 lastZoomFactors.join(ListSeparator));
228}
229
230int CollectionConfiguration::lastTabPage(const QHelpEngineCore &helpEngine)
231{
232 return helpEngine.customValue(LastPageKey, 1).toInt();
233}
234
235void CollectionConfiguration::setLastTabPage(QHelpEngineCore &helpEngine,
236 int lastPage)
237{
238 helpEngine.setCustomValue(LastPageKey, lastPage);
239}
240
241const QDateTime CollectionConfiguration::lastRegisterTime(const QHelpEngineCore &helpEngine)
242{
243 return helpEngine.customValue(LastRegisterTime, QDateTime()).toDateTime();
244}
245
246void CollectionConfiguration::updateLastRegisterTime(QHelpEngineCore &helpEngine, QDateTime dt)
247{
248 helpEngine.setCustomValue(LastRegisterTime, dt);
249}
250
251void CollectionConfiguration::updateLastRegisterTime(QHelpEngineCore &helpEngine)
252{
253 updateLastRegisterTime(helpEngine, QDateTime::currentDateTime());
254}
255
256bool CollectionConfiguration::isNewer(const QHelpEngineCore &newer,
257 const QHelpEngineCore &older)
258{
259 return creationTime(newer) > creationTime(older);
260}
261
262void CollectionConfiguration::copyConfiguration(const QHelpEngineCore &source,
263 QHelpEngineCore &target)
264{
265 setCreationTime(target, creationTime(source));
266 setWindowTitle(target, windowTitle(source));
267 target.setCurrentFilter(source.currentFilter());
268 setCacheDir(target, cacheDir(source), cacheDirIsRelativeToCollection(source));
274 setApplicationIcon(target, applicationIcon(source));
275 setAboutMenuTexts(target, aboutMenuTexts(source));
276 setAboutIcon(target, aboutIcon(source));
277 setAboutTexts(target, aboutTexts(source));
278 setAboutImages(target, aboutImages(source));
279 setDefaultHomePage(target, defaultHomePage(source));
281}
282
284 const QHelpEngineCore &helpEngine)
285{
286 return helpEngine.customValue(FullTextSearchFallbackKey, false).toBool();
287}
288
290 QHelpEngineCore &helpEngine, bool on)
291{
292 helpEngine.setCustomValue(FullTextSearchFallbackKey, on);
293}
294
295QT_END_NAMESPACE
static void setFullTextSearchFallbackEnabled(QHelpEngineCore &helpEngine, bool on)
static bool filterFunctionalityEnabled(const QHelpEngineCore &helpEngine)
static bool isNewer(const QHelpEngineCore &newer, const QHelpEngineCore &older)
static void setLastTabPage(QHelpEngineCore &helpEngine, int lastPage)
static bool addressBarVisible(const QHelpEngineCore &helpEngine)
static bool addressBarEnabled(const QHelpEngineCore &helpEngine)
static void setAddressBarVisible(QHelpEngineCore &helpEngine, bool visible)
static void setDocumentationManagerEnabled(QHelpEngineCore &helpEngine, bool enabled)
static bool documentationManagerEnabled(const QHelpEngineCore &helpEngine)
static void copyConfiguration(const QHelpEngineCore &source, QHelpEngineCore &target)
static void setAddressBarEnabled(QHelpEngineCore &helpEngine, bool enabled)
static const QString ListSeparator
static const QString DefaultZoomFactor
static void updateLastRegisterTime(QHelpEngineCore &helpEngine)
static int lastTabPage(const QHelpEngineCore &helpEngine)
static bool cacheDirIsRelativeToCollection(const QHelpEngineCore &helpEngine)
static void setFilterToolbarVisible(QHelpEngineCore &helpEngine, bool visible)
static void setFilterFunctionalityEnabled(QHelpEngineCore &helpEngine, bool enabled)
static bool filterToolbarVisible(const QHelpEngineCore &helpEngine)
static bool fullTextSearchFallbackEnabled(const QHelpEngineCore &helpEngine)
Combined button and popup list for selecting options.