--- /dev/null
+#include "settings.h"
+#include <QtCore>
+
+Settings::Settings():QSettings("paul","vexed")
+{
+}
+
+void Settings::saveHiscore(const QString &packName, const QString &levelName, int score)
+{
+ hiscore(packName, levelName, score);
+}
+
+int Settings::getHighscore(const QString &packName, const QString &levelName)
+{
+ return hiscore(packName, levelName);
+}
+
+void Settings::saveGame(const QString &packName, int levelNo)
+{
+ beginGroup("save");
+ setValue("pack",packName);
+ setValue("level",levelNo);
+}
+QString Settings::savedPackName()
+{
+ beginGroup("save");
+ QString packName=value("pack","Classic Levels").toString();
+ return packName;
+}
+int Settings::savedLevelNo()
+{
+ beginGroup("save");
+ int levelNo=value("level",0).toInt();
+ return levelNo;
+}
+int Settings::hiscore(const QString &packName, const QString &levelName,int score)
+{
+
+ beginGroup("score");
+ beginGroup(packName);
+ QString saved=value(levelName,HS::NO_SCORE).toString();
+ bool ok;
+ int savedMoves=saved.toInt(&ok);
+ if(!ok)
+ savedMoves=HS::NO_SCORE;
+ if(score == -1)
+ {
+ return savedMoves;
+ }
+ if(score<savedMoves)
+ setValue(levelName,score);
+ return score;
+}