From 3574ca2b57fd411fe6ce16c5c92d21260b5a429a Mon Sep 17 00:00:00 2001 From: Ruediger Gad Date: Sun, 15 Apr 2012 02:03:27 +0200 Subject: [PATCH] Add dialog for setting key bindings. --- QZeeControl.pro.user | 2 +- qml/QZeeControl/KeyBindingSettings.qml | 134 ++++++++++++++++++++++++++++++++ qml/QZeeControl/main.qml | 11 +++ 3 files changed, 146 insertions(+), 1 deletion(-) create mode 100644 qml/QZeeControl/KeyBindingSettings.qml diff --git a/QZeeControl.pro.user b/QZeeControl.pro.user index 4f9a044..6d3288d 100644 --- a/QZeeControl.pro.user +++ b/QZeeControl.pro.user @@ -1,6 +1,6 @@ - + ProjectExplorer.Project.ActiveTarget diff --git a/qml/QZeeControl/KeyBindingSettings.qml b/qml/QZeeControl/KeyBindingSettings.qml new file mode 100644 index 0000000..732b5ad --- /dev/null +++ b/qml/QZeeControl/KeyBindingSettings.qml @@ -0,0 +1,134 @@ +// import QtQuick 1.0 // to target S60 5th Edition or Maemo 5 +import QtQuick 1.1 +import com.nokia.meego 1.0 +import "settingsstorage.js" as SettingsStorage + +Sheet { + id: keyBindingSettings + anchors.fill: parent + visualParent: mainPage + + acceptButtonText: "Save" + rejectButtonText: "Cancel" + + function loadBindings(){ + console.log("Loading stored key bindings.") + fieldA.text = SettingsStorage.getSetting("A") + fieldB.text = SettingsStorage.getSetting("B") + fieldC.text = SettingsStorage.getSetting("C") + fieldD.text = SettingsStorage.getSetting("D") + + fieldUp.text = SettingsStorage.getSetting("Up") + fieldDown.text = SettingsStorage.getSetting("Down") + fieldLeft.text = SettingsStorage.getSetting("Left") + fieldRight.text = SettingsStorage.getSetting("Right") + } + + function saveBindings(){ + console.log("Saving new key bindings.") + SettingsStorage.setSetting("A", fieldA.text) + SettingsStorage.setSetting("B", fieldB.text) + SettingsStorage.setSetting("C", fieldC.text) + SettingsStorage.setSetting("D", fieldD.text) + + SettingsStorage.setSetting("Up", fieldUp.text) + SettingsStorage.setSetting("Down", fieldDown.text) + SettingsStorage.setSetting("Left", fieldLeft.text) + SettingsStorage.setSetting("Right", fieldRight.text) + } + + onAccepted: saveBindings() + + onStatusChanged:{ + if(status === DialogStatus.Opening){ + loadBindings() + } + } + + content: Flickable{ + anchors.fill: parent + anchors.margins: 10 + contentHeight: contentGrid.height + + Grid{ + id: contentGrid + + anchors{top: parent.top} + width: 300 + spacing: 10 + + Label{ + text: "A" + } + TextField{ + id: fieldA + text: "-" + width: 150 + } + + Label{ + text: "B" + } + TextField{ + id: fieldB + text: "-" + width: 150 + } + + Label{ + text: "C" + } + TextField{ + id: fieldC + text: "-" + width: 150 + } + + Label{ + text: "D" + } + TextField{ + id: fieldD + text: "-" + width: 150 + } + + Label{ + text: "Up" + } + TextField{ + id: fieldUp + text: "-" + width: 150 + } + + Label{ + text: "Down" + } + TextField{ + id: fieldDown + text: "-" + width: 150 + } + + Label{ + text: "Left" + } + TextField{ + id: fieldLeft + text: "-" + width: 150 + } + + Label{ + text: "Right" + } + TextField{ + id: fieldRight + text: "-" + width: 150 + } + } + } +} + diff --git a/qml/QZeeControl/main.qml b/qml/QZeeControl/main.qml index 8e72fa9..f6076f6 100644 --- a/qml/QZeeControl/main.qml +++ b/qml/QZeeControl/main.qml @@ -42,8 +42,14 @@ PageStackWindow { Menu { id: myMenu visualParent: pageStack + MenuLayout { MenuItem { + text: "Edit Key Bindings" + onClicked: keyBindingsSettings.open() + } + + MenuItem { text: "About" onClicked: aboutDialog.open() } @@ -53,4 +59,9 @@ PageStackWindow { AboutDialog{ id: aboutDialog } + + KeyBindingSettings{ + id: keyBindingsSettings + onAccepted: mainPage.loadKeyBindings() + } } -- 1.7.9.5