From d2be02fceb3b2f1cd2fe4720560acc85a6c331be Mon Sep 17 00:00:00 2001 From: Nils Schwabe Date: Mon, 31 Mar 2014 16:32:44 +0200 Subject: Help/News improvement, added ini settings, made some translations for new text elemtents, cleaned code --- src/choosersettings.cpp | 57 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/choosersettings.cpp (limited to 'src/choosersettings.cpp') diff --git a/src/choosersettings.cpp b/src/choosersettings.cpp new file mode 100644 index 0000000..2b8b9ac --- /dev/null +++ b/src/choosersettings.cpp @@ -0,0 +1,57 @@ +/* + * choosersettings.cpp + * + * Created on: Mar 24, 2014 + * Author: nils + */ + +#include "choosersettings.h" +#include "globals.h" + +bool ChooserSettings::settingsLoaded = false; +ChooserSettings* ChooserSettings::chooserSettings = NULL; + +ChooserSettings::ChooserSettings() { + // test (and make) directory + QDir saveFileDir(QFileInfo(previousSessionFile).absoluteDir()); + if (!saveFileDir.exists()) { + if (!saveFileDir.mkpath(saveFileDir.path())) { + return; + } + } + + settings = new QSettings(previousSessionFile + ".ini", QSettings::IniFormat); + settings->setIniCodec("UTF-8"); + + if (settings->status() != QSettings::NoError) { + if (debugMode) { + qDebug() << "Settings: " << previousSessionFile << " contains erros."; + } + return; + } + + settingsLoaded = true; +} + +ChooserSettings::~ChooserSettings() { + settings->deleteLater(); +} + +QString ChooserSettings::getSetting(QString key) { + if (!settingsLoaded) { + chooserSettings = new ChooserSettings(); + if (!settingsLoaded) return ""; + } + + return chooserSettings->settings->value(key).toString(); +} + +bool ChooserSettings::setSetting(QString key, QString value) { + if (!settingsLoaded) { + chooserSettings = new ChooserSettings(); + if (!settingsLoaded) return false; + } + chooserSettings->settings->setValue(key, value); +// chooserSettings->settings->sync(); + return true; +} -- cgit v1.2.3-55-g7522