From e7787621b8b80ab48f95ac5d540d44ec2c847b55 Mon Sep 17 00:00:00 2001 From: paul romanchenko Date: Fri, 17 Sep 2010 09:23:57 +0400 Subject: [PATCH] You have to solve current level before advance --- fieldview.h | 4 ---- mainwindow.cpp | 7 ++++++ needadvance.cpp | 14 +++++++++++ needadvance.h | 22 +++++++++++++++++ needadvance.ui | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 113 insertions(+), 4 deletions(-) create mode 100644 needadvance.cpp create mode 100644 needadvance.h create mode 100644 needadvance.ui diff --git a/fieldview.h b/fieldview.h index c9111a8..197e830 100644 --- a/fieldview.h +++ b/fieldview.h @@ -3,7 +3,6 @@ #include #include -#include #include "playfield.h" #include "iconset.h" @@ -69,9 +68,6 @@ private: PlayField *playField; int selX, selY; int moveX, moveY; - QStateMachine *machine; - QState *rotL, *rotR; - QTimer timer; bool moving; QList *moves; diff --git a/mainwindow.cpp b/mainwindow.cpp index e80d336..f90ed54 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -2,6 +2,7 @@ #include "ui_mainwindow.h" #include "preferences.h" #include "howtoplay.h" +#include "needadvance.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), @@ -118,6 +119,7 @@ void MainWindow::solved(int moves) { PlayField *pf=pack->levelAt(levelNo); Settings().saveHiscore(pack->getTitle(),pf->title, moves); + levelHiscore=moves; loadNextLevel(); } @@ -145,6 +147,11 @@ void MainWindow::saveState() void MainWindow::loadNextLevel() { + if(levelHiscore == HS::NO_SCORE) + { + needadvance().exec(); + return; + } if(levelNo<(pack->size()-1)) { levelNo++; diff --git a/needadvance.cpp b/needadvance.cpp new file mode 100644 index 0000000..bf311c8 --- /dev/null +++ b/needadvance.cpp @@ -0,0 +1,14 @@ +#include "needadvance.h" +#include "ui_needadvance.h" + +needadvance::needadvance(QWidget *parent) : + QDialog(parent), + ui(new Ui::needadvance) +{ + ui->setupUi(this); +} + +needadvance::~needadvance() +{ + delete ui; +} diff --git a/needadvance.h b/needadvance.h new file mode 100644 index 0000000..7ca5606 --- /dev/null +++ b/needadvance.h @@ -0,0 +1,22 @@ +#ifndef NEEDADVANCE_H +#define NEEDADVANCE_H + +#include + +namespace Ui { + class needadvance; +} + +class needadvance : public QDialog +{ + Q_OBJECT + +public: + explicit needadvance(QWidget *parent = 0); + ~needadvance(); + +private: + Ui::needadvance *ui; +}; + +#endif // NEEDADVANCE_H diff --git a/needadvance.ui b/needadvance.ui new file mode 100644 index 0000000..150401d --- /dev/null +++ b/needadvance.ui @@ -0,0 +1,70 @@ + + + needadvance + + + + 0 + 0 + 778 + 300 + + + + Dialog + + + + + + + 16 + + + + Solve this level first! + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + I will! + + + + + + + + + pushButton + clicked() + needadvance + accept() + + + 612 + 146 + + + 575 + 189 + + + + + -- 1.7.9.5