aboutsummaryrefslogtreecommitdiff
path: root/src/qt/optionsdialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qt/optionsdialog.h')
-rw-r--r--src/qt/optionsdialog.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/qt/optionsdialog.h b/src/qt/optionsdialog.h
new file mode 100644
index 0000000000..9e1f87c646
--- /dev/null
+++ b/src/qt/optionsdialog.h
@@ -0,0 +1,53 @@
+#ifndef OPTIONSDIALOG_H
+#define OPTIONSDIALOG_H
+
+#include <QDialog>
+
+QT_BEGIN_NAMESPACE
+class QStackedWidget;
+class QListWidget;
+class QListWidgetItem;
+class QPushButton;
+QT_END_NAMESPACE
+class OptionsModel;
+class MainOptionsPage;
+class DisplayOptionsPage;
+class MonitoredDataMapper;
+
+/** Preferences dialog. */
+class OptionsDialog : public QDialog
+{
+ Q_OBJECT
+public:
+ explicit OptionsDialog(QWidget *parent=0);
+
+ void setModel(OptionsModel *model);
+
+signals:
+
+public slots:
+ /** Change the current page to \a index. */
+ void changePage(int index);
+
+private slots:
+ void okClicked();
+ void cancelClicked();
+ void applyClicked();
+ void enableApply();
+ void disableApply();
+
+private:
+ QListWidget *contents_widget;
+ QStackedWidget *pages_widget;
+ OptionsModel *model;
+ MonitoredDataMapper *mapper;
+ QPushButton *apply_button;
+
+ // Pages
+ MainOptionsPage *main_page;
+ DisplayOptionsPage *display_page;
+
+ void setupMainPage();
+};
+
+#endif // OPTIONSDIALOG_H