Got rid of MainWindow
authorHeli Hyvättinen <heli.hyvattinen@kymp.net>
Tue, 19 Jul 2011 13:17:16 +0000 (16:17 +0300)
committerHeli Hyvättinen <heli.hyvattinen@kymp.net>
Tue, 19 Jul 2011 13:17:16 +0000 (16:17 +0300)
All remaining functionality moved to SeaView, which is now directly
created in main.cpp

ghostsoverboard.pro
main.cpp
mainwindow.cpp [deleted file]
mainwindow.h [deleted file]
seascene.cpp
seaview.cpp
seaview.h

index 30a176f..f04a9d7 100644 (file)
@@ -12,7 +12,6 @@ TEMPLATE = app
 
 
 SOURCES += main.cpp\
-        mainwindow.cpp \
     orientationcontrolledgraphicspixmapobject.cpp \
     seascene.cpp \
     ship.cpp \
@@ -22,7 +21,7 @@ SOURCES += main.cpp\
     level.cpp \
     seaview.cpp
 
-HEADERS  += mainwindow.h \
+HEADERS  += \
     orientationcontrolledgraphicspixmapobject.h \
     seascene.h \
     ship.h \
index 5274d07..168bc1d 100644 (file)
--- a/main.cpp
+++ b/main.cpp
 **************************************************************************/
 
 #include <QtGui/QApplication>
-#include "mainwindow.h"
+#include "seaview.h"
 
 int main(int argc, char *argv[])
 {
     QApplication a(argc, argv);
     a.setApplicationName("Ghosts Overboard");
     a.setApplicationVersion("0.2.1");
-    MainWindow w;
+    SeaView w;
 #if defined(Q_WS_S60)
     w.showMaximized();
 #else
diff --git a/mainwindow.cpp b/mainwindow.cpp
deleted file mode 100644 (file)
index 0b199b6..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/**************************************************************************
-        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)
-{
-    setWindowIcon(QIcon(":/pix/laiva_3aave.png"));
-    setWindowTitle("Ghosts Overboard");
-
-    pScene_ = new SeaScene ();
-    connect(pScene_,SIGNAL(allGhostsPicked()),pScene_,SLOT(nextLevel()));
-
-    pView_  = new SeaView ();
-
-
-    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(100,this,SLOT(initializeBoundaries()));
-
-
-}
-
-MainWindow::~MainWindow()
-{
-
-}
-
-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
-
-    //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_->restartLevel();
-}
-
diff --git a/mainwindow.h b/mainwindow.h
deleted file mode 100644 (file)
index 99b7154..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/**************************************************************************
-        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/>.
-
-**************************************************************************/
-
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QtGui/QMainWindow>
-#include <QGraphicsView>
-#include "orientationcontrolledgraphicspixmapobject.h"
-#include "seascene.h"
-#include "seaview.h"
-#include "level.h"
-
-class MainWindow : public QMainWindow
-{
-    Q_OBJECT
-
-public:
-    MainWindow(QWidget *parent = 0);
-    ~MainWindow();
-
-
-
-public slots:
-    void initializeBoundaries();
-
-
-
-
-private:
-
-SeaScene * pScene_;
-SeaView * pView_;
-
-
-
-
-
-};
-
-#endif // MAINWINDOW_H
index db31d78..0cd941d 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);
index 1ea801b..a0496f3 100644 (file)
 #include "seaview.h"
 
 #include <QEvent>
+#include <QTimer>
 
 SeaView::SeaView(QWidget *parent) :
     QGraphicsView(parent)
 {
 
+    setWindowIcon(QIcon(":/pix/laiva_3aave.png"));
+    setWindowTitle("Ghosts Overboard");
+
+    pScene_ = new SeaScene ();
+
+
+    setScene(pScene_);
+
+
+    connect(this,SIGNAL(screenTapped()),pScene_,SLOT(handleScreenTapped()));
+    connect(this,SIGNAL(goingBackgroung()),pScene_,SLOT(forcePause()));
+    connect(this,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(100,this,SLOT(initializeBoundaries()));
+
 }
 
 void  SeaView::mousePressEvent(QMouseEvent *event)
@@ -70,3 +92,25 @@ bool SeaView::event(QEvent *event)
     return QGraphicsView::event(event);
 
  }
+
+
+void SeaView::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
+
+    //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);
+    setSceneRect(rectangle);
+
+//     qDebug() << "Initialized boundaries" << rectangle.right() << rectangle.bottom() << pView_->width() << pView_->height();
+
+    pScene_->restartLevel();
+}
index 332cc90..a36992c 100644 (file)
--- a/seaview.h
+++ b/seaview.h
@@ -24,6 +24,7 @@
 #define SEAVIEW_H
 
 #include <QGraphicsView>
+#include "seascene.h"
 
 class SeaView : public QGraphicsView
 {
@@ -45,6 +46,12 @@ signals:
 
 public slots:
 
+    void initializeBoundaries();
+
+protected:
+
+    SeaScene * pScene_;
+
 };
 
 #endif // SEAVIEW_H