History

expose application settings to JS

ZappoMan committed 12 years ago

Commit 938959a1 parent b7243b06 files · +94 −7Browse files

Showing the changes to interface/src/scripting/SettingsScriptingInterface.cpp (1 of 6 files). Show all

Unified · Split

interface/src/scripting/SettingsScriptingInterface.cpp+36−0
@@ -0,0 +1,36 @@
1+//
2+// SettingsScriptingInterface.cpp
3+// hifi
4+//
5+// Created by Brad Hefta-Gaub on 2/25/14
6+// Copyright (c) 2014 HighFidelity, Inc. All rights reserved.
7+//
8+
9+#include "Application.h"
10+#include "SettingsScriptingInterface.h"
11+
12+
13+SettingsScriptingInterface* SettingsScriptingInterface::getInstance() {
14+ static SettingsScriptingInterface sharedInstance;
15+ return &sharedInstance;
16+}
17+
18+QVariant SettingsScriptingInterface::getValue(const QString& setting) {
19+ QSettings* settings = Application::getInstance()->lockSettings();
20+ QVariant value = settings->value(setting);
21+ Application::getInstance()->unlockSettings();
22+ return value;
23+}
24+
25+QVariant SettingsScriptingInterface::getValue(const QString& setting, const QVariant& defaultValue) {
26+ QSettings* settings = Application::getInstance()->lockSettings();
27+ QVariant value = settings->value(setting, defaultValue);
28+ Application::getInstance()->unlockSettings();
29+ return value;
30+}
31+
32+void SettingsScriptingInterface::setValue(const QString& setting, const QVariant& value) {
33+ QSettings* settings = Application::getInstance()->lockSettings();
34+ settings->setValue(setting, value);
35+ Application::getInstance()->unlockSettings();
36+}