From 79ce16073d2c39d9973ffdddfbae8a94439dbd43 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timo=20H=C3=A4rk=C3=B6nen?= Date: Thu, 26 Aug 2010 20:56:46 +0300 Subject: [PATCH] Changing settings dialog logic and menu changes --- src/main.cpp | 2 ++ src/mainwindow.cpp | 16 ++++++++++------ src/mainwindow.h | 1 + src/settingsdialog.cpp | 9 +++++++++ src/settingsdialog.h | 4 ++++ 5 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 2aa6758..1231eb1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -17,6 +17,7 @@ */ #include +#include #include "mainwindow.h" @@ -25,6 +26,7 @@ int main(int argc, char *argv[]) QApplication app(argc, argv); MainWindow::instance()->show(); + MainWindow::instance()->resize(app.desktop()->size()); return app.exec(); } diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 46a74c8..e2b2b19 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -59,11 +59,13 @@ MainWindow *MainWindow::instance() void MainWindow::createMenu() { - menu_ = menuBar()->addMenu(""); + menu_ = menuBar()->addMenu("&Game"); menu_->addAction(newGameAction_); menu_->addAction(saveAction_); - menu_->addAction(aboutAction_); menu_->addAction(importAction_); + + helpMenu_ = menuBar()->addMenu("&Help"); + helpMenu_->addAction(aboutAction_); } void MainWindow::createActions() @@ -90,11 +92,13 @@ void MainWindow::importClicked() void MainWindow::newGameClicked() { - settingsDialog_->exec(); + int r = settingsDialog_->exec(); - GameView::instance()->setPieces(ImageImporter::instance()->newPieces(Settings::instance()->image(), Settings::instance()->pieceCount())); - enableSaving(); - PuzzleItem::setMoveCount(0); + if(r) { + GameView::instance()->setPieces(ImageImporter::instance()->newPieces(Settings::instance()->image(), Settings::instance()->pieceCount())); + enableSaving(); + PuzzleItem::setMoveCount(0); + } } void MainWindow::aboutClicked() diff --git a/src/mainwindow.h b/src/mainwindow.h index 91e9234..097be48 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -53,6 +53,7 @@ private: QAction *saveAction_; QMenu *menu_; + QMenu *helpMenu_; SettingsDialog *settingsDialog_; }; diff --git a/src/settingsdialog.cpp b/src/settingsdialog.cpp index 019ca48..0f2a6cb 100644 --- a/src/settingsdialog.cpp +++ b/src/settingsdialog.cpp @@ -57,10 +57,13 @@ SettingsDialog::SettingsDialog(QWidget *parent) : selectedImageLabel_ = new QLabel(tr("n/a")); + applyButton_ = new QPushButton(tr("Play")); + mainLayout_ = new QVBoxLayout; mainLayout_->addWidget(buttonGroup_); mainLayout_->addWidget(imageCombo_); mainLayout_->addWidget(selectedImageLabel_); + mainLayout_->addWidget(applyButton_); selectedImageLabel_->setVisible(false); @@ -69,6 +72,7 @@ SettingsDialog::SettingsDialog(QWidget *parent) : connect(easyButton_, SIGNAL(toggled(bool)), this, SLOT(difficultySelectionChanged(bool))); //connect(imageCombo_, SIGNAL(currentIndexChanged(QString)), this, SLOT(imageSelectionChanged(QString))); connect(imageCombo_, SIGNAL(activated(QString)), this, SLOT(imageSelectionChanged(QString))); + connect(applyButton_, SIGNAL(clicked()), this, SLOT(applyClicked())); } int SettingsDialog::exec() @@ -150,3 +154,8 @@ void SettingsDialog::imageSelectionChanged(const QString &txt) } } } + +void SettingsDialog::applyClicked() +{ + this->done(1); +} diff --git a/src/settingsdialog.h b/src/settingsdialog.h index 05a759b..23b82ea 100644 --- a/src/settingsdialog.h +++ b/src/settingsdialog.h @@ -27,6 +27,7 @@ class QRadioButton; class QHBoxLayout; class QComboBox; class QLabel; +class QPushButton; class SettingsDialog : public QDialog { @@ -41,6 +42,7 @@ public slots: private slots: void difficultySelectionChanged(bool value); void imageSelectionChanged(const QString &txt); + void applyClicked(); private: QVBoxLayout *mainLayout_; @@ -54,5 +56,7 @@ private: QComboBox *imageCombo_; QLabel *selectedImageLabel_; + + QPushButton *applyButton_; }; #endif -- 1.7.9.5