+/**************************************************************************
+ 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 "timercontrolledtursas.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 SeaScene ();
- pView_ = new QGraphicsView ();
+ connect(pScene_,SIGNAL(allGhostsPicked()),pScene_,SLOT(nextLevel()));
+ pView_ = new SeaView ();
pView_->setScene(pScene_);
setCentralWidget(pView_);
- QAction * pPauseAction = new QAction(tr("Pause"),this);
- pPauseAction->setCheckable(true);
- addAction(pPauseAction);
- connect(pPauseAction,SIGNAL(triggered(bool)),this,SLOT(pause(bool)));
- menuBar()->addAction(pPauseAction);
+ connect(pView_,SIGNAL(screenTapped()),pScene_,SLOT(handleScreenTapped()));
+ connect(pView_,SIGNAL(goingBackgroung()),pScene_,SLOT(forcePause()));
+ connect(pView_,SIGNAL(goingForeground()),pScene_,SLOT(softContinue()));
- QAction * pRestartLevelAction = new QAction(tr("Restart level"),this);
- pRestartLevelAction->setCheckable(true);
- addAction(pRestartLevelAction);
- connect(pRestartLevelAction,SIGNAL(triggered()),this,SLOT(restartLevel()));
- menuBar()->addAction(pRestartLevelAction);
+ showFullScreen();
QTimer::singleShot(100,this,SLOT(initializeBoundaries()));
-
-
-
-
}
MainWindow::~MainWindow()
//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);
- qDebug() << "Initialized boundaries" << rectangle.right() << rectangle.bottom() << pView_->width() << pView_->height();
-
- pScene_->setupMap(5,5,5);
-}
-
-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();
- }
+// qDebug() << "Initialized boundaries" << rectangle.right() << rectangle.bottom() << pView_->width() << pView_->height();
+ pScene_->restartLevel();
}
-void MainWindow::restartLevel()
-{
- pScene_->setupMap(5,5,5);
-}