diff options
Diffstat (limited to 'src/SettingsHandler.qml')
-rw-r--r-- | src/SettingsHandler.qml | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/SettingsHandler.qml b/src/SettingsHandler.qml index 8a9a862..f281da1 100644 --- a/src/SettingsHandler.qml +++ b/src/SettingsHandler.qml @@ -2,6 +2,49 @@ import QtQuick 2.0 import Qt.labs.settings 1.0 QtObject { + function getSetter(category, name) { + try { + var type = typeof eval(category + '.' + name); + + switch ( type ) { + case 'undefined': { + throw new ReferenceError(); + break; + } + case 'string': { + return function(value) { + return eval(category + '.' + name + ' = "' + value + '"'); + } + break; + } + default: { + return function(value) { + return eval(category + '.' + name + ' = ' + value); + } + break; + } + } + } + catch (exception) { + throw category + '.' + name + ' doesnt exist.'; + } + } + + function read(category, name) { + try { + var value = eval(category + '.' + name); + + if ( typeof value === 'undefined' ) { + throw new ReferenceError(); + } else { + return value; + } + } + catch (exception) { + throw category + '.' + name + ' doesnt exist.'; + } + } + property Settings window : Settings { category: "window" |