X-Git-Url: http://git.maemo.org/git/?p=vexed;a=blobdiff_plain;f=mainwindow.cpp;h=e80d336a90c4008716f7960cd1606226b42fc13e;hp=e4758b1f2cc1451dff6257db205e89713acabbf8;hb=2c405dfd042212e9017061e3f3720da941e96354;hpb=df03af48f2934fd9cbf88fb182b41736e5153836 diff --git a/mainwindow.cpp b/mainwindow.cpp index e4758b1..e80d336 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -26,11 +26,7 @@ MainWindow::MainWindow(QWidget *parent) : } pack=0; - QSettings settings("paul","vexed"); - settings.beginGroup("save"); - QString savedTitle=settings.value("pack","Classic Levels").toString(); - int savedLevelNo=settings.value("level",0).toInt(); - loadPack(savedTitle,savedLevelNo); + loadPack(Settings().savedPackName(),Settings().savedLevelNo()); } MainWindow::~MainWindow() @@ -88,8 +84,10 @@ void MainWindow::loadLevel() PlayField *pf=pack->levelAt(levelNo); ui->playwidget->setPlayField(pf); QString title; - QTextStream(&title)<title<<" ("<levels.size()<<")"; + QTextStream(&title)<title<<" ("<levels.size()<<")"; + levelHiscore=Settings().getHighscore(pack->getTitle(),pf->title); ui->levelTitle->setText(title); + movesChanged(0); } void MainWindow::loadPack(const QString& packName, int levelToLoad) @@ -107,38 +105,20 @@ void MainWindow::movesChanged(int moves) PlayField *pf=pack->levelAt(levelNo); const QString sol=pf->getSolution(); int total=sol.length()/2; - int score=hiscore(); + //int score=Settings().getHighscore(pack->getTitle(),pf->title); QString q; QTextStream movesBanner(&q); movesBanner<"<"; - + if(levelHiscore!=HS::NO_SCORE) + movesBanner<<"("<)"; ui->moves->setText(q); } void MainWindow::solved(int moves) { - hiscore(moves); - loadNextLevel(); -} - -int MainWindow::hiscore(int score) -{ - QSettings settings("paul","vexed"); PlayField *pf=pack->levelAt(levelNo); - QString title=pf->title; - settings.beginGroup("score"); - settings.beginGroup(pack->getTitle()); - QString saved=settings.value(title,"9999").toString(); - bool ok; - int savedMoves=saved.toInt(&ok); - if(!ok) savedMoves=9999; - if(score == -1) - return savedMoves; - if(scoregetTitle(),pf->title, moves); + loadNextLevel(); } void MainWindow::openPreferences() @@ -160,8 +140,14 @@ void MainWindow::howToPlay() // TODO: save playfield (and undo?) void MainWindow::saveState() { - QSettings settings("paul","vexed"); - settings.beginGroup("save"); - settings.setValue("pack",pack->getTitle()); - settings.setValue("level",levelNo); + Settings().saveGame(pack->getTitle(),levelNo); +} + +void MainWindow::loadNextLevel() +{ + if(levelNo<(pack->size()-1)) + { + levelNo++; + loadLevel(); + } }