2 #include <QDialogButtonBox>
6 #include <QStandardItemModel>
8 #include <QMaemo5InformationBox>
9 #include <QMaemo5ValueButton>
10 #include <QMaemo5ListPickSelector>
13 #include "settings-dialog.h"
15 SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent)
17 QWidget *centralWidget = new QWidget(this);
18 createLayout(centralWidget);
19 setWindowTitle(tr("Settings"));
22 void SettingsDialog::createLayout(QWidget *parent)
24 QPushButton * ok = new QPushButton(tr("OK"));
26 connect(ok, SIGNAL(clicked()), this, SLOT(okClicked()));
28 QDialogButtonBox * buttonBox = new QDialogButtonBox(Qt::Vertical);
29 buttonBox->addButton(ok, QDialogButtonBox::ActionRole);
31 QVBoxLayout * leftLayout = new QVBoxLayout;
37 hcpButton = new QMaemo5ValueButton();
38 hcpButton->setValueLayout(QMaemo5ValueButton::ValueBesideText);
39 QMaemo5ListPickSelector * listPickSelector1 = new QMaemo5ListPickSelector;
40 hcpModel = new QStandardItemModel(54, 0);
41 for (int i = 0; i < 54; i++) {
42 item = new QStandardItem(QString("%0").arg(i));
43 item->setTextAlignment(Qt::AlignCenter);
44 hcpModel->setItem(i, item);
46 listPickSelector1->setModel(hcpModel);
47 hcpButton->setPickSelector(listPickSelector1);
48 hcpButton->setText(QString::fromUtf8("HCP"));
51 homeClubButton = new QMaemo5ValueButton();
52 homeClubButton->setValueLayout(QMaemo5ValueButton::ValueBesideText);
53 QMaemo5ListPickSelector * listPickSelector2 = new QMaemo5ListPickSelector;
54 homeClubModel = new QStandardItemModel;
55 listPickSelector2->setModel(homeClubModel);
56 homeClubButton->setPickSelector(listPickSelector2);
57 homeClubButton->setText(QString::fromUtf8("Home Club"));
59 // Use Default Courses
60 defaultCoursesButton = new QMaemo5ValueButton();
61 defaultCoursesButton->setValueLayout(QMaemo5ValueButton::ValueBesideText);
62 QMaemo5ListPickSelector * listPickSelector3 = new QMaemo5ListPickSelector;
63 defaultCoursesModel = new QStandardItemModel(2, 0);
64 item = new QStandardItem(QString("Yes"));
65 item->setTextAlignment(Qt::AlignCenter);
66 defaultCoursesModel->setItem(0, item);
67 item = new QStandardItem(QString("No"));
68 item->setTextAlignment(Qt::AlignCenter);
69 defaultCoursesModel->setItem(1, item);
71 listPickSelector3->setModel(defaultCoursesModel);
72 defaultCoursesButton->setPickSelector(listPickSelector3);
73 defaultCoursesButton->setText(QString::fromUtf8("Use Default Courses"));
75 leftLayout->addWidget(hcpButton);
76 leftLayout->addWidget(homeClubButton);
77 leftLayout->addWidget(defaultCoursesButton);
80 QVBoxLayout * rightLayout = new QVBoxLayout;
81 rightLayout->addStretch();
82 rightLayout->addWidget(buttonBox);
84 QHBoxLayout *mainLayout = new QHBoxLayout(parent);
85 mainLayout->addLayout(leftLayout);
86 mainLayout->addLayout(rightLayout);
88 setLayout(mainLayout);
91 void SettingsDialog::init(AppSettings &conf, QList<Club *> &list)
95 QMaemo5ListPickSelector * sel;
98 if (conf.hcp.isValid()) {
99 sel = (QMaemo5ListPickSelector *)hcpButton->pickSelector();
100 sel->setCurrentIndex(conf.hcp.toInt());
103 QListIterator<Club *> i(clubList);
105 while (i.hasNext()) {
106 Club *club = i.next();
107 QStandardItem *item = new QStandardItem(QString("%0").arg(club->getName()));
108 item->setTextAlignment(Qt::AlignCenter);
109 homeClubModel->appendRow(item);
110 if (item->data(Qt::DisplayRole) == conf.homeClub) {
111 sel = (QMaemo5ListPickSelector *)homeClubButton->pickSelector();
112 sel->setCurrentIndex(index);
117 if (conf.defaultCourses.isValid()) {
118 int index = conf.defaultCourses.toString() == "Yes" ? 0 : 1;
119 sel = (QMaemo5ListPickSelector *)defaultCoursesButton->pickSelector();
120 sel->setCurrentIndex(index);
125 void SettingsDialog::results(AppSettings &conf)
128 QMaemo5ListPickSelector * sel;
132 sel = (QMaemo5ListPickSelector *)hcpButton->pickSelector();
133 if (sel->currentIndex() != -1) {
134 item = hcpModel->item(sel->currentIndex());
135 conf.hcp = item->data(Qt::DisplayRole);
137 sel = (QMaemo5ListPickSelector *)homeClubButton->pickSelector();
138 if (sel->currentIndex() != -1) {
139 item = homeClubModel->item(sel->currentIndex());
140 conf.homeClub = item->data(Qt::DisplayRole);
142 sel = (QMaemo5ListPickSelector *)defaultCoursesButton->pickSelector();
143 if (sel->currentIndex() != -1) {
144 item = defaultCoursesModel->item(sel->currentIndex());
145 conf.defaultCourses = item->data(Qt::DisplayRole);
150 void SettingsDialog::okClicked()