From 10401481e5c3087a9080d63bc4c0abb538cead0a Mon Sep 17 00:00:00 2001 From: Filippo Scognamiglio Date: Sat, 28 Dec 2013 03:40:45 +0100 Subject: [PATCH] Initial support for profiles. Some test profiles have been added. --- qml/cool-old-term/SettingComponent.qml | 1 + qml/cool-old-term/SettingsWindow.qml | 6 +++- qml/cool-old-term/ShaderSettings.qml | 41 ++++++++++++++++++++++---- 3 files changed, 41 insertions(+), 7 deletions(-) diff --git a/qml/cool-old-term/SettingComponent.qml b/qml/cool-old-term/SettingComponent.qml index fd87b22..ea8e5aa 100644 --- a/qml/cool-old-term/SettingComponent.qml +++ b/qml/cool-old-term/SettingComponent.qml @@ -29,6 +29,7 @@ RowLayout { onValueChanged: setting_component._value = slider.value; Layout.fillWidth: true enabled: check.checked + value: setting_component._value Component.onCompleted: slider.value = setting_component._value } diff --git a/qml/cool-old-term/SettingsWindow.qml b/qml/cool-old-term/SettingsWindow.qml index 789c22b..27e871a 100644 --- a/qml/cool-old-term/SettingsWindow.qml +++ b/qml/cool-old-term/SettingsWindow.qml @@ -30,6 +30,10 @@ ApplicationWindow { title: qsTr("Profile") ComboBox{ anchors.fill: parent + model: shadersettings.profiles_list + onCurrentIndexChanged: { + shadersettings.loadProfile(shadersettings.profiles_list.get(currentIndex).obj_name); + } } } @@ -53,10 +57,10 @@ ApplicationWindow { Layout.fillWidth: true decimals: 1 stepSize: 0.1 + value: shadersettings.font_scaling minimumValue: 0.5 maximumValue: 1.5 onValueChanged: shadersettings.font_scaling = value; - Component.onCompleted: value = shadersettings.font_scaling; } Item{Layout.fillHeight: true} ColorButton{ diff --git a/qml/cool-old-term/ShaderSettings.qml b/qml/cool-old-term/ShaderSettings.qml index 3dbd403..b841861 100644 --- a/qml/cool-old-term/ShaderSettings.qml +++ b/qml/cool-old-term/ShaderSettings.qml @@ -23,6 +23,8 @@ Item{ property int font_index: 2 property var fonts_list: fontlist + property var profiles_list: profileslist + onFont_indexChanged: handleFontChanged(); onFont_scalingChanged: handleFontChanged(); @@ -72,8 +74,8 @@ Item{ Storage{id: storage} - function retrieveFromDB(){ - var settings = storage.getSetting("CURRENT_SETTINGS"); + function loadProfile(profilename){ + var settings = storage.getSetting(profilename); if(!settings) return; settings = JSON.parse(settings); @@ -94,7 +96,7 @@ Item{ font_scaling = settings.font_scaling ? settings.font_scaling: font_scaling; } - function storeToDb(){ + function storeCurrentSettings(){ var settings = { ambient_light : ambient_light, background_color: background_color, @@ -109,14 +111,41 @@ Item{ font_scaling: font_scaling } + console.log(JSON.stringify(settings)); storage.setSetting("CURRENT_SETTINGS", JSON.stringify(settings)); } Component.onCompleted: { - retrieveFromDB(); + //Save all the profiles into local storage + for(var i=0; i