Sat, 06 Jun 2015 22:28:34 +0300
Renamed cfg.cpp/h to config.cpp/h
CMakeLists.txt | file | annotate | diff | comparison | revisions | |
src/cfg.cpp | file | annotate | diff | comparison | revisions | |
src/cfg.h | file | annotate | diff | comparison | revisions | |
src/config.cpp | file | annotate | diff | comparison | revisions | |
src/config.h | file | annotate | diff | comparison | revisions | |
src/main.h | file | annotate | diff | comparison | revisions |
--- a/CMakeLists.txt Sat Jun 06 22:26:05 2015 +0300 +++ b/CMakeLists.txt Sat Jun 06 22:28:34 2015 +0300 @@ -14,7 +14,7 @@ include_directories (${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR}) set (ZCINEMA_SOURCES - src/cfg.cpp + src/config.cpp src/configwindow.cpp src/demo.cpp src/main.cpp @@ -23,7 +23,7 @@ ) set (ZCINEMA_HEADERS - src/cfg.h + src/config.h src/configwindow.h src/demo.h src/main.h
--- a/src/cfg.cpp Sat Jun 06 22:26:05 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,100 +0,0 @@ -/* - * ZCinema: Zandronum demo launcher - * Copyright (C) 2013-2015 Teemu Piippo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include <assert.h> -#include <QDir> -#include <QTextStream> -#include <QSettings> -#include "main.h" - -typedef QMap<QString, QVariant> DefaultsMap; - -// -// ------------------------------------------------------------------------------------------------- -// - -static QSettings* getSettingsObject() -{ - return new QSettings; -} - -// -// ------------------------------------------------------------------------------------------------- -// - -static DefaultsMap& getDefaults() -{ - static DefaultsMap defaults; - - if (defaults.isEmpty()) - { - // Initialize defaults here. - } - - return defaults; -} - -// -// ------------------------------------------------------------------------------------------------- -// - -void Config::reset() -{ - DefaultsMap& defaults = getDefaults(); - - for (DefaultsMap::iterator it = defaults.begin(); it != defaults.end(); ++it) - set (it.key(), it.value()); -} - -// -// ------------------------------------------------------------------------------------------------- -// - -QVariant Config::get (const QString& name) -{ - QSettings* settings = getSettingsObject(); - DefaultsMap& defaults = getDefaults(); - DefaultsMap::iterator it = defaults.find (name); - QVariant def = it != defaults.end() ? *it : QVariant(); - QVariant value = settings->value (name, def); - settings->deleteLater(); - return value; -} - -// -// ------------------------------------------------------------------------------------------------- -// - -bool Config::set (const QString& name, const QVariant& value) -{ - QSettings* settings = getSettingsObject(); - settings->setValue (name, value); - settings->deleteLater(); - return settings->status() == QSettings::NoError; -} - -// -// ------------------------------------------------------------------------------------------------- -// - -void Config::sync() -{ - QSettings* settings = getSettingsObject(); - settings->sync(); - settings->deleteLater(); -}
--- a/src/cfg.h Sat Jun 06 22:26:05 2015 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -/* - * ZCinema: Zandronum demo launcher - * Copyright (C) 2013-2015 Teemu Piippo - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#pragma once -#include <QVariant> - -// ========================================================= -namespace Config -{ - void reset(); - QVariant get (const QString& name); - bool set (const QString& name, const QVariant& value); - void sync(); -}; \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/config.cpp Sat Jun 06 22:28:34 2015 +0300 @@ -0,0 +1,100 @@ +/* + * ZCinema: Zandronum demo launcher + * Copyright (C) 2013-2015 Teemu Piippo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include <assert.h> +#include <QDir> +#include <QTextStream> +#include <QSettings> +#include "main.h" + +typedef QMap<QString, QVariant> DefaultsMap; + +// +// ------------------------------------------------------------------------------------------------- +// + +static QSettings* getSettingsObject() +{ + return new QSettings; +} + +// +// ------------------------------------------------------------------------------------------------- +// + +static DefaultsMap& getDefaults() +{ + static DefaultsMap defaults; + + if (defaults.isEmpty()) + { + // Initialize defaults here. + } + + return defaults; +} + +// +// ------------------------------------------------------------------------------------------------- +// + +void Config::reset() +{ + DefaultsMap& defaults = getDefaults(); + + for (DefaultsMap::iterator it = defaults.begin(); it != defaults.end(); ++it) + set (it.key(), it.value()); +} + +// +// ------------------------------------------------------------------------------------------------- +// + +QVariant Config::get (const QString& name) +{ + QSettings* settings = getSettingsObject(); + DefaultsMap& defaults = getDefaults(); + DefaultsMap::iterator it = defaults.find (name); + QVariant def = it != defaults.end() ? *it : QVariant(); + QVariant value = settings->value (name, def); + settings->deleteLater(); + return value; +} + +// +// ------------------------------------------------------------------------------------------------- +// + +bool Config::set (const QString& name, const QVariant& value) +{ + QSettings* settings = getSettingsObject(); + settings->setValue (name, value); + settings->deleteLater(); + return settings->status() == QSettings::NoError; +} + +// +// ------------------------------------------------------------------------------------------------- +// + +void Config::sync() +{ + QSettings* settings = getSettingsObject(); + settings->sync(); + settings->deleteLater(); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/config.h Sat Jun 06 22:28:34 2015 +0300 @@ -0,0 +1,28 @@ +/* + * ZCinema: Zandronum demo launcher + * Copyright (C) 2013-2015 Teemu Piippo + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once +#include <QVariant> + +namespace Config +{ + void reset(); + QVariant get (const QString& name); + bool set (const QString& name, const QVariant& value); + void sync(); +}; \ No newline at end of file