Fixed a typo
[ghostsoverboard] / seascene.cpp
index 6e044fa..aa5f91f 100644 (file)
@@ -345,6 +345,7 @@ void SeaScene::pause(bool paused)
         if (paused == false)
         {
      //       qDebug() << "starting to move again";
+            emit fullscreenRequested();
             emit pauseOff();
             screenLitKeeper_.keepScreenLit(true);
             if (pPausetextItem_)
@@ -422,21 +423,17 @@ void SeaScene::handleScreenTapped()
 
     else if (pItem == pSettingsItem_)
     {
-    //Temporary code for settings, likely to be turned into a QML dialog
-          QSettings settings;
-
-          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);
-              settings.setValue("vibration",true);
-          }
-          if (buttonpressed == QMessageBox::No)
-          {
-              pVibrateAction_->setChecked(false);
-              settings.setValue("vibration",false);
-          }
+        pVibrateAction_->toggle();
+
+        QSettings settings;
+        settings.setValue("vibration",pVibrateAction_->isChecked());
+
+        QString text = pSettingsItem_->toHtml();
+        if (pVibrateAction_->isChecked())
+            text.replace(" on"," off"); //don't remove spaces or you get vibratioff...
+        else
+            text.replace(" off"," on");
+        pSettingsItem_->setHtml(text);
     }
 
     else if (pItem == pAboutItem_)
@@ -444,20 +441,29 @@ void SeaScene::handleScreenTapped()
         about();
     }
 
+    else if(pItem == pMinimizeItem_)
+    {
+        emit minimizeRequested();
+    }
+
     else if (pItem == pQuitItem_)
     {
         qApp->quit();
     }
 
 
+
     //Selection is just used to get notice of a menu item being clicked, removed after use
 
     clearSelection();
 
-    //The user propably went to paused state just to access menu, so unpause
-
-    pPauseAction_->setChecked(false);
+    //The user propably went to paused state just to access menu, so unpause unless vibration set (so the user sees its changed)
+    //or unless status bar was requested
+    if (pItem != pMinimizeItem_ || pItem != pSettingsItem_)
 
+    {
+        pPauseAction_->setChecked(false);
+    }
 }
 
 
@@ -473,7 +479,7 @@ void SeaScene::createMenuItems()
     pPausetextItem_ = new QGraphicsTextItem;
     pPausetextItem_->setHtml("<font size = \"5\" color = darkorange> Game paused. Tap to continue.");
     pPausetextItem_->setZValue(1000);
-    pPausetextItem_->setPos(200,50);
+    pPausetextItem_->setPos(165,50);
     addItem(pPausetextItem_);
     pPausetextItem_->hide();
 
@@ -490,13 +496,28 @@ void SeaScene::createMenuItems()
     prepareForMenu(pRestartLevelItem_);
 
     pSettingsItem_ = new QGraphicsTextItem;
-    pSettingsItem_->setHtml(tr("Vibration <br> effects").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;
     pAboutItem_->setHtml(tr("About <br> game").prepend(menufonthtml));
     prepareForMenu(pAboutItem_);
 
+    pMinimizeItem_ = new QGraphicsTextItem;
+    pMinimizeItem_->setHtml(tr("Show <br> status bar").prepend(menufonthtml));
+    prepareForMenu(pMinimizeItem_);
+
     pQuitItem_ = new QGraphicsTextItem;
     pQuitItem_->setHtml(tr("Quit <br> game").prepend(menufonthtml));
     prepareForMenu(pQuitItem_);
@@ -511,11 +532,19 @@ void SeaScene::prepareForMenu(QGraphicsItem * pItem)
     //Their coordinates are given relative to the parent.
 
 
+
+
+    int itemsPerRow = 3;
+
     pItem->setParentItem(pPausetextItem_);
     pItem->setZValue(1000);
     pItem->setFlag(QGraphicsItem::ItemIsSelectable);
-    pItem->setY(150);
-    pItem->setX(menuItemCount_++*160-150);
+
+    int row = menuItemCount_/(itemsPerRow);
+    pItem->setY(150+row*120);
+    pItem->setX(((menuItemCount_%(itemsPerRow))*180+5));
+
+    menuItemCount_++;
  }