Tried to add minimize to menu CRASHES
[ghostsoverboard] / seascene.cpp
index db31d78..5fb9c8f 100644 (file)
@@ -69,6 +69,8 @@ SeaScene::SeaScene(QObject *parent) :
 
     currentLevel_ = 0;
 
+    connect(this,SIGNAL(allGhostsPicked()),this,SLOT(nextLevel()));
+
 
     pVibrateAction_ = new QAction(tr("Vibration effects"),this);
     pVibrateAction_->setCheckable(true);
@@ -421,11 +423,26 @@ 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);
+
 }
 
 
@@ -433,25 +450,46 @@ void SeaScene::handleScreenTapped()
 void SeaScene::createMenuItems()
 {
 
-    pPausetextItem_ =  addSimpleText("Game paused. Tap to continue.");
+    QFont font;
+    font.setPixelSize(35);
+
+
+
+    pPausetextItem_ = new QGraphicsTextItem;
+    pPausetextItem_->setHtml("<font size = \"5\" color = darkorange> Game paused. Tap to continue.");
     pPausetextItem_->setZValue(1000);
-    pPausetextItem_->setPos(250,50);
+    pPausetextItem_->setPos(200,50);
+    addItem(pPausetextItem_);
     pPausetextItem_->hide();
 
     menuItemCount_ = 0;
 
-    pRestartGameItem_ = new QGraphicsSimpleTextItem("Restart game");
+    QString menufonthtml = "<font size = \"4\" color = darkorange>";
+
+    pRestartGameItem_ = new QGraphicsTextItem;
+    pRestartGameItem_->setHtml(tr("Restart <br> game").prepend(menufonthtml));
     prepareForMenu(pRestartGameItem_);
 
-    pRestartLevelItem_ = new QGraphicsSimpleTextItem("Restart level");
+    pRestartLevelItem_ = new QGraphicsTextItem;
+    pRestartLevelItem_->setHtml(tr("Restart <br> level").prepend(menufonthtml));
     prepareForMenu(pRestartLevelItem_);
 
-    pSettingsItem_ = new QGraphicsSimpleTextItem("Settings");
+    pSettingsItem_ = new QGraphicsTextItem;
+    pSettingsItem_->setHtml(tr("Vibration <br> effects").prepend(menufonthtml));
     prepareForMenu(pSettingsItem_);
 
-    pAboutItem_ = new QGraphicsSimpleTextItem("About");
+    pAboutItem_ = new QGraphicsTextItem;
+    pAboutItem_->setHtml(tr("About <br> game").prepend(menufonthtml));
     prepareForMenu(pAboutItem_);
 
+    pMinimizeItem_ = new QGraphicsTextItem;
+    pMinimizeItem_->setHtml(tr("Go to <br> background").prepend(menufonthtml));
+    prepareForMenu(pMinimizeItem_);
+
+    pQuitItem_ = new QGraphicsTextItem;
+    pQuitItem_->setHtml(tr("Quit <br> game").prepend(menufonthtml));
+    prepareForMenu(pQuitItem_);
+
 }
 
 void SeaScene::prepareForMenu(QGraphicsItem * pItem)
@@ -461,11 +499,12 @@ void SeaScene::prepareForMenu(QGraphicsItem * pItem)
     //They are also shown and hidden with it, resulting in the menu being visble when the game is paused
     //Their coordinates are given relative to the parent.
 
+
     pItem->setParentItem(pPausetextItem_);
     pItem->setZValue(1000);
     pItem->setFlag(QGraphicsItem::ItemIsSelectable);
     pItem->setY(150);
-    pItem->setX(menuItemCount_++*150-250);
+    pItem->setX(menuItemCount_++*160-150);
  }