Introduce user mode (Basic and Pro)
authorSakari Poussa <spoussa@gmail.com>
Thu, 22 Jul 2010 09:29:56 +0000 (12:29 +0300)
committerSakari Poussa <spoussa@gmail.com>
Thu, 22 Jul 2010 09:29:56 +0000 (12:29 +0300)
src/main-window.cpp
src/score-common.h
src/settings-dialog.cpp
src/settings-dialog.h

index 1ace27b..740c1b8 100644 (file)
@@ -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();
index 65d1a45..87b2d05 100644 (file)
@@ -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
index 863af35..a7e7f71 100644 (file)
@@ -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<Club *> &list)
     QMaemo5ListPickSelector * sel;
     clubList = list;
 
+    // HCP
     if (conf.hcp.isValid()) {
         sel = (QMaemo5ListPickSelector *)hcpButton->pickSelector();
         sel->setCurrentIndex(conf.hcp.toInt());
     }
 
+    // Home club
     QListIterator<Club *> 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<Club *> &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());
index 15d6772..793570b 100644 (file)
@@ -36,6 +36,7 @@ private:
     QStandardItemModel *homeClubModel;
     QStandardItemModel *sortModel;
     QStandardItemModel *defaultCoursesModel;
+    QStandardItemModel *userModeModel;
 
     QList<Club *> clubList;
 #ifdef Q_WS_MAEMO_5
@@ -43,6 +44,7 @@ private:
     QMaemo5ValueButton * homeClubButton;
     QMaemo5ValueButton * sortButton;
     QMaemo5ValueButton * defaultCoursesButton;
+    QMaemo5ValueButton * userModeButton;
 #endif
 };