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 | #ifndef SETTINGSDIALOG_H |
---|
25 | #define SETTINGSDIALOG_H |
---|
26 | |
---|
27 | #include <QDialog> |
---|
28 | |
---|
29 | class QCheckBox; |
---|
30 | class QComboBox; |
---|
31 | class QDialogButtonBox; |
---|
32 | class QDoubleSpinBox; |
---|
33 | class QFormLayout; |
---|
34 | class QLineEdit; |
---|
35 | class QSpinBox; |
---|
36 | class QTableView; |
---|
37 | class QTabWidget; |
---|
38 | |
---|
39 | namespace qpdfview |
---|
40 | { |
---|
41 | |
---|
42 | class Settings; |
---|
43 | class SettingsWidget; |
---|
44 | |
---|
45 | class SettingsDialog : public QDialog |
---|
46 | { |
---|
47 | Q_OBJECT |
---|
48 | |
---|
49 | public: |
---|
50 | SettingsDialog(QWidget* parent = 0); |
---|
51 | ~SettingsDialog(); |
---|
52 | |
---|
53 | public slots: |
---|
54 | void accept(); |
---|
55 | void reset(); |
---|
56 | void resetCurrentTab(); |
---|
57 | |
---|
58 | private: |
---|
59 | Q_DISABLE_COPY(SettingsDialog) |
---|
60 | |
---|
61 | static Settings* s_settings; |
---|
62 | |
---|
63 | QTabWidget* m_graphicsTabWidget; |
---|
64 | QFormLayout* m_graphicsLayout; |
---|
65 | |
---|
66 | SettingsWidget* m_pdfSettingsWidget; |
---|
67 | SettingsWidget* m_psSettingsWidget; |
---|
68 | SettingsWidget* m_djvuSettingsWidget; |
---|
69 | |
---|
70 | QTableView* m_shortcutsTableView; |
---|
71 | |
---|
72 | QTabWidget* m_tabWidget; |
---|
73 | QDialogButtonBox* m_dialogButtonBox; |
---|
74 | QPushButton* m_defaultsButton; |
---|
75 | QPushButton* m_defaultsOnCurrentTabButton; |
---|
76 | |
---|
77 | QFormLayout* m_behaviorLayout; |
---|
78 | QFormLayout* m_interfaceLayout; |
---|
79 | QFormLayout* m_modifiersLayout; |
---|
80 | |
---|
81 | // behavior |
---|
82 | |
---|
83 | QCheckBox* m_openUrlCheckBox; |
---|
84 | |
---|
85 | QCheckBox* m_autoRefreshCheckBox; |
---|
86 | |
---|
87 | QCheckBox* m_trackRecentlyUsedCheckBox; |
---|
88 | QCheckBox* m_keepRecentlyClosedCheckBox; |
---|
89 | |
---|
90 | QCheckBox* m_restoreTabsCheckBox; |
---|
91 | QCheckBox* m_restoreBookmarksCheckBox; |
---|
92 | QCheckBox* m_restorePerFileSettingsCheckBox; |
---|
93 | QSpinBox* m_saveDatabaseInterval; |
---|
94 | |
---|
95 | QCheckBox* m_synchronizePresentationCheckBox; |
---|
96 | QSpinBox* m_presentationScreenSpinBox; |
---|
97 | |
---|
98 | QCheckBox* m_synchronizeOutlineViewCheckBox; |
---|
99 | |
---|
100 | QCheckBox* m_minimalScrollingCheckBox; |
---|
101 | QDoubleSpinBox* m_zoomFactorSpinBox; |
---|
102 | |
---|
103 | QSpinBox* m_highlightDurationSpinBox; |
---|
104 | QComboBox* m_highlightColorComboBox; |
---|
105 | QComboBox* m_annotationColorComboBox; |
---|
106 | |
---|
107 | QLineEdit* m_sourceEditorLineEdit; |
---|
108 | |
---|
109 | void createBehaviorTab(); |
---|
110 | void acceptBehaivorTab(); |
---|
111 | void resetBehaviorTab(); |
---|
112 | |
---|
113 | // graphics |
---|
114 | |
---|
115 | QCheckBox* m_useTilingCheckBox; |
---|
116 | QCheckBox* m_keepObsoletePixmapsCheckBox; |
---|
117 | QCheckBox* m_useDevicePixelRatioCheckBox; |
---|
118 | |
---|
119 | QCheckBox* m_decoratePagesCheckBox; |
---|
120 | QCheckBox* m_decorateLinksCheckBox; |
---|
121 | QCheckBox* m_decorateFormFieldsCheckBox; |
---|
122 | |
---|
123 | QComboBox* m_backgroundColorComboBox; |
---|
124 | QComboBox* m_paperColorComboBox; |
---|
125 | QComboBox* m_presentationBackgroundColorComboBox; |
---|
126 | |
---|
127 | QSpinBox* m_pagesPerRowSpinBox; |
---|
128 | |
---|
129 | QDoubleSpinBox* m_pageSpacingSpinBox; |
---|
130 | QDoubleSpinBox* m_thumbnailSpacingSpinBox; |
---|
131 | |
---|
132 | QDoubleSpinBox* m_thumbnailSizeSpinBox; |
---|
133 | |
---|
134 | QComboBox* m_cacheSizeComboBox; |
---|
135 | QCheckBox* m_prefetchCheckBox; |
---|
136 | QSpinBox* m_prefetchDistanceSpinBox; |
---|
137 | |
---|
138 | void createGraphicsTab(); |
---|
139 | void acceptGraphicsTab(); |
---|
140 | void resetGraphicsTab(); |
---|
141 | |
---|
142 | // interface |
---|
143 | |
---|
144 | QCheckBox* m_extendedSearchDock; |
---|
145 | |
---|
146 | QCheckBox* m_annotationOverlayCheckBox; |
---|
147 | QCheckBox* m_formFieldOverlayCheckBox; |
---|
148 | |
---|
149 | QComboBox* m_tabPositionComboBox; |
---|
150 | QComboBox* m_tabVisibilityComboBox; |
---|
151 | QCheckBox* m_spreadTabsCheckBox; |
---|
152 | |
---|
153 | QCheckBox* m_newTabNextToCurrentTabCheckBox; |
---|
154 | QCheckBox* m_exitAfterLastTabCheckBox; |
---|
155 | |
---|
156 | QSpinBox* m_recentlyUsedCountSpinBox; |
---|
157 | QSpinBox* m_recentlyClosedCountSpinBox; |
---|
158 | |
---|
159 | QLineEdit* m_fileToolBarLineEdit; |
---|
160 | QLineEdit* m_editToolBarLineEdit; |
---|
161 | QLineEdit* m_viewToolBarLineEdit; |
---|
162 | |
---|
163 | QLineEdit* m_documentContextMenuLineEdit; |
---|
164 | QLineEdit* m_tabContextMenuLineEdit; |
---|
165 | |
---|
166 | QCheckBox* m_scrollableMenusCheckBox; |
---|
167 | QCheckBox* m_searchableMenusCheckBox; |
---|
168 | |
---|
169 | QCheckBox* m_toggleToolAndMenuBarsWithFullscreenCheckBox; |
---|
170 | |
---|
171 | QCheckBox* m_usePageLabelCheckBox; |
---|
172 | QCheckBox* m_documentTitleAsTabTitleCheckBox; |
---|
173 | |
---|
174 | QCheckBox* m_currentPageInWindowTitleCheckBox; |
---|
175 | QCheckBox* m_instanceNameInWindowTitleCheckBox; |
---|
176 | |
---|
177 | QCheckBox* m_highlightCurrentThumbnailCheckBox; |
---|
178 | QCheckBox* m_limitThumbnailsToResultsCheckBox; |
---|
179 | |
---|
180 | void createInterfaceTab(); |
---|
181 | void acceptInterfaceTab(); |
---|
182 | void resetInterfaceTab(); |
---|
183 | |
---|
184 | // modifiers |
---|
185 | |
---|
186 | QComboBox* m_zoomModifiersComboBox; |
---|
187 | QComboBox* m_rotateModifiersComboBox; |
---|
188 | QComboBox* m_scrollModifiersComboBox; |
---|
189 | |
---|
190 | QComboBox* m_copyToClipboardModifiersComboBox; |
---|
191 | QComboBox* m_addAnnotationModifiersComboBox; |
---|
192 | QComboBox* m_zoomToSelectionModifiersComboBox; |
---|
193 | |
---|
194 | void createModifiersTab(); |
---|
195 | void acceptModifiersTab(); |
---|
196 | void resetModifiersTab(); |
---|
197 | |
---|
198 | // helper methods |
---|
199 | |
---|
200 | QCheckBox* addCheckBox(QFormLayout* layout, const QString& label, const QString& toolTip, bool checked); |
---|
201 | QLineEdit* addLineEdit(QFormLayout* layout, const QString& label, const QString& toolTip, const QString& text); |
---|
202 | QSpinBox* addSpinBox(QFormLayout* layout, const QString& label, const QString& toolTip, const QString& suffix, const QString& special, int min, int max, int step, int val); |
---|
203 | QDoubleSpinBox* addDoubleSpinBox(QFormLayout* layout, const QString& label, const QString& toolTip, const QString& suffix, const QString& special, double min, double max, double step, double val); |
---|
204 | QComboBox* addComboBox(QFormLayout* layout, const QString& label, const QString& toolTip, const QStringList& text, const QList< int >& data, int value); |
---|
205 | QComboBox* addDataSizeComboBox(QFormLayout* layout, const QString& label, const QString& toolTip, int dataSize); |
---|
206 | QComboBox* addColorComboBox(QFormLayout* layout, const QString& label, const QString& toolTip, const QColor& color); |
---|
207 | QComboBox* addModifiersComboBox(QFormLayout* layout, const QString& label, const QString& toolTip, const Qt::KeyboardModifiers& modifiers); |
---|
208 | |
---|
209 | }; |
---|
210 | |
---|
211 | } // qpdfview |
---|
212 | |
---|
213 | #endif // SETTINGSDIALOG_H |
---|