223 lines
6.4 KiB
C
223 lines
6.4 KiB
C
|
/*
|
||
|
|
||
|
Copyright 2015 S. Razi Alavizadeh
|
||
|
Copyright 2012-2015 Adam Reichold
|
||
|
Copyright 2012 Alexander Volkov
|
||
|
|
||
|
This file is part of qpdfview.
|
||
|
|
||
|
qpdfview is free software: you can redistribute it and/or modify
|
||
|
it under the terms of the GNU General Public License as published by
|
||
|
the Free Software Foundation, either version 2 of the License, or
|
||
|
(at your option) any later version.
|
||
|
|
||
|
qpdfview is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
GNU General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License
|
||
|
along with qpdfview. If not, see <http://www.gnu.org/licenses/>.
|
||
|
|
||
|
*/
|
||
|
|
||
|
#ifndef SETTINGSDIALOG_H
|
||
|
#define SETTINGSDIALOG_H
|
||
|
|
||
|
#include <QDialog>
|
||
|
|
||
|
class QCheckBox;
|
||
|
class QComboBox;
|
||
|
class QDialogButtonBox;
|
||
|
class QDoubleSpinBox;
|
||
|
class QFormLayout;
|
||
|
class QGroupBox;
|
||
|
class QLineEdit;
|
||
|
class QSpinBox;
|
||
|
class QTableView;
|
||
|
class QTabWidget;
|
||
|
|
||
|
namespace qpdfview
|
||
|
{
|
||
|
|
||
|
class Settings;
|
||
|
class SettingsWidget;
|
||
|
|
||
|
class SettingsDialog : public QDialog
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
SettingsDialog(QWidget* parent = 0);
|
||
|
~SettingsDialog();
|
||
|
|
||
|
public slots:
|
||
|
void accept();
|
||
|
void reset();
|
||
|
void resetCurrentTab();
|
||
|
|
||
|
private:
|
||
|
Q_DISABLE_COPY(SettingsDialog)
|
||
|
|
||
|
static Settings* s_settings;
|
||
|
|
||
|
QTabWidget* m_graphicsTabWidget;
|
||
|
QFormLayout* m_graphicsLayout;
|
||
|
|
||
|
SettingsWidget* m_pdfSettingsWidget;
|
||
|
SettingsWidget* m_psSettingsWidget;
|
||
|
SettingsWidget* m_djvuSettingsWidget;
|
||
|
|
||
|
QTableView* m_shortcutsTableView;
|
||
|
|
||
|
QTabWidget* m_tabWidget;
|
||
|
QDialogButtonBox* m_dialogButtonBox;
|
||
|
QPushButton* m_defaultsButton;
|
||
|
QPushButton* m_defaultsOnCurrentTabButton;
|
||
|
|
||
|
QFormLayout* m_behaviorLayout;
|
||
|
QFormLayout* m_interfaceLayout;
|
||
|
|
||
|
QGroupBox* m_wheelModifiersGroupBox;
|
||
|
QFormLayout* m_wheelModifiersLayout;
|
||
|
|
||
|
QGroupBox* m_buttonModifiersGroupBox;
|
||
|
QFormLayout* m_buttonModifiersLayout;
|
||
|
|
||
|
// behavior
|
||
|
|
||
|
QCheckBox* m_openUrlCheckBox;
|
||
|
|
||
|
QCheckBox* m_autoRefreshCheckBox;
|
||
|
|
||
|
QCheckBox* m_trackRecentlyUsedCheckBox;
|
||
|
QCheckBox* m_keepRecentlyClosedCheckBox;
|
||
|
|
||
|
QCheckBox* m_restoreTabsCheckBox;
|
||
|
QCheckBox* m_restoreBookmarksCheckBox;
|
||
|
QCheckBox* m_restorePerFileSettingsCheckBox;
|
||
|
QSpinBox* m_saveDatabaseInterval;
|
||
|
|
||
|
QCheckBox* m_synchronizePresentationCheckBox;
|
||
|
QSpinBox* m_presentationScreenSpinBox;
|
||
|
|
||
|
QCheckBox* m_synchronizeOutlineViewCheckBox;
|
||
|
QCheckBox* m_synchronizeSplitViewsCheckBox;
|
||
|
|
||
|
QCheckBox* m_minimalScrollingCheckBox;
|
||
|
QDoubleSpinBox* m_zoomFactorSpinBox;
|
||
|
QCheckBox* m_parallelSearchExecutionCheckBox;
|
||
|
|
||
|
QSpinBox* m_highlightDurationSpinBox;
|
||
|
QComboBox* m_highlightColorComboBox;
|
||
|
QComboBox* m_annotationColorComboBox;
|
||
|
|
||
|
QLineEdit* m_sourceEditorLineEdit;
|
||
|
|
||
|
void createBehaviorTab();
|
||
|
void acceptBehaivorTab();
|
||
|
void resetBehaviorTab();
|
||
|
|
||
|
// graphics
|
||
|
|
||
|
QCheckBox* m_useTilingCheckBox;
|
||
|
QCheckBox* m_keepObsoletePixmapsCheckBox;
|
||
|
QCheckBox* m_useDevicePixelRatioCheckBox;
|
||
|
|
||
|
QCheckBox* m_decoratePagesCheckBox;
|
||
|
QCheckBox* m_decorateLinksCheckBox;
|
||
|
QCheckBox* m_decorateFormFieldsCheckBox;
|
||
|
|
||
|
QComboBox* m_backgroundColorComboBox;
|
||
|
QComboBox* m_paperColorComboBox;
|
||
|
QComboBox* m_presentationBackgroundColorComboBox;
|
||
|
|
||
|
QSpinBox* m_pagesPerRowSpinBox;
|
||
|
|
||
|
QDoubleSpinBox* m_pageSpacingSpinBox;
|
||
|
QDoubleSpinBox* m_thumbnailSpacingSpinBox;
|
||
|
|
||
|
QDoubleSpinBox* m_thumbnailSizeSpinBox;
|
||
|
|
||
|
QComboBox* m_cacheSizeComboBox;
|
||
|
QCheckBox* m_prefetchCheckBox;
|
||
|
QSpinBox* m_prefetchDistanceSpinBox;
|
||
|
|
||
|
void createGraphicsTab();
|
||
|
void acceptGraphicsTab();
|
||
|
void resetGraphicsTab();
|
||
|
|
||
|
// interface
|
||
|
|
||
|
QCheckBox* m_extendedSearchDock;
|
||
|
|
||
|
QCheckBox* m_annotationOverlayCheckBox;
|
||
|
QCheckBox* m_formFieldOverlayCheckBox;
|
||
|
|
||
|
QComboBox* m_tabPositionComboBox;
|
||
|
QComboBox* m_tabVisibilityComboBox;
|
||
|
QCheckBox* m_spreadTabsCheckBox;
|
||
|
|
||
|
QCheckBox* m_newTabNextToCurrentTabCheckBox;
|
||
|
QCheckBox* m_exitAfterLastTabCheckBox;
|
||
|
|
||
|
QSpinBox* m_recentlyUsedCountSpinBox;
|
||
|
QSpinBox* m_recentlyClosedCountSpinBox;
|
||
|
|
||
|
QLineEdit* m_fileToolBarLineEdit;
|
||
|
QLineEdit* m_editToolBarLineEdit;
|
||
|
QLineEdit* m_viewToolBarLineEdit;
|
||
|
|
||
|
QLineEdit* m_documentContextMenuLineEdit;
|
||
|
QLineEdit* m_tabContextMenuLineEdit;
|
||
|
|
||
|
QCheckBox* m_scrollableMenusCheckBox;
|
||
|
QCheckBox* m_searchableMenusCheckBox;
|
||
|
|
||
|
QCheckBox* m_toggleToolAndMenuBarsWithFullscreenCheckBox;
|
||
|
|
||
|
QCheckBox* m_usePageLabelCheckBox;
|
||
|
QCheckBox* m_documentTitleAsTabTitleCheckBox;
|
||
|
|
||
|
QCheckBox* m_currentPageInWindowTitleCheckBox;
|
||
|
QCheckBox* m_instanceNameInWindowTitleCheckBox;
|
||
|
|
||
|
QCheckBox* m_highlightCurrentThumbnailCheckBox;
|
||
|
QCheckBox* m_limitThumbnailsToResultsCheckBox;
|
||
|
|
||
|
void createInterfaceTab();
|
||
|
void acceptInterfaceTab();
|
||
|
void resetInterfaceTab();
|
||
|
|
||
|
// modifiers
|
||
|
|
||
|
QComboBox* m_zoomModifiersComboBox;
|
||
|
QComboBox* m_rotateModifiersComboBox;
|
||
|
QComboBox* m_scrollModifiersComboBox;
|
||
|
|
||
|
QComboBox* m_copyToClipboardModifiersComboBox;
|
||
|
QComboBox* m_addAnnotationModifiersComboBox;
|
||
|
QComboBox* m_zoomToSelectionModifiersComboBox;
|
||
|
QComboBox* m_openInSourceEditorModifiersComboBox;
|
||
|
|
||
|
void createModifiersTab();
|
||
|
void acceptModifiersTab();
|
||
|
void resetModifiersTab();
|
||
|
|
||
|
// helper methods
|
||
|
|
||
|
QCheckBox* addCheckBox(QFormLayout* layout, const QString& label, const QString& toolTip, bool checked);
|
||
|
QLineEdit* addLineEdit(QFormLayout* layout, const QString& label, const QString& toolTip, const QString& text);
|
||
|
QSpinBox* addSpinBox(QFormLayout* layout, const QString& label, const QString& toolTip, const QString& suffix, const QString& special, int min, int max, int step, int val);
|
||
|
QDoubleSpinBox* addDoubleSpinBox(QFormLayout* layout, const QString& label, const QString& toolTip, const QString& suffix, const QString& special, double min, double max, double step, double val);
|
||
|
QComboBox* addComboBox(QFormLayout* layout, const QString& label, const QString& toolTip, const QStringList& text, const QList< int >& data, int value);
|
||
|
QComboBox* addDataSizeComboBox(QFormLayout* layout, const QString& label, const QString& toolTip, int initialDataSize);
|
||
|
QComboBox* addColorComboBox(QFormLayout* layout, const QString& label, const QString& toolTip, const QColor& color);
|
||
|
QComboBox* addModifiersComboBox(QFormLayout* layout, const QString& label, const QString& toolTip, Qt::KeyboardModifiers modifiers);
|
||
|
|
||
|
};
|
||
|
|
||
|
} // qpdfview
|
||
|
|
||
|
#endif // SETTINGSDIALOG_H
|