1 | /* |
---|
2 | |
---|
3 | Copyright 2015 S. Razi Alavizadeh |
---|
4 | Copyright 2012-2015 Adam Reichold |
---|
5 | Copyright 2012 Alexander Volkov |
---|
6 | |
---|
7 | This file is part of qpdfview. |
---|
8 | |
---|
9 | qpdfview is free software: you can redistribute it and/or modify |
---|
10 | it under the terms of the GNU General Public License as published by |
---|
11 | the Free Software Foundation, either version 2 of the License, or |
---|
12 | (at your option) any later version. |
---|
13 | |
---|
14 | qpdfview is distributed in the hope that it will be useful, |
---|
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
17 | GNU General Public License for more details. |
---|
18 | |
---|
19 | You should have received a copy of the GNU General Public License |
---|
20 | along with qpdfview. If not, see <http://www.gnu.org/licenses/>. |
---|
21 | |
---|
22 | */ |
---|
23 | |
---|
24 | #include "settings.h" |
---|
25 | |
---|
26 | #include <QApplication> |
---|
27 | #include <QDesktopWidget> |
---|
28 | #include <QLocale> |
---|
29 | #include <QSettings> |
---|
30 | |
---|
31 | #if QT_VERSION >= QT_VERSION_CHECK(5,0,0) |
---|
32 | |
---|
33 | #include <QStandardPaths> |
---|
34 | |
---|
35 | #else |
---|
36 | |
---|
37 | #include <QDesktopServices> |
---|
38 | |
---|
39 | #endif // QT_VERSION |
---|
40 | |
---|
41 | namespace |
---|
42 | { |
---|
43 | |
---|
44 | inline QStringList trimmed(const QStringList& list) |
---|
45 | { |
---|
46 | QStringList trimmedList; |
---|
47 | |
---|
48 | foreach(const QString& item, list) |
---|
49 | { |
---|
50 | trimmedList.append(item.trimmed()); |
---|
51 | } |
---|
52 | |
---|
53 | return trimmedList; |
---|
54 | } |
---|
55 | |
---|
56 | } // anonymous |
---|
57 | |
---|
58 | namespace qpdfview |
---|
59 | { |
---|
60 | |
---|
61 | Settings* Settings::s_instance = 0; |
---|
62 | |
---|
63 | Settings* Settings::instance() |
---|
64 | { |
---|
65 | if(s_instance == 0) |
---|
66 | { |
---|
67 | s_instance = new Settings(qApp); |
---|
68 | |
---|
69 | s_instance->sync(); |
---|
70 | } |
---|
71 | |
---|
72 | return s_instance; |
---|
73 | } |
---|
74 | |
---|
75 | Settings::~Settings() |
---|
76 | { |
---|
77 | s_instance = 0; |
---|
78 | } |
---|
79 | |
---|
80 | // page item |
---|
81 | |
---|
82 | void Settings::PageItem::sync() |
---|
83 | { |
---|
84 | m_cacheSize = m_settings->value("pageItem/cacheSize", Defaults::PageItem::cacheSize()).toInt(); |
---|
85 | |
---|
86 | m_useTiling = m_settings->value("pageItem/useTiling", Defaults::PageItem::useTiling()).toBool(); |
---|
87 | m_tileSize = m_settings->value("pageItem/tileSize", Defaults::PageItem::tileSize()).toInt(); |
---|
88 | |
---|
89 | m_keepObsoletePixmaps = m_settings->value("pageItem/keepObsoletePixmaps", Defaults::PageItem::keepObsoletePixmaps()).toBool(); |
---|
90 | m_useDevicePixelRatio = m_settings->value("pageItem/useDevicePixelRatio", Defaults::PageItem::useDevicePixelRatio()).toBool(); |
---|
91 | |
---|
92 | m_decoratePages = m_settings->value("pageItem/decoratePages", Defaults::PageItem::decoratePages()).toBool(); |
---|
93 | m_decorateLinks = m_settings->value("pageItem/decorateLinks", Defaults::PageItem::decorateLinks()).toBool(); |
---|
94 | m_decorateFormFields = m_settings->value("pageItem/decorateFormFields", Defaults::PageItem::decorateFormFields()).toBool(); |
---|
95 | |
---|
96 | m_backgroundColor = m_settings->value("pageItem/backgroundColor", Defaults::PageItem::backgroundColor()).value< QColor >(); |
---|
97 | m_paperColor = m_settings->value("pageItem/paperColor", Defaults::PageItem::paperColor()).value< QColor >(); |
---|
98 | |
---|
99 | m_highlightColor = m_settings->value("pageItem/highlightColor", Defaults::PageItem::highlightColor()).value< QColor >(); |
---|
100 | } |
---|
101 | |
---|
102 | void Settings::PageItem::setCacheSize(int cacheSize) |
---|
103 | { |
---|
104 | if(cacheSize >= 0) |
---|
105 | { |
---|
106 | m_cacheSize = cacheSize; |
---|
107 | m_settings->setValue("pageItem/cacheSize", cacheSize); |
---|
108 | } |
---|
109 | } |
---|
110 | |
---|
111 | void Settings::PageItem::setUseTiling(bool useTiling) |
---|
112 | { |
---|
113 | m_useTiling = useTiling; |
---|
114 | m_settings->setValue("pageItem/useTiling", useTiling); |
---|
115 | } |
---|
116 | |
---|
117 | void Settings::PageItem::setKeepObsoletePixmaps(bool keepObsoletePixmaps) |
---|
118 | { |
---|
119 | m_keepObsoletePixmaps = keepObsoletePixmaps; |
---|
120 | m_settings->setValue("pageItem/keepObsoletePixmaps", keepObsoletePixmaps); |
---|
121 | } |
---|
122 | |
---|
123 | void Settings::PageItem::setUseDevicePixelRatio(bool useDevicePixelRatio) |
---|
124 | { |
---|
125 | m_useDevicePixelRatio = useDevicePixelRatio; |
---|
126 | m_settings->setValue("pageItem/useDevicePixelRatio", useDevicePixelRatio); |
---|
127 | } |
---|
128 | |
---|
129 | void Settings::PageItem::setDecoratePages(bool decoratePages) |
---|
130 | { |
---|
131 | m_decoratePages = decoratePages; |
---|
132 | m_settings->setValue("pageItem/decoratePages", decoratePages); |
---|
133 | } |
---|
134 | |
---|
135 | void Settings::PageItem::setDecorateLinks(bool decorateLinks) |
---|
136 | { |
---|
137 | m_decorateLinks = decorateLinks; |
---|
138 | m_settings->setValue("pageItem/decorateLinks", decorateLinks); |
---|
139 | } |
---|
140 | |
---|
141 | void Settings::PageItem::setDecorateFormFields(bool decorateFormFields) |
---|
142 | { |
---|
143 | m_decorateFormFields = decorateFormFields; |
---|
144 | m_settings->setValue("pageItem/decorateFormFields", decorateFormFields); |
---|
145 | } |
---|
146 | |
---|
147 | void Settings::PageItem::setBackgroundColor(const QColor& backgroundColor) |
---|
148 | { |
---|
149 | m_backgroundColor = backgroundColor; |
---|
150 | m_settings->setValue("pageItem/backgroundColor", backgroundColor); |
---|
151 | } |
---|
152 | |
---|
153 | void Settings::PageItem::setPaperColor(const QColor& paperColor) |
---|
154 | { |
---|
155 | m_paperColor = paperColor; |
---|
156 | m_settings->setValue("pageItem/paperColor", paperColor); |
---|
157 | } |
---|
158 | |
---|
159 | void Settings::PageItem::setHighlightColor(const QColor& highlightColor) |
---|
160 | { |
---|
161 | m_highlightColor = highlightColor; |
---|
162 | m_settings->setValue("pageItem/highlightColor", highlightColor); |
---|
163 | } |
---|
164 | |
---|
165 | QColor Settings::PageItem::annotationColor() const |
---|
166 | { |
---|
167 | return m_settings->value("pageItem/annotationColor", Defaults::PageItem::annotationColor()).value< QColor >(); |
---|
168 | } |
---|
169 | |
---|
170 | void Settings::PageItem::setAnnotationColor(const QColor& annotationColor) |
---|
171 | { |
---|
172 | m_settings->setValue("pageItem/annotationColor", annotationColor); |
---|
173 | } |
---|
174 | |
---|
175 | Qt::KeyboardModifiers Settings::PageItem::copyToClipboardModifiers() const |
---|
176 | { |
---|
177 | return static_cast< Qt::KeyboardModifiers >(m_settings->value("pageItem/copyToClipboardModifiers", static_cast< int >(Defaults::PageItem::copyToClipboardModifiers())).toInt()); |
---|
178 | } |
---|
179 | |
---|
180 | void Settings::PageItem::setCopyToClipboardModifiers(const Qt::KeyboardModifiers& modifiers) |
---|
181 | { |
---|
182 | m_settings->setValue("pageItem/copyToClipboardModifiers", static_cast< int >(modifiers)); |
---|
183 | } |
---|
184 | |
---|
185 | Qt::KeyboardModifiers Settings::PageItem::addAnnotationModifiers() const |
---|
186 | { |
---|
187 | return static_cast< Qt::KeyboardModifiers >(m_settings->value("pageItem/addAnnotationModifiers", static_cast< int >(Defaults::PageItem::addAnnotationModifiers())).toInt()); |
---|
188 | } |
---|
189 | |
---|
190 | void Settings::PageItem::setAddAnnotationModifiers(const Qt::KeyboardModifiers& modifiers) |
---|
191 | { |
---|
192 | m_settings->setValue("pageItem/addAnnotationModifiers", static_cast< int >(modifiers)); |
---|
193 | } |
---|
194 | |
---|
195 | Qt::KeyboardModifiers Settings::PageItem::zoomToSelectionModifiers() const |
---|
196 | { |
---|
197 | return static_cast< Qt::KeyboardModifiers>(m_settings->value("pageItem/zoomToSelectionModifiers", static_cast< int >(Defaults::PageItem::zoomToSelectionModifiers())).toInt()); |
---|
198 | } |
---|
199 | |
---|
200 | void Settings::PageItem::setZoomToSelectionModifiers(const Qt::KeyboardModifiers& modifiers) |
---|
201 | { |
---|
202 | m_settings->setValue("pageItem/zoomToSelectionModifiers", static_cast< int >(modifiers)); |
---|
203 | } |
---|
204 | |
---|
205 | bool Settings::PageItem::annotationOverlay() const |
---|
206 | { |
---|
207 | return m_settings->value("pageItem/annotationOverlay", Defaults::PageItem::annotationOverlay()).toBool(); |
---|
208 | } |
---|
209 | |
---|
210 | void Settings::PageItem::setAnnotationOverlay(bool overlay) |
---|
211 | { |
---|
212 | m_settings->setValue("pageItem/annotationOverlay", overlay); |
---|
213 | } |
---|
214 | |
---|
215 | bool Settings::PageItem::formFieldOverlay() const |
---|
216 | { |
---|
217 | return m_settings->value("pageItem/formFieldOverlay", Defaults::PageItem::formFieldOverlay()).toBool(); |
---|
218 | } |
---|
219 | |
---|
220 | void Settings::PageItem::setFormFieldOverlay(bool overlay) |
---|
221 | { |
---|
222 | m_settings->setValue("pageItem/formFieldOverlay", overlay); |
---|
223 | } |
---|
224 | |
---|
225 | Settings::PageItem::PageItem(QSettings* settings) : |
---|
226 | m_settings(settings), |
---|
227 | m_cacheSize(Defaults::PageItem::cacheSize()), |
---|
228 | m_progressIcon(), |
---|
229 | m_errorIcon(), |
---|
230 | m_keepObsoletePixmaps(Defaults::PageItem::keepObsoletePixmaps()), |
---|
231 | m_useDevicePixelRatio(false), |
---|
232 | m_decoratePages(Defaults::PageItem::decoratePages()), |
---|
233 | m_decorateLinks(Defaults::PageItem::decorateLinks()), |
---|
234 | m_decorateFormFields(Defaults::PageItem::decorateFormFields()), |
---|
235 | m_backgroundColor(Defaults::PageItem::backgroundColor()), |
---|
236 | m_paperColor(Defaults::PageItem::paperColor()), |
---|
237 | m_highlightColor(Defaults::PageItem::highlightColor()) |
---|
238 | { |
---|
239 | } |
---|
240 | |
---|
241 | // presentation view |
---|
242 | |
---|
243 | bool Settings::PresentationView::synchronize() const |
---|
244 | { |
---|
245 | return m_settings->value("presentationView/synchronize", Defaults::PresentationView::synchronize()).toBool(); |
---|
246 | } |
---|
247 | |
---|
248 | void Settings::PresentationView::setSynchronize(bool synchronize) |
---|
249 | { |
---|
250 | m_settings->setValue("presentationView/synchronize", synchronize); |
---|
251 | } |
---|
252 | |
---|
253 | int Settings::PresentationView::screen() const |
---|
254 | { |
---|
255 | int screen = m_settings->value("presentationView/screen", Defaults::PresentationView::screen()).toInt(); |
---|
256 | |
---|
257 | if(screen < -1 || screen >= QApplication::desktop()->screenCount()) |
---|
258 | { |
---|
259 | screen = -1; |
---|
260 | } |
---|
261 | |
---|
262 | return screen; |
---|
263 | } |
---|
264 | |
---|
265 | void Settings::PresentationView::setScreen(int screen) |
---|
266 | { |
---|
267 | m_settings->setValue("presentationView/screen", screen); |
---|
268 | } |
---|
269 | |
---|
270 | QColor Settings::PresentationView::backgroundColor() const |
---|
271 | { |
---|
272 | return m_settings->value("presentationView/backgroundColor", Defaults::PresentationView::backgroundColor()).value< QColor >(); |
---|
273 | } |
---|
274 | |
---|
275 | void Settings::PresentationView::setBackgroundColor(const QColor& backgroundColor) |
---|
276 | { |
---|
277 | m_settings->setValue("presentationView/backgroundColor", backgroundColor); |
---|
278 | } |
---|
279 | |
---|
280 | Settings::PresentationView::PresentationView(QSettings* settings) : |
---|
281 | m_settings(settings) |
---|
282 | { |
---|
283 | } |
---|
284 | |
---|
285 | // document view |
---|
286 | |
---|
287 | void Settings::DocumentView::sync() |
---|
288 | { |
---|
289 | m_prefetch = m_settings->value("documentView/prefetch", Defaults::DocumentView::prefetch()).toBool(); |
---|
290 | m_prefetchDistance = m_settings->value("documentView/prefetchDistance", Defaults::DocumentView::prefetchDistance()).toInt(); |
---|
291 | |
---|
292 | m_pagesPerRow = m_settings->value("documentView/pagesPerRow", Defaults::DocumentView::pagesPerRow()).toInt(); |
---|
293 | |
---|
294 | m_minimalScrolling = m_settings->value("documentView/minimalScrolling", Defaults::DocumentView::minimalScrolling()).toBool(); |
---|
295 | |
---|
296 | m_highlightCurrentThumbnail = m_settings->value("documentView/highlightCurrentThumbnail", Defaults::DocumentView::highlightCurrentThumbnail()).toBool(); |
---|
297 | m_limitThumbnailsToResults = m_settings->value("documentView/limitThumbnailsToResults", Defaults::DocumentView::limitThumbnailsToResults()).toBool(); |
---|
298 | |
---|
299 | m_pageSpacing = m_settings->value("documentView/pageSpacing", Defaults::DocumentView::pageSpacing()).toReal(); |
---|
300 | m_thumbnailSpacing = m_settings->value("documentView/thumbnailSpacing", Defaults::DocumentView::thumbnailSpacing()).toReal(); |
---|
301 | |
---|
302 | m_thumbnailSize = m_settings->value("documentView/thumbnailSize", Defaults::DocumentView::thumbnailSize()).toReal(); |
---|
303 | } |
---|
304 | |
---|
305 | bool Settings::DocumentView::openUrl() const |
---|
306 | { |
---|
307 | return m_settings->value("documentView/openUrl", Defaults::DocumentView::openUrl()).toBool(); |
---|
308 | } |
---|
309 | |
---|
310 | void Settings::DocumentView::setOpenUrl(bool openUrl) |
---|
311 | { |
---|
312 | m_settings->setValue("documentView/openUrl", openUrl); |
---|
313 | } |
---|
314 | |
---|
315 | bool Settings::DocumentView::autoRefresh() const |
---|
316 | { |
---|
317 | return m_settings->value("documentView/autoRefresh", Defaults::DocumentView::autoRefresh()).toBool(); |
---|
318 | } |
---|
319 | |
---|
320 | void Settings::DocumentView::setAutoRefresh(bool autoRefresh) |
---|
321 | { |
---|
322 | m_settings->setValue("documentView/autoRefresh", autoRefresh); |
---|
323 | } |
---|
324 | |
---|
325 | int Settings::DocumentView::autoRefreshTimeout() const |
---|
326 | { |
---|
327 | return m_settings->value("documentView/autoRefreshTimeout", Defaults::DocumentView::autoRefreshTimeout()).toInt(); |
---|
328 | } |
---|
329 | |
---|
330 | void Settings::DocumentView::setPrefetch(bool prefetch) |
---|
331 | { |
---|
332 | m_prefetch = prefetch; |
---|
333 | m_settings->setValue("documentView/prefetch", prefetch); |
---|
334 | } |
---|
335 | |
---|
336 | void Settings::DocumentView::setPrefetchDistance(int prefetchDistance) |
---|
337 | { |
---|
338 | if(prefetchDistance > 0) |
---|
339 | { |
---|
340 | m_prefetchDistance = prefetchDistance; |
---|
341 | m_settings->setValue("documentView/prefetchDistance", prefetchDistance); |
---|
342 | } |
---|
343 | } |
---|
344 | |
---|
345 | int Settings::DocumentView::prefetchTimeout() const |
---|
346 | { |
---|
347 | return m_settings->value("documentView/prefetchTimeout", Defaults::DocumentView::prefetchTimeout()).toInt(); |
---|
348 | } |
---|
349 | |
---|
350 | void Settings::DocumentView::setPagesPerRow(int pagesPerRow) |
---|
351 | { |
---|
352 | if(pagesPerRow > 0) |
---|
353 | { |
---|
354 | m_pagesPerRow = pagesPerRow; |
---|
355 | m_settings->setValue("documentView/pagesPerRow", pagesPerRow); |
---|
356 | } |
---|
357 | } |
---|
358 | |
---|
359 | void Settings::DocumentView::setMinimalScrolling(bool minimalScrolling) |
---|
360 | { |
---|
361 | m_minimalScrolling = minimalScrolling; |
---|
362 | m_settings->setValue("documentView/minimalScrolling", minimalScrolling); |
---|
363 | } |
---|
364 | |
---|
365 | void Settings::DocumentView::setHighlightCurrentThumbnail(bool highlightCurrentThumbnail) |
---|
366 | { |
---|
367 | m_highlightCurrentThumbnail = highlightCurrentThumbnail; |
---|
368 | m_settings->setValue("documentView/highlightCurrentThumbnail", highlightCurrentThumbnail); |
---|
369 | } |
---|
370 | |
---|
371 | void Settings::DocumentView::setLimitThumbnailsToResults(bool limitThumbnailsToResults) |
---|
372 | { |
---|
373 | m_limitThumbnailsToResults = limitThumbnailsToResults; |
---|
374 | m_settings->setValue("documentView/limitThumbnailsToResults", limitThumbnailsToResults); |
---|
375 | } |
---|
376 | |
---|
377 | qreal Settings::DocumentView::minimumScaleFactor() const |
---|
378 | { |
---|
379 | return m_settings->value("documentView/minimumScaleFactor", Defaults::DocumentView::minimumScaleFactor()).toReal(); |
---|
380 | } |
---|
381 | |
---|
382 | qreal Settings::DocumentView::maximumScaleFactor() const |
---|
383 | { |
---|
384 | return m_settings->value("documentView/maximumScaleFactor", Defaults::DocumentView::maximumScaleFactor()).toReal(); |
---|
385 | } |
---|
386 | |
---|
387 | qreal Settings::DocumentView::zoomFactor() const |
---|
388 | { |
---|
389 | return m_settings->value("documentView/zoomFactor", Defaults::DocumentView::zoomFactor()).toReal(); |
---|
390 | } |
---|
391 | |
---|
392 | void Settings::DocumentView::setZoomFactor(qreal zoomFactor) |
---|
393 | { |
---|
394 | m_settings->setValue("documentView/zoomFactor", zoomFactor); |
---|
395 | } |
---|
396 | |
---|
397 | void Settings::DocumentView::setPageSpacing(qreal pageSpacing) |
---|
398 | { |
---|
399 | if(pageSpacing >= 0.0) |
---|
400 | { |
---|
401 | m_pageSpacing = pageSpacing; |
---|
402 | m_settings->setValue("documentView/pageSpacing", pageSpacing); |
---|
403 | } |
---|
404 | } |
---|
405 | |
---|
406 | void Settings::DocumentView::setThumbnailSpacing(qreal thumbnailSpacing) |
---|
407 | { |
---|
408 | if(thumbnailSpacing >= 0.0) |
---|
409 | { |
---|
410 | m_thumbnailSpacing = thumbnailSpacing; |
---|
411 | m_settings->setValue("documentView/thumbnailSpacing", thumbnailSpacing); |
---|
412 | } |
---|
413 | } |
---|
414 | |
---|
415 | void Settings::DocumentView::setThumbnailSize(qreal thumbnailSize) |
---|
416 | { |
---|
417 | if(thumbnailSize >= 0.0) |
---|
418 | { |
---|
419 | m_thumbnailSize = thumbnailSize; |
---|
420 | m_settings->setValue("documentView/thumbnailSize", thumbnailSize); |
---|
421 | } |
---|
422 | } |
---|
423 | |
---|
424 | bool Settings::DocumentView::matchCase() const |
---|
425 | { |
---|
426 | return m_settings->value("documentView/matchCase", Defaults::DocumentView::matchCase()).toBool(); |
---|
427 | } |
---|
428 | |
---|
429 | void Settings::DocumentView::setMatchCase(bool matchCase) |
---|
430 | { |
---|
431 | m_settings->setValue("documentView/matchCase", matchCase); |
---|
432 | } |
---|
433 | |
---|
434 | bool Settings::DocumentView::wholeWords() const |
---|
435 | { |
---|
436 | return m_settings->value("documentView/wholeWords", Defaults::DocumentView::wholeWords()).toBool(); |
---|
437 | } |
---|
438 | |
---|
439 | void Settings::DocumentView::setWholeWords(bool wholeWords) |
---|
440 | { |
---|
441 | m_settings->setValue("documentView/wholeWords", wholeWords); |
---|
442 | } |
---|
443 | |
---|
444 | int Settings::DocumentView::highlightDuration() const |
---|
445 | { |
---|
446 | return m_settings->value("documentView/highlightDuration", Defaults::DocumentView::highlightDuration()).toInt(); |
---|
447 | } |
---|
448 | |
---|
449 | void Settings::DocumentView::setHighlightDuration(int highlightDuration) |
---|
450 | { |
---|
451 | if(highlightDuration >= 0) |
---|
452 | { |
---|
453 | m_settings->setValue("documentView/highlightDuration", highlightDuration); |
---|
454 | } |
---|
455 | } |
---|
456 | |
---|
457 | QString Settings::DocumentView::sourceEditor() const |
---|
458 | { |
---|
459 | return m_settings->value("documentView/sourceEditor", Defaults::DocumentView::sourceEditor()).toString(); |
---|
460 | } |
---|
461 | |
---|
462 | void Settings::DocumentView::setSourceEditor(const QString& sourceEditor) |
---|
463 | { |
---|
464 | m_settings->setValue("documentView/sourceEditor", sourceEditor); |
---|
465 | } |
---|
466 | |
---|
467 | Qt::KeyboardModifiers Settings::DocumentView::zoomModifiers() const |
---|
468 | { |
---|
469 | return static_cast< Qt::KeyboardModifiers >(m_settings->value("documentView/zoomModifiers", static_cast< int >(Defaults::DocumentView::zoomModifiers())).toInt()); |
---|
470 | } |
---|
471 | |
---|
472 | void Settings::DocumentView::setZoomModifiers(const Qt::KeyboardModifiers& zoomModifiers) |
---|
473 | { |
---|
474 | m_settings->setValue("documentView/zoomModifiers", static_cast< int >(zoomModifiers)); |
---|
475 | } |
---|
476 | |
---|
477 | Qt::KeyboardModifiers Settings::DocumentView::rotateModifiers() const |
---|
478 | { |
---|
479 | return static_cast< Qt::KeyboardModifiers >(m_settings->value("documentView/rotateModifiers", static_cast< int >(Defaults::DocumentView::rotateModifiers())).toInt()); |
---|
480 | } |
---|
481 | |
---|
482 | void Settings::DocumentView::setRotateModifiers(const Qt::KeyboardModifiers& rotateModifiers) |
---|
483 | { |
---|
484 | m_settings->setValue("documentView/rotateModifiers", static_cast< int >(rotateModifiers)); |
---|
485 | } |
---|
486 | |
---|
487 | Qt::KeyboardModifiers Settings::DocumentView::scrollModifiers() const |
---|
488 | { |
---|
489 | return static_cast< Qt::KeyboardModifiers >(m_settings->value("documentView/scrollModifiers", static_cast< int >(Defaults::DocumentView::scrollModifiers())).toInt()); |
---|
490 | } |
---|
491 | |
---|
492 | void Settings::DocumentView::setScrollModifiers(const Qt::KeyboardModifiers& scrollModifiers) |
---|
493 | { |
---|
494 | m_settings->setValue("documentView/scrollModifiers", static_cast< int >(scrollModifiers)); |
---|
495 | } |
---|
496 | |
---|
497 | // per-tab settings |
---|
498 | |
---|
499 | bool Settings::DocumentView::continuousMode() const |
---|
500 | { |
---|
501 | return m_settings->value("documentView/continuousMode", Defaults::DocumentView::continuousMode()).toBool(); |
---|
502 | } |
---|
503 | |
---|
504 | void Settings::DocumentView::setContinuousMode(bool continuousMode) |
---|
505 | { |
---|
506 | m_settings->setValue("documentView/continuousMode", continuousMode); |
---|
507 | } |
---|
508 | |
---|
509 | LayoutMode Settings::DocumentView::layoutMode() const |
---|
510 | { |
---|
511 | return static_cast< LayoutMode >(m_settings->value("documentView/layoutMode", static_cast< uint >(Defaults::DocumentView::layoutMode())).toUInt()); |
---|
512 | } |
---|
513 | |
---|
514 | void Settings::DocumentView::setLayoutMode(LayoutMode layoutMode) |
---|
515 | { |
---|
516 | m_settings->setValue("documentView/layoutMode", static_cast< uint >(layoutMode)); |
---|
517 | } |
---|
518 | |
---|
519 | bool Settings::DocumentView::rightToLeftMode() const |
---|
520 | { |
---|
521 | return m_settings->value("documentView/rightToLeftMode", Defaults::DocumentView::rightToLeftMode()).toBool(); |
---|
522 | } |
---|
523 | |
---|
524 | void Settings::DocumentView::setRightToLeftMode(bool rightToLeftMode) |
---|
525 | { |
---|
526 | m_settings->setValue("documentView/rightToLeftMode", rightToLeftMode); |
---|
527 | } |
---|
528 | |
---|
529 | ScaleMode Settings::DocumentView::scaleMode() const |
---|
530 | { |
---|
531 | return static_cast< ScaleMode >(m_settings->value("documentView/scaleMode", static_cast< uint >(Defaults::DocumentView::scaleMode())).toUInt()); |
---|
532 | } |
---|
533 | |
---|
534 | void Settings::DocumentView::setScaleMode(ScaleMode scaleMode) |
---|
535 | { |
---|
536 | m_settings->setValue("documentView/scaleMode", static_cast< uint >(scaleMode)); |
---|
537 | } |
---|
538 | |
---|
539 | qreal Settings::DocumentView::scaleFactor() const |
---|
540 | { |
---|
541 | return m_settings->value("documentView/scaleFactor", Defaults::DocumentView::scaleFactor()).toReal(); |
---|
542 | } |
---|
543 | |
---|
544 | void Settings::DocumentView::setScaleFactor(qreal scaleFactor) |
---|
545 | { |
---|
546 | m_settings->setValue("documentView/scaleFactor", scaleFactor); |
---|
547 | } |
---|
548 | |
---|
549 | Rotation Settings::DocumentView::rotation() const |
---|
550 | { |
---|
551 | return static_cast< Rotation >(m_settings->value("documentView/rotation", static_cast< uint >(Defaults::DocumentView::rotation())).toUInt()); |
---|
552 | } |
---|
553 | |
---|
554 | void Settings::DocumentView::setRotation(Rotation rotation) |
---|
555 | { |
---|
556 | m_settings->setValue("documentView/rotation", static_cast< uint >(rotation)); |
---|
557 | } |
---|
558 | |
---|
559 | bool Settings::DocumentView::invertColors() const |
---|
560 | { |
---|
561 | return m_settings->value("documentView/invertColors", Defaults::DocumentView::invertColors()).toBool(); |
---|
562 | } |
---|
563 | |
---|
564 | void Settings::DocumentView::setInvertColors(bool invertColors) |
---|
565 | { |
---|
566 | m_settings->setValue("documentView/invertColors", invertColors); |
---|
567 | } |
---|
568 | |
---|
569 | bool Settings::DocumentView::convertToGrayscale() const |
---|
570 | { |
---|
571 | return m_settings->value("documentView/convertToGrayscale", Defaults::DocumentView::convertToGrayscale()).toBool(); |
---|
572 | } |
---|
573 | |
---|
574 | void Settings::DocumentView::setConvertToGrayscale(bool convertToGrayscale) |
---|
575 | { |
---|
576 | m_settings->setValue("documentView/convertToGrayscale", convertToGrayscale); |
---|
577 | } |
---|
578 | |
---|
579 | bool Settings::DocumentView::trimMargins() const |
---|
580 | { |
---|
581 | return m_settings->value("documentView/trimMargins", Defaults::DocumentView::trimMargins()).toBool(); |
---|
582 | } |
---|
583 | |
---|
584 | void Settings::DocumentView::setTrimMargins(bool trimMargins) |
---|
585 | { |
---|
586 | m_settings->setValue("documentView/trimMargins", trimMargins); |
---|
587 | } |
---|
588 | |
---|
589 | CompositionMode Settings::DocumentView::compositionMode() const |
---|
590 | { |
---|
591 | return static_cast< CompositionMode >(m_settings->value("documentView/compositionMode", static_cast< uint >(Defaults::DocumentView::compositionMode())).toInt()); |
---|
592 | } |
---|
593 | |
---|
594 | void Settings::DocumentView::setCompositionMode(CompositionMode compositionMode) |
---|
595 | { |
---|
596 | m_settings->setValue("documentView/compositionMode", static_cast< uint >(compositionMode)); |
---|
597 | } |
---|
598 | |
---|
599 | bool Settings::DocumentView::highlightAll() const |
---|
600 | { |
---|
601 | return m_settings->value("documentView/highlightAll", Defaults::DocumentView::highlightAll()).toBool(); |
---|
602 | } |
---|
603 | |
---|
604 | void Settings::DocumentView::setHighlightAll(bool highlightAll) |
---|
605 | { |
---|
606 | m_settings->setValue("documentView/highlightAll", highlightAll); |
---|
607 | } |
---|
608 | |
---|
609 | Settings::DocumentView::DocumentView(QSettings *settings) : |
---|
610 | m_settings(settings), |
---|
611 | m_prefetch(Defaults::DocumentView::prefetch()), |
---|
612 | m_prefetchDistance(Defaults::DocumentView::prefetchDistance()), |
---|
613 | m_pagesPerRow(Defaults::DocumentView::pagesPerRow()), |
---|
614 | m_highlightCurrentThumbnail(Defaults::DocumentView::highlightCurrentThumbnail()), |
---|
615 | m_limitThumbnailsToResults(Defaults::DocumentView::limitThumbnailsToResults()), |
---|
616 | m_pageSpacing(Defaults::DocumentView::pageSpacing()), |
---|
617 | m_thumbnailSpacing(Defaults::DocumentView::thumbnailSpacing()), |
---|
618 | m_thumbnailSize(Defaults::DocumentView::thumbnailSize()) |
---|
619 | { |
---|
620 | } |
---|
621 | |
---|
622 | // main window |
---|
623 | |
---|
624 | bool Settings::MainWindow::trackRecentlyUsed() const |
---|
625 | { |
---|
626 | return m_settings->value("mainWindow/trackRecentlyUsed", Defaults::MainWindow::trackRecentlyUsed()).toBool(); |
---|
627 | } |
---|
628 | |
---|
629 | void Settings::MainWindow::setTrackRecentlyUsed(bool trackRecentlyUsed) |
---|
630 | { |
---|
631 | m_settings->setValue("mainWindow/trackRecentlyUsed", trackRecentlyUsed); |
---|
632 | } |
---|
633 | |
---|
634 | int Settings::MainWindow::recentlyUsedCount() const |
---|
635 | { |
---|
636 | return m_settings->value("mainWindow/recentlyUsedCount", Defaults::MainWindow::recentlyUsedCount()).toInt(); |
---|
637 | } |
---|
638 | |
---|
639 | void Settings::MainWindow::setRecentlyUsedCount(int recentlyUsedCount) |
---|
640 | { |
---|
641 | m_settings->setValue("mainWindow/recentlyUsedCount", recentlyUsedCount); |
---|
642 | } |
---|
643 | |
---|
644 | QStringList Settings::MainWindow::recentlyUsed() const |
---|
645 | { |
---|
646 | return m_settings->value("mainWindow/recentlyUsed").toStringList(); |
---|
647 | } |
---|
648 | |
---|
649 | void Settings::MainWindow::setRecentlyUsed(const QStringList& recentlyUsed) |
---|
650 | { |
---|
651 | m_settings->setValue("mainWindow/recentlyUsed", recentlyUsed); |
---|
652 | } |
---|
653 | |
---|
654 | bool Settings::MainWindow::keepRecentlyClosed() const |
---|
655 | { |
---|
656 | return m_settings->value("mainWindow/keepRecentlyClosed", Defaults::MainWindow::keepRecentlyClosed()).toBool(); |
---|
657 | } |
---|
658 | |
---|
659 | void Settings::MainWindow::setKeepRecentlyClosed(bool keepRecentlyClosed) |
---|
660 | { |
---|
661 | m_settings->setValue("mainWindow/keepRecentlyClosed", keepRecentlyClosed); |
---|
662 | } |
---|
663 | |
---|
664 | int Settings::MainWindow::recentlyClosedCount() const |
---|
665 | { |
---|
666 | return m_settings->value("mainWindow/recentlyClosedCount", Defaults::MainWindow::recentlyClosedCount()).toInt(); |
---|
667 | } |
---|
668 | |
---|
669 | void Settings::MainWindow::setRecentlyClosedCount(int recentlyClosedCount) |
---|
670 | { |
---|
671 | m_settings->setValue("mainWindow/recentlyClosedCount", recentlyClosedCount); |
---|
672 | } |
---|
673 | |
---|
674 | bool Settings::MainWindow::restoreTabs() const |
---|
675 | { |
---|
676 | return m_settings->value("mainWindow/restoreTabs", Defaults::MainWindow::restoreTabs()).toBool(); |
---|
677 | } |
---|
678 | |
---|
679 | void Settings::MainWindow::setRestoreTabs(bool restoreTabs) |
---|
680 | { |
---|
681 | m_settings->setValue("mainWindow/restoreTabs", restoreTabs); |
---|
682 | } |
---|
683 | |
---|
684 | bool Settings::MainWindow::restoreBookmarks() const |
---|
685 | { |
---|
686 | return m_settings->value("mainWindow/restoreBookmarks", Defaults::MainWindow::restoreBookmarks()).toBool(); |
---|
687 | } |
---|
688 | |
---|
689 | void Settings::MainWindow::setRestoreBookmarks(bool restoreBookmarks) |
---|
690 | { |
---|
691 | m_settings->setValue("mainWindow/restoreBookmarks", restoreBookmarks); |
---|
692 | } |
---|
693 | |
---|
694 | bool Settings::MainWindow::restorePerFileSettings() const |
---|
695 | { |
---|
696 | return m_settings->value("mainWindow/restorePerFileSettings", Defaults::MainWindow::restorePerFileSettings()).toBool(); |
---|
697 | } |
---|
698 | |
---|
699 | void Settings::MainWindow::setRestorePerFileSettings(bool restorePerFileSettings) |
---|
700 | { |
---|
701 | m_settings->setValue("mainWindow/restorePerFileSettings", restorePerFileSettings); |
---|
702 | } |
---|
703 | |
---|
704 | int Settings::MainWindow::perFileSettingsLimit() const |
---|
705 | { |
---|
706 | return m_settings->value("mainWindow/perFileSettingsLimit", Defaults::MainWindow::perFileSettingsLimit()).toInt(); |
---|
707 | } |
---|
708 | |
---|
709 | int Settings::MainWindow::saveDatabaseInterval() const |
---|
710 | { |
---|
711 | return m_settings->value("mainWindow/saveDatabaseInterval", Defaults::MainWindow::saveDatabaseInterval()).toInt(); |
---|
712 | } |
---|
713 | |
---|
714 | void Settings::MainWindow::setSaveDatabaseInterval(int saveDatabaseInterval) |
---|
715 | { |
---|
716 | m_settings->setValue("mainWindow/saveDatabaseInterval", saveDatabaseInterval); |
---|
717 | } |
---|
718 | |
---|
719 | int Settings::MainWindow::tabPosition() const |
---|
720 | { |
---|
721 | return m_settings->value("mainWindow/tabPosition", Defaults::MainWindow::tabPosition()).toInt(); |
---|
722 | } |
---|
723 | |
---|
724 | void Settings::MainWindow::setTabPosition(int tabPosition) |
---|
725 | { |
---|
726 | if(tabPosition >= 0 && tabPosition < 4) |
---|
727 | { |
---|
728 | m_settings->setValue("mainWindow/tabPosition", tabPosition); |
---|
729 | } |
---|
730 | } |
---|
731 | |
---|
732 | int Settings::MainWindow::tabVisibility() const |
---|
733 | { |
---|
734 | return m_settings->value("mainWindow/tabVisibility", Defaults::MainWindow::tabVisibility()).toInt(); |
---|
735 | } |
---|
736 | |
---|
737 | void Settings::MainWindow::setTabVisibility(int tabVisibility) |
---|
738 | { |
---|
739 | if(tabVisibility >= 0 && tabVisibility < 3) |
---|
740 | { |
---|
741 | m_settings->setValue("mainWindow/tabVisibility", tabVisibility); |
---|
742 | } |
---|
743 | } |
---|
744 | |
---|
745 | bool Settings::MainWindow::spreadTabs() const |
---|
746 | { |
---|
747 | return m_settings->value("mainWindow/spreadTabs", Defaults::MainWindow::spreadTabs()).toBool(); |
---|
748 | } |
---|
749 | |
---|
750 | void Settings::MainWindow::setSpreadTabs(bool spreadTabs) |
---|
751 | { |
---|
752 | m_settings->setValue("mainWindow/spreadTabs", spreadTabs); |
---|
753 | } |
---|
754 | |
---|
755 | bool Settings::MainWindow::newTabNextToCurrentTab() const |
---|
756 | { |
---|
757 | return m_settings->value("mainWindow/newTabNextToCurrentTab", Defaults::MainWindow::newTabNextToCurrentTab()).toBool(); |
---|
758 | } |
---|
759 | |
---|
760 | void Settings::MainWindow::setNewTabNextToCurrentTab(bool newTabNextToCurrentTab) |
---|
761 | { |
---|
762 | m_settings->setValue("mainWindow/newTabNextToCurrentTab", newTabNextToCurrentTab); |
---|
763 | } |
---|
764 | |
---|
765 | bool Settings::MainWindow::exitAfterLastTab() const |
---|
766 | { |
---|
767 | return m_settings->value("mainWindow/exitAfterLastTab", Defaults::MainWindow::exitAfterLastTab()).toBool(); |
---|
768 | } |
---|
769 | |
---|
770 | void Settings::MainWindow::setExitAfterLastTab(bool exitAfterLastTab) |
---|
771 | { |
---|
772 | m_settings->setValue("mainWindow/exitAfterLastTab", exitAfterLastTab); |
---|
773 | } |
---|
774 | |
---|
775 | bool Settings::MainWindow::documentTitleAsTabTitle() const |
---|
776 | { |
---|
777 | return m_settings->value("mainWindow/documentAsTabTitle", Defaults::MainWindow::documentTitleAsTabTitle()).toBool(); |
---|
778 | } |
---|
779 | |
---|
780 | void Settings::MainWindow::setDocumentTitleAsTabTitle(bool documentTitleAsTabTitle) |
---|
781 | { |
---|
782 | m_settings->setValue("mainWindow/documentAsTabTitle", documentTitleAsTabTitle); |
---|
783 | } |
---|
784 | |
---|
785 | bool Settings::MainWindow::currentPageInWindowTitle() const |
---|
786 | { |
---|
787 | return m_settings->value("mainWindow/currentPageInWindowTitle", Defaults::MainWindow::currentPageInWindowTitle()).toBool(); |
---|
788 | } |
---|
789 | |
---|
790 | void Settings::MainWindow::setCurrentPageInWindowTitle(bool currentPageInTabText) |
---|
791 | { |
---|
792 | m_settings->setValue("mainWindow/currentPageInWindowTitle", currentPageInTabText); |
---|
793 | } |
---|
794 | |
---|
795 | bool Settings::MainWindow::instanceNameInWindowTitle() const |
---|
796 | { |
---|
797 | return m_settings->value("mainWindow/instanceNameInWindowTitle", Defaults::MainWindow::instanceNameInWindowTitle()).toBool(); |
---|
798 | } |
---|
799 | |
---|
800 | void Settings::MainWindow::setInstanceNameInWindowTitle(bool instanceNameInWindowTitle) |
---|
801 | { |
---|
802 | m_settings->setValue("mainWindow/instanceNameInWindowTitle", instanceNameInWindowTitle); |
---|
803 | } |
---|
804 | |
---|
805 | bool Settings::MainWindow::extendedSearchDock() const |
---|
806 | { |
---|
807 | return m_settings->value("mainWindow/extendedSearchDock", Defaults::MainWindow::extendedSearchDock()).toBool(); |
---|
808 | } |
---|
809 | |
---|
810 | void Settings::MainWindow::setExtendedSearchDock(bool extendedSearchDock) |
---|
811 | { |
---|
812 | return m_settings->setValue("mainWindow/extendedSearchDock", extendedSearchDock); |
---|
813 | } |
---|
814 | |
---|
815 | bool Settings::MainWindow::usePageLabel() const |
---|
816 | { |
---|
817 | return m_settings->value("mainWindow/usePageLabel", Defaults::MainWindow::usePageLabel()).toBool(); |
---|
818 | } |
---|
819 | |
---|
820 | void Settings::MainWindow::setUsePageLabel(bool usePageLabel) |
---|
821 | { |
---|
822 | m_settings->setValue("mainWindow/usePageLabel", usePageLabel); |
---|
823 | } |
---|
824 | |
---|
825 | bool Settings::MainWindow::synchronizeOutlineView() const |
---|
826 | { |
---|
827 | return m_settings->value("mainWindow/synchronizeOutlineView", Defaults::MainWindow::synchronizeOutlineView()).toBool(); |
---|
828 | } |
---|
829 | |
---|
830 | void Settings::MainWindow::setSynchronizeOutlineView(bool synchronizeOutlineView) |
---|
831 | { |
---|
832 | m_settings->setValue("mainWindow/synchronizeOutlineView", synchronizeOutlineView); |
---|
833 | } |
---|
834 | |
---|
835 | QStringList Settings::MainWindow::fileToolBar() const |
---|
836 | { |
---|
837 | return m_settings->value("mainWindow/fileToolBar", Defaults::MainWindow::fileToolBar()).toStringList(); |
---|
838 | } |
---|
839 | |
---|
840 | void Settings::MainWindow::setFileToolBar(const QStringList& fileToolBar) |
---|
841 | { |
---|
842 | m_settings->setValue("mainWindow/fileToolBar", trimmed(fileToolBar)); |
---|
843 | } |
---|
844 | |
---|
845 | QStringList Settings::MainWindow::editToolBar() const |
---|
846 | { |
---|
847 | return m_settings->value("mainWindow/editToolBar", Defaults::MainWindow::editToolBar()).toStringList(); |
---|
848 | } |
---|
849 | |
---|
850 | void Settings::MainWindow::setEditToolBar(const QStringList& editToolBar) |
---|
851 | { |
---|
852 | m_settings->setValue("mainWindow/editToolBar", trimmed(editToolBar)); |
---|
853 | } |
---|
854 | |
---|
855 | QStringList Settings::MainWindow::viewToolBar() const |
---|
856 | { |
---|
857 | return m_settings->value("mainWindow/viewToolBar", Defaults::MainWindow::viewToolBar()).toStringList(); |
---|
858 | } |
---|
859 | |
---|
860 | void Settings::MainWindow::setViewToolBar(const QStringList& viewToolBar) |
---|
861 | { |
---|
862 | m_settings->setValue("mainWindow/viewToolBar", trimmed(viewToolBar)); |
---|
863 | } |
---|
864 | |
---|
865 | QStringList Settings::MainWindow::documentContextMenu() const |
---|
866 | { |
---|
867 | return m_settings->value("mainWindow/documentContextMenu", Defaults::MainWindow::documentContextMenu()).toStringList(); |
---|
868 | } |
---|
869 | |
---|
870 | void Settings::MainWindow::setDocumentContextMenu(const QStringList& documentContextMenu) |
---|
871 | { |
---|
872 | m_settings->setValue("mainWindow/documentContextMenu", trimmed(documentContextMenu)); |
---|
873 | } |
---|
874 | |
---|
875 | QStringList Settings::MainWindow::tabContextMenu() const |
---|
876 | { |
---|
877 | return m_settings->value("mainWindow/tabContextMenu", Defaults::MainWindow::tabContexntMenu()).toStringList(); |
---|
878 | } |
---|
879 | |
---|
880 | void Settings::MainWindow::setTabContextMenu(const QStringList& tabContextMenu) |
---|
881 | { |
---|
882 | m_settings->setValue("mainWindow/tabContextMenu", trimmed(tabContextMenu)); |
---|
883 | } |
---|
884 | |
---|
885 | bool Settings::MainWindow::scrollableMenus() const |
---|
886 | { |
---|
887 | return m_settings->value("mainWindow/scrollableMenus", Defaults::MainWindow::scrollableMenus()).toBool(); |
---|
888 | } |
---|
889 | |
---|
890 | void Settings::MainWindow::setScrollableMenus(bool scrollableMenus) |
---|
891 | { |
---|
892 | m_settings->setValue("mainWindow/scrollableMenus", scrollableMenus); |
---|
893 | } |
---|
894 | |
---|
895 | bool Settings::MainWindow::searchableMenus() const |
---|
896 | { |
---|
897 | return m_settings->value("mainWindow/searchableMenus", Defaults::MainWindow::searchableMenus()).toBool(); |
---|
898 | } |
---|
899 | |
---|
900 | void Settings::MainWindow::setSearchableMenus(bool searchableMenus) |
---|
901 | { |
---|
902 | m_settings->setValue("mainWindow/searchableMenus", searchableMenus); |
---|
903 | } |
---|
904 | |
---|
905 | bool Settings::MainWindow::toggleToolAndMenuBarsWithFullscreen() const |
---|
906 | { |
---|
907 | return m_settings->value("mainWindow/toggleToolAndMenuBarsWithFullscreen", Defaults::MainWindow::toggleToolAndMenuBarsWithFullscreen()).toBool(); |
---|
908 | } |
---|
909 | |
---|
910 | void Settings::MainWindow::setToggleToolAndMenuBarsWithFullscreen(bool toggleToolAndMenuBarsWithFullscreen) const |
---|
911 | { |
---|
912 | m_settings->setValue("mainWindow/toggleToolAndMenuBarsWithFullscreen", toggleToolAndMenuBarsWithFullscreen); |
---|
913 | } |
---|
914 | |
---|
915 | bool Settings::MainWindow::hasIconTheme() const |
---|
916 | { |
---|
917 | return m_settings->contains("mainWindow/iconTheme"); |
---|
918 | } |
---|
919 | |
---|
920 | QString Settings::MainWindow::iconTheme() const |
---|
921 | { |
---|
922 | return m_settings->value("mainWindow/iconTheme").toString(); |
---|
923 | } |
---|
924 | |
---|
925 | bool Settings::MainWindow::hasStyleSheet() const |
---|
926 | { |
---|
927 | return m_settings->contains("mainWindow/styleSheet"); |
---|
928 | } |
---|
929 | |
---|
930 | QString Settings::MainWindow::styleSheet() const |
---|
931 | { |
---|
932 | return m_settings->value("mainWindow/styleSheet").toString(); |
---|
933 | } |
---|
934 | |
---|
935 | QByteArray Settings::MainWindow::geometry() const |
---|
936 | { |
---|
937 | return m_settings->value("mainWindow/geometry").toByteArray(); |
---|
938 | } |
---|
939 | |
---|
940 | void Settings::MainWindow::setGeometry(const QByteArray& geometry) |
---|
941 | { |
---|
942 | m_settings->setValue("mainWindow/geometry", geometry); |
---|
943 | } |
---|
944 | |
---|
945 | QByteArray Settings::MainWindow::state() const |
---|
946 | { |
---|
947 | return m_settings->value("mainWindow/state").toByteArray(); |
---|
948 | } |
---|
949 | |
---|
950 | void Settings::MainWindow::setState(const QByteArray& state) |
---|
951 | { |
---|
952 | m_settings->setValue("mainWindow/state", state); |
---|
953 | } |
---|
954 | |
---|
955 | QString Settings::MainWindow::openPath() const |
---|
956 | { |
---|
957 | return m_settings->value("mainWindow/openPath", Defaults::MainWindow::path()).toString(); |
---|
958 | } |
---|
959 | |
---|
960 | void Settings::MainWindow::setOpenPath(const QString& openPath) |
---|
961 | { |
---|
962 | m_settings->setValue("mainWindow/openPath", openPath); |
---|
963 | } |
---|
964 | |
---|
965 | QString Settings::MainWindow::savePath() const |
---|
966 | { |
---|
967 | return m_settings->value("mainWindow/savePath", Defaults::MainWindow::path()).toString(); |
---|
968 | } |
---|
969 | |
---|
970 | void Settings::MainWindow::setSavePath(const QString& savePath) |
---|
971 | { |
---|
972 | m_settings->setValue("mainWindow/savePath", savePath); |
---|
973 | } |
---|
974 | |
---|
975 | QSize Settings::MainWindow::settingsDialogSize(const QSize& sizeHint) const |
---|
976 | { |
---|
977 | return m_settings->value("mainWindow/settingsDialogSize", sizeHint).toSize(); |
---|
978 | } |
---|
979 | |
---|
980 | void Settings::MainWindow::setSettingsDialogSize(const QSize& settingsDialogSize) |
---|
981 | { |
---|
982 | m_settings->setValue("mainWindow/settingsDialogSize", settingsDialogSize); |
---|
983 | } |
---|
984 | |
---|
985 | QSize Settings::MainWindow::fontsDialogSize(const QSize& sizeHint) const |
---|
986 | { |
---|
987 | return m_settings->value("mainWindow/fontsDialogSize", sizeHint).toSize(); |
---|
988 | } |
---|
989 | |
---|
990 | void Settings::MainWindow::setFontsDialogSize(const QSize& fontsDialogSize) |
---|
991 | { |
---|
992 | m_settings->setValue("mainWindow/fontsDialogSize", fontsDialogSize); |
---|
993 | } |
---|
994 | |
---|
995 | QSize Settings::MainWindow::contentsDialogSize(const QSize& sizeHint) const |
---|
996 | { |
---|
997 | return m_settings->value("mainWindow/contentsDialogSize", sizeHint).toSize(); |
---|
998 | } |
---|
999 | |
---|
1000 | void Settings::MainWindow::setContentsDialogSize(const QSize& contentsDialogSize) |
---|
1001 | { |
---|
1002 | m_settings->setValue("mainWindow/contentsDialogSize", contentsDialogSize); |
---|
1003 | } |
---|
1004 | |
---|
1005 | Settings::MainWindow::MainWindow(QSettings* settings) : |
---|
1006 | m_settings(settings) |
---|
1007 | { |
---|
1008 | } |
---|
1009 | |
---|
1010 | // print dialog |
---|
1011 | |
---|
1012 | Settings::PrintDialog::PrintDialog(QSettings* settings) : |
---|
1013 | m_settings(settings) |
---|
1014 | { |
---|
1015 | } |
---|
1016 | |
---|
1017 | bool Settings::PrintDialog::collateCopies() const |
---|
1018 | { |
---|
1019 | return m_settings->value("printDialog/collateCopies", Defaults::PrintDialog::collateCopies()).toBool(); |
---|
1020 | } |
---|
1021 | |
---|
1022 | void Settings::PrintDialog::setCollateCopies(bool collateCopies) |
---|
1023 | { |
---|
1024 | m_settings->setValue("printDialog/collateCopies", collateCopies); |
---|
1025 | } |
---|
1026 | |
---|
1027 | QPrinter::PageOrder Settings::PrintDialog::pageOrder() const |
---|
1028 | { |
---|
1029 | return static_cast< QPrinter::PageOrder >(m_settings->value("printDialog/pageOrder", static_cast< int >(Defaults::PrintDialog::pageOrder())).toInt()); |
---|
1030 | } |
---|
1031 | |
---|
1032 | void Settings::PrintDialog::setPageOrder(QPrinter::PageOrder pageOrder) |
---|
1033 | { |
---|
1034 | m_settings->setValue("printDialog/pageOrder", static_cast< int >(pageOrder)); |
---|
1035 | } |
---|
1036 | |
---|
1037 | QPrinter::Orientation Settings::PrintDialog::orientation() const |
---|
1038 | { |
---|
1039 | return static_cast< QPrinter::Orientation >(m_settings->value("printDialog/orientation", static_cast< int >(Defaults::PrintDialog::orientation())).toInt()); |
---|
1040 | } |
---|
1041 | |
---|
1042 | void Settings::PrintDialog::setOrientation(QPrinter::Orientation orientation) |
---|
1043 | { |
---|
1044 | m_settings->setValue("printDialog/orientation", static_cast< int >(orientation)); |
---|
1045 | } |
---|
1046 | |
---|
1047 | QPrinter::ColorMode Settings::PrintDialog::colorMode() const |
---|
1048 | { |
---|
1049 | return static_cast< QPrinter::ColorMode >(m_settings->value("printDialog/colorMode", static_cast< int >(Defaults::PrintDialog::colorMode())).toInt()); |
---|
1050 | } |
---|
1051 | |
---|
1052 | void Settings::PrintDialog::setColorMode(QPrinter::ColorMode colorMode) |
---|
1053 | { |
---|
1054 | m_settings->setValue("printDialog/colorMode", static_cast< int >(colorMode)); |
---|
1055 | } |
---|
1056 | |
---|
1057 | QPrinter::DuplexMode Settings::PrintDialog::duplex() const |
---|
1058 | { |
---|
1059 | return static_cast< QPrinter::DuplexMode >(m_settings->value("printDialog/duplex", static_cast< int >(Defaults::PrintDialog::duplex())).toInt()); |
---|
1060 | } |
---|
1061 | |
---|
1062 | void Settings::PrintDialog::setDuplex(QPrinter::DuplexMode duplex) |
---|
1063 | { |
---|
1064 | m_settings->setValue("printDialog/duplex", static_cast< int >(duplex)); |
---|
1065 | } |
---|
1066 | |
---|
1067 | bool Settings::PrintDialog::fitToPage() const |
---|
1068 | { |
---|
1069 | return m_settings->value("printDialog/fitToPage", Defaults::PrintDialog::fitToPage()).toBool(); |
---|
1070 | } |
---|
1071 | |
---|
1072 | void Settings::PrintDialog::setFitToPage(bool fitToPage) |
---|
1073 | { |
---|
1074 | m_settings->setValue("printDialog/fitToPage", fitToPage); |
---|
1075 | } |
---|
1076 | |
---|
1077 | #if QT_VERSION < QT_VERSION_CHECK(5,2,0) |
---|
1078 | |
---|
1079 | PrintOptions::PageSet Settings::PrintDialog::pageSet() const |
---|
1080 | { |
---|
1081 | return static_cast< PrintOptions::PageSet >(m_settings->value("printDialog/pageSet", static_cast< uint >(Defaults::PrintDialog::pageSet())).toUInt()); |
---|
1082 | } |
---|
1083 | |
---|
1084 | void Settings::PrintDialog::setPageSet(PrintOptions::PageSet pageSet) |
---|
1085 | { |
---|
1086 | m_settings->setValue("printDialog/pageSet", static_cast< uint >(pageSet)); |
---|
1087 | } |
---|
1088 | |
---|
1089 | PrintOptions::NumberUp Settings::PrintDialog::numberUp() const |
---|
1090 | { |
---|
1091 | return static_cast< PrintOptions::NumberUp >(m_settings->value("printDialog/numberUp", static_cast< uint >(Defaults::PrintDialog::numberUp())).toUInt()); |
---|
1092 | } |
---|
1093 | |
---|
1094 | void Settings::PrintDialog::setNumberUp(PrintOptions::NumberUp numberUp) |
---|
1095 | { |
---|
1096 | m_settings->setValue("printDialog/numberUp", static_cast< uint >(numberUp)); |
---|
1097 | } |
---|
1098 | |
---|
1099 | PrintOptions::NumberUpLayout Settings::PrintDialog::numberUpLayout() const |
---|
1100 | { |
---|
1101 | return static_cast< PrintOptions::NumberUpLayout >(m_settings->value("printDialog/numberUpLayout", static_cast< uint >(Defaults::PrintDialog::numberUpLayout())).toUInt()); |
---|
1102 | } |
---|
1103 | |
---|
1104 | void Settings::PrintDialog::setNumberUpLayout(PrintOptions::NumberUpLayout numberUpLayout) |
---|
1105 | { |
---|
1106 | m_settings->setValue("printDialog/numberUpLayout", static_cast< uint >(numberUpLayout)); |
---|
1107 | } |
---|
1108 | |
---|
1109 | #endif // QT_VERSION |
---|
1110 | |
---|
1111 | void Settings::sync() |
---|
1112 | { |
---|
1113 | m_settings->sync(); |
---|
1114 | |
---|
1115 | m_pageItem.sync(); |
---|
1116 | m_documentView.sync(); |
---|
1117 | } |
---|
1118 | |
---|
1119 | Settings::Settings(QObject* parent) : QObject(parent), |
---|
1120 | // m_settings(new QSettings("qpdfview", "qpdfview", this)), |
---|
1121 | m_settings(new QSettings("murrupuy", "murrupuy", this)), |
---|
1122 | m_pageItem(m_settings), |
---|
1123 | m_presentationView(m_settings), |
---|
1124 | m_documentView(m_settings), |
---|
1125 | m_mainWindow(m_settings), |
---|
1126 | m_printDialog(m_settings) |
---|
1127 | { |
---|
1128 | } |
---|
1129 | |
---|
1130 | // defaults |
---|
1131 | |
---|
1132 | bool Defaults::DocumentView::rightToLeftMode() |
---|
1133 | { |
---|
1134 | #if QT_VERSION >= QT_VERSION_CHECK(4,7,0) |
---|
1135 | |
---|
1136 | return QLocale::system().textDirection() == Qt::RightToLeft; |
---|
1137 | |
---|
1138 | #else |
---|
1139 | |
---|
1140 | return false; |
---|
1141 | |
---|
1142 | #endif // QT_VERSION |
---|
1143 | } |
---|
1144 | |
---|
1145 | QString Defaults::MainWindow::path() |
---|
1146 | { |
---|
1147 | #if QT_VERSION >= QT_VERSION_CHECK(5,0,0) |
---|
1148 | |
---|
1149 | return QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation); |
---|
1150 | |
---|
1151 | #else |
---|
1152 | |
---|
1153 | return QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation); |
---|
1154 | |
---|
1155 | #endif // QT_VERSION |
---|
1156 | } |
---|
1157 | |
---|
1158 | } // qpdfview |
---|