X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=mainwindow.cpp;h=4484a874d433b2e5c7963729d81b50485a14428d;hb=5256583a62f6d7a752334f5987e7ee9f570b6c81;hp=87292ec73981a2955298906b53ab10039de74e6e;hpb=91e484cc41924f563c0482f0910a6441b4bf2cd7;p=ghostsoverboard
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 87292ec..4484a87 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -1,5 +1,26 @@
+/**************************************************************************
+ 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 .
+
+**************************************************************************/
+
#include "mainwindow.h"
-#include "timercontrolledtursas.h"
#include
#include
#include
@@ -16,7 +37,7 @@
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
- setWindowIcon(QIcon(":/pix/laiva_10aave.png"));
+ setWindowIcon(QIcon(":/pix/laiva_3aave.png"));
setWindowTitle("Ghosts Overboard");
pScene_ = new SeaScene ();
@@ -27,11 +48,11 @@ MainWindow::MainWindow(QWidget *parent)
pView_->setScene(pScene_);
setCentralWidget(pView_);
- QAction * pPauseAction = new QAction(tr("Pause"),this);
- pPauseAction->setCheckable(true);
- addAction(pPauseAction);
- connect(pPauseAction,SIGNAL(triggered(bool)),pScene_,SLOT(pause(bool)));
- menuBar()->addAction(pPauseAction);
+ pPauseAction_ = new QAction(tr("Pause"),this);
+ pPauseAction_->setCheckable(true);
+ addAction(pPauseAction_);
+ connect(pPauseAction_,SIGNAL(triggered(bool)),pScene_,SLOT(pause(bool)));
+ menuBar()->addAction(pPauseAction_);
QAction * pRestartLevelAction = new QAction(tr("Restart level"),this);
addAction(pRestartLevelAction);
@@ -44,6 +65,11 @@ MainWindow::MainWindow(QWidget *parent)
connect(pAboutAction,SIGNAL(triggered()),this,SLOT(about()));
menuBar()->addAction(pAboutAction);
+ QAction * pRestartGameAction = new QAction(tr("Restart game"),this);
+ addAction(pRestartGameAction);
+ connect(pRestartGameAction,SIGNAL(triggered()),this,SLOT(restartGame()));
+ menuBar()->addAction(pRestartGameAction);
+
//the boundaries of the scene are set to match the size of the view window, which is not
//available in the constructor --> timer needed
@@ -60,15 +86,18 @@ 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,424);
pScene_->setSceneRect(rectangle);
pView_->setSceneRect(rectangle);
- qDebug() << "Initialized boundaries" << rectangle.right() << rectangle.bottom() << pView_->width() << pView_->height();
+ // qDebug() << "Initialized boundaries" << rectangle.right() << rectangle.bottom() << pView_->width() << pView_->height();
restartLevel();
}
@@ -76,7 +105,7 @@ void MainWindow::initializeBoundaries()
void MainWindow::restartLevel()
{
- pScene_->setupMap(5,10,0);
+ pScene_->setupMap(5,10,5,100);
}
void MainWindow::about()
@@ -143,3 +172,44 @@ void MainWindow::nextLevel()
restartLevel();
}
+
+bool MainWindow::event(QEvent *event)
+{
+
+ switch (event->type())
+ {
+ //pause if app goes to background
+ case QEvent::WindowDeactivate:
+
+ if (pScene_)
+ pScene_->pause(true);
+ break;
+
+ //un-pause if app gomes back to foreground unless it was paused before going to background
+ case QEvent::WindowActivate:
+
+
+ if (pPauseAction_ && !pPauseAction_->isChecked())
+ {
+ if (pScene_)
+ pScene_->pause(false);
+ }
+ break;
+
+ //Just to keep the compiler from complaining...
+ default:
+ break;
+
+ }
+
+
+
+ //pass the event to the ancestor for handling
+ return QMainWindow::event(event);
+
+ }
+
+void MainWindow::restartGame()
+{
+
+}