Merge branch 'savingsettings' into base
[ghostsoverboard] / seascene.cpp
index c90636f..1d9f720 100644 (file)
@@ -32,6 +32,7 @@
 #include <QPushButton>
 #include <QLabel>
 #include <QVBoxLayout>
+#include <QSettings>
 
 const QString ghostImageFilename_ = ":/pix/aave.png";
 const QString rockImageFilename_ =":/pix/kari.png";
@@ -75,6 +76,8 @@ SeaScene::SeaScene(QObject *parent) :
     pVibrateAction_ = new QAction(tr("Vibration effects"),this);
     pVibrateAction_->setCheckable(true);
     connect(pVibrateAction_,SIGNAL(toggled(bool)),this,SLOT(vibrationActivate(bool)));
+    QSettings settings;
+    pVibrateAction_->setChecked(settings.value("vibration",false).toBool());
 
 
     pPauseAction_ = new QAction(tr("Pause"),this);
@@ -408,14 +411,14 @@ void SeaScene::handleScreenTapped()
 
     else if (pItem == pSettingsItem_)
     {
-    //Temporary code for settings, likely to be turned into a QML dialog
-
-          QMessageBox::StandardButton buttonpressed = QMessageBox::question(NULL,"Settings","Do you wish to have vibration effects enabled?", QMessageBox::Yes | QMessageBox::No);
-
-          if (buttonpressed == QMessageBox::Yes)
-              pVibrateAction_->setChecked(true);
-          if (buttonpressed == QMessageBox::No)
-              pVibrateAction_->setChecked(false);
+        pVibrateAction_->toggle();
+          QSettings settings;
+          {
+              settings.setValue("vibration",true);
+          }
+          {
+              settings.setValue("vibration",false);
+          }
     }
 
     else if (pItem == pAboutItem_)
@@ -469,7 +472,18 @@ void SeaScene::createMenuItems()
     prepareForMenu(pRestartLevelItem_);
 
     pSettingsItem_ = new QGraphicsTextItem;
-    pSettingsItem_->setHtml(tr("Settings").prepend(menufonthtml));
+    QString vibraText(tr("Vibration <br> effects"));
+    QString statusText;
+    if (pVibrateAction_->isChecked())
+    {
+        statusText = "off";
+    }
+    else
+    {
+        statusText = "on";
+    }
+    vibraText.append(statusText);
+    pSettingsItem_->setHtml(vibraText.prepend(menufonthtml));
     prepareForMenu(pSettingsItem_);
 
     pAboutItem_ = new QGraphicsTextItem;