From 12650910fe448e4b7077fe9c7f55e752f5e01d77 Mon Sep 17 00:00:00 2001 From: Sakari Poussa Date: Thu, 22 Jul 2010 12:29:56 +0300 Subject: [PATCH] Introduce user mode (Basic and Pro) --- src/main-window.cpp | 9 ++++++++- src/score-common.h | 2 ++ src/settings-dialog.cpp | 35 ++++++++++++++++++++++++++++++++++- src/settings-dialog.h | 2 ++ 4 files changed, 46 insertions(+), 2 deletions(-) diff --git a/src/main-window.cpp b/src/main-window.cpp index 1ace27b..740c1b8 100644 --- a/src/main-window.cpp +++ b/src/main-window.cpp @@ -275,6 +275,7 @@ void MainWindow::loadSettings(void) conf.hcp = settings.value(settingsHcp); conf.homeClub = settings.value(settingsHomeClub); conf.sortOrder = settings.value(settingsSortOrder); + conf.userMode = settings.value(settingsUserMode); conf.defaultCourses = settings.value(settingsDefaultCourses); settings.endGroup(); @@ -286,7 +287,11 @@ void MainWindow::loadSettings(void) if (!conf.sortOrder.isValid()) conf.sortOrder = "Date"; - qDebug() << "Settings: " << conf.hcp << conf.homeClub << conf.sortOrder << conf.defaultCourses; + // Use basic mode if no settings for that + if (!conf.userMode.isValid()) + conf.userMode = "Basic"; + + qDebug() << "Settings: " << conf.hcp << conf.homeClub << conf.sortOrder << conf.userMode << conf.defaultCourses; } void MainWindow::saveSettings(void) @@ -299,6 +304,8 @@ void MainWindow::saveSettings(void) settings.setValue(settingsHomeClub, conf.homeClub); if (conf.sortOrder.isValid()) settings.setValue(settingsSortOrder, conf.sortOrder); + if (conf.userMode.isValid()) + settings.setValue(settingsUserMode, conf.userMode); if (conf.defaultCourses.isValid()) settings.setValue(settingsDefaultCourses, conf.defaultCourses); settings.endGroup(); diff --git a/src/score-common.h b/src/score-common.h index 65d1a45..87b2d05 100644 --- a/src/score-common.h +++ b/src/score-common.h @@ -14,6 +14,7 @@ static QString settingsGroup("Settings"); static QString settingsHcp("hcp"); static QString settingsHomeClub("home-club"); static QString settingsSortOrder("sort-order"); +static QString settingsUserMode("user-mode"); static QString settingsDefaultCourses("default-courses"); #ifndef WANT_DEBUG @@ -31,6 +32,7 @@ public: QVariant homeClub; QVariant sortOrder; QVariant defaultCourses; + QVariant userMode; }; class ScoreColor diff --git a/src/settings-dialog.cpp b/src/settings-dialog.cpp index 863af35..a7e7f71 100644 --- a/src/settings-dialog.cpp +++ b/src/settings-dialog.cpp @@ -88,9 +88,27 @@ void SettingsDialog::createLayout(QWidget *parent) defaultCoursesButton->setPickSelector(listPickSelector3); defaultCoursesButton->setText(QString::fromUtf8("Use Default Courses")); + // User Mode + userModeButton = new QMaemo5ValueButton(); + userModeButton->setValueLayout(QMaemo5ValueButton::ValueBesideText); + QMaemo5ListPickSelector * listPickSelector5 = new QMaemo5ListPickSelector; + userModeModel = new QStandardItemModel(2, 0); + item = new QStandardItem(QString("Basic")); + item->setTextAlignment(Qt::AlignCenter); + userModeModel->setItem(0, item); + item = new QStandardItem(QString("Pro")); + item->setTextAlignment(Qt::AlignCenter); + userModeModel->setItem(1, item); + + listPickSelector5->setModel(userModeModel); + userModeButton->setPickSelector(listPickSelector5); + userModeButton->setText(QString::fromUtf8("Mode")); + + // Add widgets to layout leftLayout->addWidget(hcpButton); leftLayout->addWidget(homeClubButton); leftLayout->addWidget(sortButton); + leftLayout->addWidget(userModeButton); leftLayout->addWidget(defaultCoursesButton); #endif @@ -112,13 +130,14 @@ void SettingsDialog::init(AppSettings &conf, QList &list) QMaemo5ListPickSelector * sel; clubList = list; + // HCP if (conf.hcp.isValid()) { sel = (QMaemo5ListPickSelector *)hcpButton->pickSelector(); sel->setCurrentIndex(conf.hcp.toInt()); } + // Home club QListIterator i(clubList); - while (i.hasNext()) { Club *club = i.next(); QStandardItem *item = new QStandardItem(QString("%0").arg(club->getName())); @@ -131,12 +150,21 @@ void SettingsDialog::init(AppSettings &conf, QList &list) index++; } + // Sort order if (conf.sortOrder.isValid()) { int index = conf.sortOrder.toString() == "Date" ? 0 : 1; sel = (QMaemo5ListPickSelector *)sortButton->pickSelector(); sel->setCurrentIndex(index); } + // User mode + if (conf.userMode.isValid()) { + int index = conf.userMode.toString() == "Basic" ? 0 : 1; + sel = (QMaemo5ListPickSelector *)userModeButton->pickSelector(); + sel->setCurrentIndex(index); + } + + // Default courses if (conf.defaultCourses.isValid()) { int index = conf.defaultCourses.toString() == "Yes" ? 0 : 1; sel = (QMaemo5ListPickSelector *)defaultCoursesButton->pickSelector(); @@ -167,6 +195,11 @@ void SettingsDialog::results(AppSettings &conf) item = sortModel->item(sel->currentIndex()); conf.sortOrder = item->data(Qt::DisplayRole); } + sel = (QMaemo5ListPickSelector *)userModeButton->pickSelector(); + if (sel->currentIndex() != -1) { + item = userModeModel->item(sel->currentIndex()); + conf.userMode = item->data(Qt::DisplayRole); + } sel = (QMaemo5ListPickSelector *)defaultCoursesButton->pickSelector(); if (sel->currentIndex() != -1) { item = defaultCoursesModel->item(sel->currentIndex()); diff --git a/src/settings-dialog.h b/src/settings-dialog.h index 15d6772..793570b 100644 --- a/src/settings-dialog.h +++ b/src/settings-dialog.h @@ -36,6 +36,7 @@ private: QStandardItemModel *homeClubModel; QStandardItemModel *sortModel; QStandardItemModel *defaultCoursesModel; + QStandardItemModel *userModeModel; QList clubList; #ifdef Q_WS_MAEMO_5 @@ -43,6 +44,7 @@ private: QMaemo5ValueButton * homeClubButton; QMaemo5ValueButton * sortButton; QMaemo5ValueButton * defaultCoursesButton; + QMaemo5ValueButton * userModeButton; #endif }; -- 1.7.9.5