3
Copyright 2012 Adam Reichold
4
Copyright 2012 Alexander Volkov
6
This file is part of qpdfview.
8
qpdfview is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 2 of the License, or
11
(at your option) any later version.
13
qpdfview is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
GNU General Public License for more details.
18
You should have received a copy of the GNU General Public License
19
along with qpdfview. If not, see <http://www.gnu.org/licenses/>.
29
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
35
#include "documentview.h"
36
#include "miscellaneous.h"
38
class Settings : public QObject
43
explicit Settings(QObject* parent = 0);
46
QString fileName() const;
53
PageItem(QSettings* settings);
55
static inline int defaultCacheSize() { return 32 * 1024 * 1024; }
56
int cacheSize() const;
57
void setCacheSize(int cacheSize);
59
static inline bool defaultDecoratePages() { return true; }
60
bool decoratePages() const;
61
void setDecoratePages(bool on);
63
static inline bool defaultDecorateLinks() { return true; }
64
bool decorateLinks() const;
65
void setDecorateLinks(bool on);
67
static inline bool defaultDecorateFormFields() { return true; }
68
bool decorateFormFields() const;
69
void setDecorateFormFields(bool on);
71
static inline QString defaultBackgroundColor() { return "gray"; }
72
QString backgroundColor() const;
73
void setBackgroundColor(const QString& color);
75
static inline QString defaultPaperColor() { return "white"; }
76
QString paperColor() const;
77
void setPaperColor(const QString& color);
79
static inline bool defaultInvertColors() { return false; }
80
bool invertColors() const;
81
void setInvertColors(bool on);
83
static inline Qt::KeyboardModifiers defaultCopyModifiers() { return Qt::ShiftModifier; }
84
Qt::KeyboardModifiers copyModifiers() const;
85
void setCopyModifiers(const Qt::KeyboardModifiers& copyModifiers);
87
static inline Qt::KeyboardModifiers defaultAnnotateModifiers() { return Qt::ControlModifier; }
88
Qt::KeyboardModifiers annotateModifiers() const;
89
void setAnnotateModifiers(const Qt::KeyboardModifiers& annotateModifiers);
92
QSettings* m_settings;
97
const PageItem* pageItem() const;
101
class PresentationView
104
PresentationView(QSettings* settings);
106
static inline bool defaultSync() { return false; }
108
void setSync(bool on);
110
static inline int defaultScreen() { return -1; }
112
void setScreen(int screen);
115
QSettings* m_settings;
119
PresentationView* presentationView();
120
const PresentationView* presentationView() const;
127
DocumentView(QSettings* settings);
129
static inline bool defaultOpenUrl() { return false; }
130
bool openUrl() const;
131
void setOpenUrl(bool on);
133
static inline bool defaultAutoRefresh() { return false; }
134
bool autoRefresh() const;
135
void setAutoRefresh(bool on);
137
static inline bool defaultAntialiasing() { return true; }
138
bool antialiasing() const;
139
void setAntialiasing(bool on);
141
static inline bool defaultTextAntialiasing() { return true; }
142
bool textAntialiasing() const;
143
void setTextAntialiasing(bool on);
145
static inline bool defaultTextHinting() { return false; }
146
bool textHinting() const;
147
void setTextHinting(bool on);
149
static inline bool defaultOverprintPreview() { return false; }
150
bool overprintPreview() const;
151
void setOverprintPreview(bool on);
153
static inline bool defaultPrefetch() { return false; }
154
bool prefetch() const;
155
void setPrefetch(bool on);
157
static inline int defaultPagesPerRow() { return 3; }
158
int pagesPerRow() const;
159
void setPagesPerRow(int pagesPerRow);
161
static inline qreal defaultPageSpacing() { return 5.0; }
162
qreal pageSpacing() const;
163
void setPageSpacing(qreal pageSpacing);
165
static inline qreal defaultThumbnailSpacing() { return 3.0; }
166
qreal thumbnailSpacing() const;
167
void setThumbnailSpacing(qreal thumbnailSpacing);
169
static inline qreal defaultThumbnailSize() { return 150.0; }
170
qreal thumbnailSize() const;
171
void setThumbnailSize(qreal thumbnailSize);
173
static inline Qt::KeyboardModifiers defaultZoomModifiers() { return Qt::ControlModifier; }
174
Qt::KeyboardModifiers zoomModifiers() const;
175
void setZoomModifiers(const Qt::KeyboardModifiers& zoomModifiers);
177
static inline Qt::KeyboardModifiers defaultRotateModifiers() { return Qt::ShiftModifier; }
178
Qt::KeyboardModifiers rotateModifiers() const;
179
void setRotateModifiers(const Qt::KeyboardModifiers& rotateModifiers);
181
static inline Qt::KeyboardModifiers defaultHorizontalModifiers() { return Qt::AltModifier; }
182
Qt::KeyboardModifiers horizontalModifiers() const;
183
void setHorizontalModifiers(const Qt::KeyboardModifiers& horizontalModifiers);
185
static inline int defaultHighlightDuration() { return 5000; }
186
int highlightDuration() const;
187
void setHighlightDuration(int highlightDuration);
189
QString sourceEditor() const;
190
void setSourceEditor(const QString& sourceEditor);
194
static inline bool defaultContinuousMode() { return false; }
195
bool continuousMode() const;
196
void setContinuousMode(bool on);
198
static inline ::DocumentView::LayoutMode defaultLayoutMode() { return ::DocumentView::SinglePageMode; }
199
::DocumentView::LayoutMode layoutMode() const;
200
void setLayoutMode(::DocumentView::LayoutMode layoutMode);
202
static inline ::DocumentView::ScaleMode defaultScaleMode() { return ::DocumentView::ScaleFactor; }
203
::DocumentView::ScaleMode scaleMode() const;
204
void setScaleMode(::DocumentView::ScaleMode scaleMode);
206
static inline qreal defaultScaleFactor() { return 1.0; }
207
qreal scaleFactor() const;
208
void setScaleFactor(qreal scaleFactor);
210
static inline Poppler::Page::Rotation defaultRotation() { return Poppler::Page::Rotate0; }
211
Poppler::Page::Rotation rotation() const;
212
void setRotation(Poppler::Page::Rotation rotation);
214
static inline bool defaultHighlightAll() { return false; }
215
bool highlightAll() const;
216
void setHighlightAll(bool on);
219
QSettings* m_settings;
223
DocumentView* documentView();
224
const DocumentView* documentView() const;
231
MainWindow(QSettings* settings);
233
static inline bool defaultTrackRecentlyUsed() { return false; }
234
bool trackRecentlyUsed() const;
235
void setTrackRecentlyUsed(bool on);
237
QStringList recentlyUsed() const;
238
void setRecentlyUsed(const QStringList& recentlyUsed);
240
static inline bool defaultRestoreTabs() { return false; }
241
bool restoreTabs() const;
242
void setRestoreTabs(bool on);
244
static inline bool defaultRestoreBookmarks() { return false; }
245
bool restoreBookmarks() const;
246
void setRestoreBookmarks(bool on);
248
static inline bool defaultRestorePerFileSettings() { return false; }
249
bool restorePerFileSettings() const;
250
void setRestorePerFileSettings(bool on);
252
static inline QTabWidget::TabPosition defaultTabPosition() { return QTabWidget::North; }
253
QTabWidget::TabPosition tabPosition() const;
254
void setTabPosition(QTabWidget::TabPosition tabPosition);
256
static inline TabWidget::TabBarPolicy defaultTabVisibility() { return TabWidget::TabBarAsNeeded; }
257
TabWidget::TabBarPolicy tabVisibility() const;
258
void setTabVisibility(TabWidget::TabBarPolicy tabVisibility);
260
static inline QStringList defaultFileToolBar() { return QStringList() << "openInNewTab" << "refresh"; }
261
QStringList fileToolBar() const;
262
void setFileToolBar(const QStringList& fileToolBar);
264
static inline QStringList defaultEditToolBar() { return QStringList() << "currentPage" << "previousPage" << "nextPage"; }
265
QStringList editToolBar() const;
266
void setEditToolBar(const QStringList& editToolBar);
268
static inline QStringList defaultViewToolBar() { return QStringList() << "scaleFactor" << "zoomIn" << "zoomOut"; }
269
QStringList viewToolBar() const;
270
void setViewToolBar(const QStringList& viewToolBar);
272
bool hasIconTheme() const;
273
QString iconTheme() const;
275
bool hasStyleSheet() const;
276
QString styleSheet() const;
278
QByteArray geometry() const;
279
void setGeometry(const QByteArray& geometry);
281
QByteArray state() const;
282
void setState(const QByteArray& state);
284
static QString defaultPath();
286
QString openPath() const;
287
void setOpenPath(const QString& openPath);
289
QString savePath() const;
290
void setSavePath(const QString& savePath);
292
static inline QString fileFilter() { return "Portable document format (*.pdf)"; }
294
QSize fontsDialogSize(const QSize& sizeHint) const;
295
void setFontsDialogSize(const QSize& fontsDialogSize);
297
QSize contentsDialogSize(const QSize& sizeHint) const;
298
void setContentsDialogSize(const QSize& contentsDialogSize);
301
QSettings* m_settings;
303
QStringList trimmed(const QStringList& list);
307
MainWindow* mainWindow();
308
const MainWindow* mainWindow() const;
314
QSettings* m_settings;
316
PageItem* m_pageItem;
317
PresentationView* m_presentationView;
318
DocumentView* m_documentView;
319
MainWindow* m_mainWindow;