Somewhat confident now, tested on GNOME+KDE, with all types of transactions. Next...
[novacoin.git] / gui / include / optionsdialog.h
1 #ifndef OPTIONSDIALOG_H
2 #define OPTIONSDIALOG_H
3
4 #include <QDialog>
5
6 QT_BEGIN_NAMESPACE
7 class QStackedWidget;
8 class QListWidget;
9 class QListWidgetItem;
10 class QPushButton;
11 QT_END_NAMESPACE
12 class OptionsModel;
13 class MainOptionsPage;
14 class MonitoredDataMapper;
15
16 class OptionsDialog : public QDialog
17 {
18     Q_OBJECT
19 public:
20     explicit OptionsDialog(QWidget *parent=0);
21
22     void setModel(OptionsModel *model);
23
24 signals:
25
26 public slots:
27     void changePage(QListWidgetItem *current, QListWidgetItem *previous);
28 private slots:
29     void okClicked();
30     void cancelClicked();
31     void applyClicked();
32     void enableApply();
33     void disableApply();
34 private:
35     QListWidget *contents_widget;
36     QStackedWidget *pages_widget;
37     MainOptionsPage *main_options_page;
38     OptionsModel *model;
39     MonitoredDataMapper *mapper;
40     QPushButton *apply_button;
41
42     void setupMainPage();
43 };
44
45 #endif // OPTIONSDIALOG_H