summaryrefslogtreecommitdiffstats
path: root/libsettings/include/appsettings.h
diff options
context:
space:
mode:
authorAndrew <forkk@forkk.net>2013-02-25 13:24:46 -0600
committerAndrew <forkk@forkk.net>2013-02-25 13:24:46 -0600
commit498225debdb22d83e591635dbd172cca12476279 (patch)
treee26d8f8de3bed7d22cfc25ee010c999b9481ec87 /libsettings/include/appsettings.h
parenta7111b132873e0f1e00221b2ad734454d69889e3 (diff)
downloadMultiMC-498225debdb22d83e591635dbd172cca12476279.tar
MultiMC-498225debdb22d83e591635dbd172cca12476279.tar.gz
MultiMC-498225debdb22d83e591635dbd172cca12476279.tar.lz
MultiMC-498225debdb22d83e591635dbd172cca12476279.tar.xz
MultiMC-498225debdb22d83e591635dbd172cca12476279.zip
Rewrote the settings system. It may still need some work.
Diffstat (limited to 'libsettings/include/appsettings.h')
-rw-r--r--libsettings/include/appsettings.h119
1 files changed, 0 insertions, 119 deletions
diff --git a/libsettings/include/appsettings.h b/libsettings/include/appsettings.h
deleted file mode 100644
index 79515618..00000000
--- a/libsettings/include/appsettings.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/* Copyright 2013 MultiMC Contributors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef APPSETTINGS_H
-#define APPSETTINGS_H
-
-#include <QObject>
-#include <QSettings>
-//#include <QColor>
-#include <QPoint>
-
-#include <apputils.h>
-#include <osutils.h>
-
-#include "libsettings_config.h"
-
-#if WINDOWS
-#define JPATHKEY "JavaPathWindows"
-#elif OSX
-#define JPATHKEY "JavaPathOSX"
-#else
-#define JPATHKEY "JavaPathLinux"
-#endif
-
-#define DEFINE_SETTING_ADVANCED(funcName, name, valType, defVal) \
- virtual valType get ## funcName() const { return getValue(name, defVal).value<valType>(); } \
- virtual void set ## funcName(valType value) { setValue(name, value); }
-
-#define DEFINE_SETTING(name, valType, defVal) \
- DEFINE_SETTING_ADVANCED(name, STR_VAL(name), valType, defVal)
-
-
-class LIBMMCSETTINGS_EXPORT SettingsBase : public QObject
-{
- Q_OBJECT
-public:
- explicit SettingsBase(QObject *parent = 0);
-
- // Updates
- DEFINE_SETTING(UseDevBuilds, bool, false)
- DEFINE_SETTING(AutoUpdate, bool, true)
-
- // Folders
- DEFINE_SETTING(InstanceDir, QString, "instances")
- DEFINE_SETTING(CentralModsDir, QString, "mods")
- DEFINE_SETTING(LWJGLDir, QString, "lwjgl")
-
- // Console
- DEFINE_SETTING(ShowConsole, bool, true)
- DEFINE_SETTING(AutoCloseConsole, bool, true)
-
- // Toolbar settings
- DEFINE_SETTING(InstanceToolbarVisible, bool, true)
- DEFINE_SETTING(InstanceToolbarPosition, QPoint, QPoint())
-
- // Console Colors
- // Currently commented out because QColor is a part of QtGUI
-// DEFINE_SETTING(SysMessageColor, QColor, QColor(Qt::blue))
-// DEFINE_SETTING(StdOutColor, QColor, QColor(Qt::black))
-// DEFINE_SETTING(StdErrColor, QColor, QColor(Qt::red))
-
- // Window Size
- DEFINE_SETTING(LaunchCompatMode, bool, false)
- DEFINE_SETTING(LaunchMaximized, bool, false)
- DEFINE_SETTING(MinecraftWinWidth, int, 854)
- DEFINE_SETTING(MinecraftWinHeight, int, 480)
-
- // Auto login
- DEFINE_SETTING(AutoLogin, bool, false)
-
- // Memory
- DEFINE_SETTING(MinMemAlloc, int, 512)
- DEFINE_SETTING(MaxMemAlloc, int, 1024)
-
- // Java Settings
- DEFINE_SETTING_ADVANCED(JavaPath, JPATHKEY, QString, "java")
- DEFINE_SETTING(JvmArgs, QString, "")
-
- // Custom Commands
- DEFINE_SETTING(PreLaunchCommand, QString, "")
- DEFINE_SETTING(PostExitCommand, QString, "")
-
- virtual QVariant getValue(const QString& name, QVariant defVal = QVariant()) const = 0;
- virtual void setValue(const QString& name, QVariant val) = 0;
-};
-
-class LIBMMCSETTINGS_EXPORT AppSettings : public SettingsBase
-{
- Q_OBJECT
-public:
- explicit AppSettings(QObject *parent = 0);
-
- QSettings& getConfig() { return config; }
-
- virtual QVariant getValue(const QString &name, QVariant defVal = QVariant()) const;
- virtual void setValue(const QString& name, QVariant val);
-
-protected:
- QSettings config;
-};
-
-#undef DEFINE_SETTING_ADVANCED
-#undef DEFINE_SETTING
-
-LIBMMCSETTINGS_EXPORT extern AppSettings* settings;
-
-#endif // APPSETTINGS_H