X-Git-Url: http://git.maemo.org/git/?p=impuzzle;a=blobdiff_plain;f=src%2Fmainwindow.cpp;h=fea49c2bf951f59f0b02a3f2e88231c0c7696e65;hp=514dcecdd4874ebd9dd4a44ea04300f2a9ab87f7;hb=efc46c69cd39215ef1699c577668ea8854385257;hpb=a99fb2957d3f32c8cedb73c942cad34db832086b diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 514dcec..fea49c2 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -20,6 +20,7 @@ #include "gameview.h" #include "settings.h" #include "settingsdialog.h" +#include "aboutdialog.h" #include "puzzleitem.h" #include @@ -30,6 +31,8 @@ #include "imageimporter.h" +MainWindow *MainWindow::instance_ = 0; + MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { @@ -45,11 +48,21 @@ MainWindow::MainWindow(QWidget *parent) : connect(GameView::instance(), SIGNAL(gameRestored()), this, SLOT(enableSaving())); } +MainWindow *MainWindow::instance() +{ + if(!instance_) { + instance_ = new MainWindow; + } + + return instance_; +} + void MainWindow::createMenu() { menu_ = menuBar()->addMenu(""); menu_->addAction(newGameAction_); menu_->addAction(saveAction_); + menu_->addAction(aboutAction_); menu_->addAction(importAction_); } @@ -62,8 +75,8 @@ void MainWindow::createActions() connect(importAction_, SIGNAL(triggered()), this, SLOT(importClicked())); importAction_->setDisabled(true); - settingsAction_ = new QAction(tr("Settings"), this); - connect(settingsAction_, SIGNAL(triggered()), this, SLOT(settingsClicked())); + aboutAction_ = new QAction(tr("About ImPuzzle"), this); + connect(aboutAction_, SIGNAL(triggered()), this, SLOT(aboutClicked())); saveAction_ = new QAction(tr("Save and quit"), this); connect(saveAction_, SIGNAL(triggered()), GameView::instance(), SLOT(saveGame())); @@ -83,9 +96,11 @@ void MainWindow::newGameClicked() enableSaving(); } -void MainWindow::settingsClicked() +void MainWindow::aboutClicked() { - + AboutDialog *dialog = new AboutDialog(this); + dialog->exec(); + dialog->deleteLater(); } void MainWindow::gameEnded()