The app is now fullscreen
[ghostsoverboard] / mainwindow.cpp
index 8502b60..0b199b6 100644 (file)
@@ -1,41 +1,67 @@
+/**************************************************************************
+        Ghosts Overboard - a game for Maemo 5
+
+        Copyright (C) 2011  Heli Hyvättinen
+
+        This file is part of Ghosts Overboard
+
+        Ghosts Overboard is free software: you can redistribute it and/or modify
+        it under the terms of the GNU General Public License as published by
+        the Free Software Foundation, either version 2 of the License, or
+        (at your option) any later version.
+
+        This program is distributed in the hope that it will be useful,
+        but WITHOUT ANY WARRANTY; without even the implied warranty of
+        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+        GNU General Public License for more details.
+
+        You should have received a copy of the GNU General Public License
+        along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+**************************************************************************/
+
 #include "mainwindow.h"
 #include <QPixmap>
 #include <QTimer>
 #include <QDebug>
 #include <QAction>
 #include <QMenuBar>
+#include <QMessageBox>
+#include <QApplication>
+#include <QLabel>
+#include <QPushButton>
+#include <QVBoxLayout>
 
 
 
 MainWindow::MainWindow(QWidget *parent)
     : QMainWindow(parent)
 {
-    paused_ = false;
+    setWindowIcon(QIcon(":/pix/laiva_3aave.png"));
+    setWindowTitle("Ghosts Overboard");
 
-    pScene_ = new QGraphicsScene ();
-    pView_  = new QGraphicsView ();
+    pScene_ = new SeaScene ();
+    connect(pScene_,SIGNAL(allGhostsPicked()),pScene_,SLOT(nextLevel()));
 
-    QPixmap waves (":/pix/meri.png");
-    pScene_->setBackgroundBrush(QBrush(waves));
+    pView_  = new SeaView ();
 
-    pTursas_ = new OrientationControlledGraphicsPixmapObject(QPixmap(":/pix/tursas.png"));
-    pScene_->addItem(pTursas_);
 
     pView_->setScene(pScene_);
     setCentralWidget(pView_);
 
+    connect(pView_,SIGNAL(screenTapped()),pScene_,SLOT(handleScreenTapped()));
+    connect(pView_,SIGNAL(goingBackgroung()),pScene_,SLOT(forcePause()));
+    connect(pView_,SIGNAL(goingForeground()),pScene_,SLOT(softContinue()));
+
+    showFullScreen();
+
+
 
     //the boundaries of the scene are set to match the size of the view window, which is not
     //available in the constructor --> timer needed
-    QTimer::singleShot(60,this,SLOT(initializeBoundaries()));
+    QTimer::singleShot(100,this,SLOT(initializeBoundaries()));
 
 
-    QAction * pPauseAction = new QAction(tr("Pause"),this);
-    pPauseAction->setCheckable(true);
-    addAction(pPauseAction);
-    connect(pPauseAction,SIGNAL(triggered(bool)),this,SLOT(pause(bool)));
-    menuBar()->addAction(pPauseAction);
-
 }
 
 MainWindow::~MainWindow()
@@ -48,36 +74,19 @@ void MainWindow::initializeBoundaries()
         //the boundaries of the scene are set to match the size of the view window, and
         //the view is set to show exactly the whole scene area
 
-    QPoint topleft (0,0);
-    QSize windowsize = pView_->size();
-    QRectF rectangle (topleft,windowsize);
+    //this occasionally gives a tiny scene, so using a fixed size fit for N900/Maemo5 until a fix is found
+
+//    QPoint topleft (0,0);
+//    QSize windowsize = pView_->size();
+//    QRectF rectangle (topleft,windowsize);
 
+    QRectF rectangle(0,0,800,480);
 
     pScene_->setSceneRect(rectangle);
     pView_->setSceneRect(rectangle);
-    pTursas_->setBoundaries(rectangle);
-    pTursas_->startMoving();
 
-    qDebug() << "Initialized boundaries" << rectangle.left() << rectangle.right() << pView_->width();
-}
+//     qDebug() << "Initialized boundaries" << rectangle.right() << rectangle.bottom() << pView_->width() << pView_->height();
 
-void MainWindow::pause(bool paused)
-{
-//    qDebug() << "pause pressed " << paused;
-    if (paused_ == paused)
-            return;
-
-    paused_ = paused;
-
-    if (paused == false)
-    {
- //       qDebug() << "starting to move again";
-        pTursas_->startMoving();
-    }
-
-    else
-    {
-        qDebug("about to stop movement");
-        pTursas_->stopMoving();
-    }
+    pScene_->restartLevel();
 }
+