X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=mainwindow.cpp;h=3996d736acfee6ac269196796ba23d5f1c473e00;hb=refs%2Ftags%2Fv0.1.0;hp=87292ec73981a2955298906b53ab10039de74e6e;hpb=91e484cc41924f563c0482f0910a6441b4bf2cd7;p=ghostsoverboard diff --git a/mainwindow.cpp b/mainwindow.cpp index 87292ec..3996d73 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -16,7 +16,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 +27,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); @@ -60,15 +60,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(); } @@ -143,3 +146,39 @@ 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); + + }