a70eadd5163bcd6896e5ba49954c88cbd843a3b5
[novacoin.git] / optionsdialog.cpp
1 #include "OptionsDialog.h"
2 #include "MainOptionsPage.h"
3
4 #include <QHBoxLayout>
5 #include <QVBoxLayout>
6 #include <QPushButton>
7
8 OptionsDialog::OptionsDialog(QWidget *parent) :
9     QDialog(parent), contents_widget(0), pages_widget(0)
10 {
11     contents_widget = new QListWidget();
12     contents_widget->setMaximumWidth(128);
13
14     pages_widget = new QStackedWidget();
15     pages_widget->setMinimumWidth(300);
16
17     QListWidgetItem *item_main = new QListWidgetItem(tr("Main"));
18     contents_widget->addItem(item_main);
19     pages_widget->addWidget(new MainOptionsPage(this));
20
21     contents_widget->setCurrentRow(0);
22
23     QHBoxLayout *main_layout = new QHBoxLayout();
24     main_layout->addWidget(contents_widget);
25     main_layout->addWidget(pages_widget, 1);
26
27     QVBoxLayout *layout = new QVBoxLayout();
28     layout->addLayout(main_layout);
29
30     QHBoxLayout *buttons = new QHBoxLayout();
31     buttons->addStretch(1);
32     QPushButton *ok_button = new QPushButton(tr("OK"));
33     buttons->addWidget(ok_button);
34     QPushButton *cancel_button = new QPushButton(tr("Cancel"));
35     buttons->addWidget(cancel_button);
36     QPushButton *apply_button = new QPushButton(tr("Apply"));
37     buttons->addWidget(apply_button);
38
39     layout->addLayout(buttons);
40
41
42     setLayout(layout);
43     setWindowTitle(tr("Options"));
44
45
46 }
47
48 void OptionsDialog::changePage(QListWidgetItem *current, QListWidgetItem *previous)
49 {
50     Q_UNUSED(previous);
51     if(current)
52     {
53         pages_widget->setCurrentIndex(contents_widget->row(current));
54     }
55 }