Move settings to dedicated class.
[vexed] / settings.cpp
1 #include "settings.h"
2 #include <QtCore>
3
4 Settings::Settings():QSettings("paul","vexed")
5 {
6 }
7
8 void Settings::saveHiscore(const QString &packName, const QString &levelName, int score)
9 {
10     hiscore(packName, levelName, score);
11 }
12
13 int Settings::getHighscore(const QString &packName, const QString &levelName)
14 {
15     return hiscore(packName, levelName);
16 }
17
18 void Settings::saveGame(const QString &packName, int levelNo)
19 {
20     beginGroup("save");
21     setValue("pack",packName);
22     setValue("level",levelNo);
23 }
24 QString Settings::savedPackName()
25 {
26         beginGroup("save");
27         QString packName=value("pack","Classic Levels").toString();
28         return packName;
29 }
30 int Settings::savedLevelNo()
31 {
32         beginGroup("save");
33         int levelNo=value("level",0).toInt();
34         return levelNo;
35 }
36 int Settings::hiscore(const QString &packName, const QString &levelName,int score)
37 {
38
39     beginGroup("score");
40     beginGroup(packName);
41     QString saved=value(levelName,HS::NO_SCORE).toString();
42     bool ok;
43     int savedMoves=saved.toInt(&ok);
44     if(!ok)
45         savedMoves=HS::NO_SCORE;
46     if(score == -1)
47     {
48         return savedMoves;
49     }
50     if(score<savedMoves)
51         setValue(levelName,score);
52     return score;
53 }