| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- #ifndef VSETTINGSDIALOG_H
- #define VSETTINGSDIALOG_H
- #include <QDialog>
- #include <QVector>
- #include <QString>
- class QDialogButtonBox;
- class QComboBox;
- class QGroupBox;
- class QDoubleSpinBox;
- class QCheckBox;
- class VLineEdit;
- class QStackedLayout;
- class QListWidget;
- class QPlainTextEdit;
- class QVBoxLayout;
- class VGeneralTab : public QWidget
- {
- Q_OBJECT
- public:
- explicit VGeneralTab(QWidget *p_parent = 0);
- bool loadConfiguration();
- bool saveConfiguration();
- private:
- QLayout *setupStartupPagesLayout();
- bool loadLanguage();
- bool saveLanguage();
- bool loadSystemTray();
- bool saveSystemTray();
- bool loadStartupPageType();
- bool saveStartupPageType();
- // Language
- QComboBox *m_langCombo;
- // System tray
- QCheckBox *m_systemTray;
- // Startup page type.
- QComboBox *m_startupPageTypeCombo;
- // Startup pages.
- QPlainTextEdit *m_startupPagesEdit;
- // Startup pages add files button.
- QPushButton *m_startupPagesAddBtn;
- static const QVector<QString> c_availableLangs;
- };
- class VReadEditTab : public QWidget
- {
- Q_OBJECT
- public:
- explicit VReadEditTab(QWidget *p_parent = 0);
- bool loadConfiguration();
- bool saveConfiguration();
- private:
- bool loadWebZoomFactor();
- bool saveWebZoomFactor();
- bool loadSwapFile();
- bool saveSwapFile();
- bool loadAutoSave();
- bool saveAutoSave();
- void showTipsAboutAutoSave();
- bool loadFlashAnchor();
- bool saveFlashAnchor();
- // Web zoom factor.
- QCheckBox *m_customWebZoom;
- QDoubleSpinBox *m_webZoomFactorSpin;
- // Web flash anchor.
- QCheckBox *m_flashAnchor;
- // Swap file.
- QCheckBox *m_swapFile;
- // Auto save.
- QCheckBox *m_autoSave;
- QGroupBox *m_readBox;
- QGroupBox *m_editBox;
- };
- class VNoteManagementTab : public QWidget
- {
- Q_OBJECT
- public:
- explicit VNoteManagementTab(QWidget *p_parent = 0);
- bool loadConfiguration();
- bool saveConfiguration();
- private slots:
- void customImageFolderChanged(int p_state);
- void customImageFolderExtChanged(int p_state);
- void customAttachmentFolderChanged(int p_state);
- private:
- bool loadImageFolder();
- bool saveImageFolder();
- bool loadImageFolderExt();
- bool saveImageFolderExt();
- bool loadAttachmentFolder();
- bool saveAttachmentFolder();
- bool loadSingleClickOpen();
- bool saveSingleClickOpen();
- QGroupBox *m_noteBox;
- QGroupBox *m_externalBox;
- // Image folder.
- QCheckBox *m_customImageFolder;
- VLineEdit *m_imageFolderEdit;
- // Image folder of External File.
- QCheckBox *m_customImageFolderExt;
- VLineEdit *m_imageFolderEditExt;
- // Attachment folder.
- QCheckBox *m_customAttachmentFolder;
- VLineEdit *m_attachmentFolderEdit;
- // Single click to open note in current tab.
- QCheckBox *m_singleClickOpen;
- };
- class VMarkdownTab : public QWidget
- {
- Q_OBJECT
- public:
- explicit VMarkdownTab(QWidget *p_parent = 0);
- bool loadConfiguration();
- bool saveConfiguration();
- private:
- bool loadOpenMode();
- bool saveOpenMode();
- bool loadHeadingSequence();
- bool saveHeadingSequence();
- bool loadColorColumn();
- bool saveColorColumn();
- // Default note open mode for markdown.
- QComboBox *m_openModeCombo;
- // Whether enable heading sequence.
- QComboBox *m_headingSequenceTypeCombo;
- QComboBox *m_headingSequenceLevelCombo;
- // Color column in code block.
- VLineEdit *m_colorColumnEdit;
- };
- class VSettingsDialog : public QDialog
- {
- Q_OBJECT
- public:
- explicit VSettingsDialog(QWidget *p_parent = 0);
- private slots:
- void saveConfiguration();
- void resetVNote();
- void resetLayout();
- private:
- void loadConfiguration();
- void addTab(QWidget *p_widget, const QString &p_label);
- QStackedLayout *m_tabs;
- QListWidget *m_tabList;
- QDialogButtonBox *m_btnBox;
- // Reset all the configuration of VNote.
- QPushButton *m_resetVNoteBtn;
- // Reset the layout.
- QPushButton *m_resetLayoutBtn;
- };
- #endif // VSETTINGSDIALOG_H
|