X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=qml%2FQZeeControl%2FMainPage.qml;h=9ebced72965409465735e9c5d2739b1667ecdea5;hb=fafa046c613853b649ded401e96c9b885efdbbea;hp=38f32df739001513127b5387287b8134d67ab01c;hpb=bd75216f83ed88edb248152cc823062b9ebbd075;p=qzeecontrol diff --git a/qml/QZeeControl/MainPage.qml b/qml/QZeeControl/MainPage.qml index 38f32df..9ebced7 100644 --- a/qml/QZeeControl/MainPage.qml +++ b/qml/QZeeControl/MainPage.qml @@ -19,10 +19,6 @@ import QtQuick 1.1 import com.nokia.meego 1.0 -import QtMobility.connectivity 1.2 -import QtMobility.systeminfo 1.2 -import "settingsstorage.js" as SettingsStorage -import qzeecontrol 1.0 Page { id: mainPage @@ -30,395 +26,5 @@ Page { orientationLock: PageOrientation.LockPortrait - property bool initializing: true - Component.onCompleted: { - SettingsStorage.initialize(); - - var address = SettingsStorage.getSetting("address"); - var port = SettingsStorage.getSetting("port"); - if(address !== "Unknown" && port !== "Unknown"){ - console.log("Loaded address " + address + " and port " + port + " from DB.") - addressField.text = address - portField.text = port - } - - if(SettingsStorage.getSetting("A") === "Unknown"){ - console.log("Initializing key bindings.") - setKeyBindingsToDefault() - } - - loadKeyBindings() - updateConnectAndScanButton() - initializing = false - } - - function setKeyBindingsToDefault(){ - console.log("Setting key bindings to default.") - SettingsStorage.setSetting("A", "a") - SettingsStorage.setSetting("B", "b") - SettingsStorage.setSetting("C", "c") - SettingsStorage.setSetting("D", "d") - - SettingsStorage.setSetting("Up", "Up") - SettingsStorage.setSetting("Down", "Down") - SettingsStorage.setSetting("Left", "Left") - SettingsStorage.setSetting("Right", "Right") - } - - function loadKeyBindings(){ - console.log("Loading key bindings.") - zeeRemoteControl.keyBindingA = SettingsStorage.getSetting("A") - zeeRemoteControl.keyBindingB = SettingsStorage.getSetting("B") - zeeRemoteControl.keyBindingC = SettingsStorage.getSetting("C") - zeeRemoteControl.keyBindingD = SettingsStorage.getSetting("D") - - zeeRemoteControl.keyBindingUp = SettingsStorage.getSetting("Up") - zeeRemoteControl.keyBindingDown = SettingsStorage.getSetting("Down") - zeeRemoteControl.keyBindingLeft = SettingsStorage.getSetting("Left") - zeeRemoteControl.keyBindingRight = SettingsStorage.getSetting("Right") - } - - function updateConnectAndScanButton(){ - if(!deviceInfo.currentBluetoothPowerState){ - scanButton.enabled = false - connectButton.enabled = false - - addressField.enabled = false - portField.enabled = false - - infoText.text = "To get started please turn Bluetooth on." - return - } - - scanButton.enabled = true - - addressField.enabled = true - portField.enabled = true - - connectButton.enabled = (addressField.text !== "No Zeemote found yet.") - infoText.text = (addressField.text !== "No Zeemote found yet.") ? - "To enable remote control please press \"Connect\" when ready." : - "Please scan for a Zeemote first." - } - - states: [ - State { - name: "active" - PropertyChanges { - target: cursorRectangle - x: moveArea.x + (moveArea.width * 0.5) + zeeRemoteControl.x - (cursorRectangle.width * 0.5) - y: moveArea.y + (moveArea.height * 0.5) + zeeRemoteControl.y - (cursorRectangle.height * 0.5) - } - PropertyChanges { - target: labelA - color: zeeRemoteControl.a ? "red" : "blue" - } - PropertyChanges { - target: labelB - color: zeeRemoteControl.b ? "red" : "blue" - } - PropertyChanges { - target: labelC - color: zeeRemoteControl.c ? "red" : "blue" - } - PropertyChanges { - target: labelD - color: zeeRemoteControl.d ? "red" : "blue" - } - }, - State { - name: "inactive" - PropertyChanges { - target: cursorRectangle - x: moveArea.x + (moveArea.width * 0.5) - (cursorRectangle.width * 0.5) - y: moveArea.y + (moveArea.height * 0.5) - (cursorRectangle.height * 0.5) - } - PropertyChanges { - target: labelA - color: "blue" - } - PropertyChanges { - target: labelB - color: "blue" - } - PropertyChanges { - target: labelC - color: "blue" - } - PropertyChanges { - target: labelD - color: "blue" - } - } - ] - - Connections { - target: platformWindow - - onActiveChanged: { - if(platformWindow.active){ - state = "active" - }else{ - state = "inactive" - } - } - } - - Item { - id: headerItem - anchors{top: parent.top; left: parent.left; right: parent.right} - height: header.height - z: 1 - - Image { - id: header - height: 72 - source: "image://theme/color8-meegotouch-view-header-fixed" - anchors.fill: parent - - Text { - text: "QZeeControl" - color: "white" - font.family: "Nokia Pure Text Light" - font.pixelSize: 32 - anchors.left: parent.left - anchors.leftMargin: 20 - anchors.verticalCenter: parent.verticalCenter - } - } - } - - Flickable { - anchors{top: headerItem.bottom; bottom: parent.bottom; left: parent.left; right: parent.right} - contentHeight: contentColumn.height - - Column{ - id: contentColumn - spacing: 10 - anchors{top: parent.top; left: parent.left; right: parent.right; topMargin: 10} - - Button{ - id: scanButton - enabled: false - - anchors.horizontalCenter: parent.horizontalCenter - text: "Scan" - - onClicked: { - btDiscovery.discovery = true - } - } - - Row{ - id: addressRow - anchors.horizontalCenter: parent.horizontalCenter - spacing: 5 - - TextField{ - id: addressField - text: "No Zeemote found yet." - width: 280 - - onTextChanged: { - if(mainPage.initializing) - return - - if(text === "No Zeemote found yet.") - return - - updateConnectAndScanButton(); - - console.log("Storing address in DB: " + text) - SettingsStorage.setSetting("address", text) - } - } - TextField{ - id: portField - text: "na" - width: 60 - validator: IntValidator{} - - onTextChanged: { - if(mainPage.initializing) - return - - if(text === "na") - return - - console.log("Storing port in DB: " + text) - SettingsStorage.setSetting("port", text) - } - } - } - - Label { - id: infoText - width: parent.width - - horizontalAlignment: Text.AlignHCenter - wrapMode: Text.WordWrap - } - - Button{ - id: connectButton - anchors.horizontalCenter: parent.horizontalCenter - enabled: false - - text: "Connect" - - onClicked: { - scanButton.enabled = false - addressField.enabled = false - portField.enabled = false - connectButton.enabled = false - disconnectButton.enabled = false - infoText.text = "Connecting..." - - zeeRemoteControl.connect(addressField.text, parseInt(portField.text)) - } - } - - Button{ - id: disconnectButton - anchors.horizontalCenter: parent.horizontalCenter - - text: "Disconnect" - enabled: false - - onClicked: { - zeeRemoteControl.disconnect() - } - } - - Row{ - id: buttonRow - anchors.horizontalCenter: parent.horizontalCenter - - spacing: 20 - - Label{ - id: labelA - text: "A" - color: zeeRemoteControl.a ? "red" : "blue" - } - Label{ - id: labelB - text: "B" - color: zeeRemoteControl.b ? "red" : "blue" - } - Label{ - id: labelC - text: "C" - color: zeeRemoteControl.c ? "red" : "blue" - } - Label{ - id: labelD - text: "D" - color: zeeRemoteControl.d ? "red" : "blue" - } - } - - Item{ - id: testArea - anchors.horizontalCenter: parent.horizontalCenter - height: moveArea.height - width: moveArea.width - - Rectangle{ - id: moveArea - color: "gray" - - width: 256 - height: 256 - } - - Rectangle{ - id: cursorRectangle - width: 10 - height: 10 - color: "red" - - x: moveArea.x + (moveArea.width * 0.5) + zeeRemoteControl.x - (cursorRectangle.width * 0.5) - y: moveArea.y + (moveArea.height * 0.5) + zeeRemoteControl.y - (cursorRectangle.height * 0.5) - } - } - } - } - - DeviceInfo{ - id: deviceInfo - - monitorBluetoothStateChanges: true - - onBluetoothStateChanged: { - updateConnectAndScanButton() - } - } - - BluetoothDiscoveryModel{ - id: btDiscovery - - discovery: false - minimalDiscovery: true - - onDiscoveryChanged: { - if(initializing) - return - - if(discovery){ - infoText.text = "Scanning for a Zeemote..." - scanButton.enabled = false - connectButton.enabled = false - disconnectButton.enabled = false - addressField.enabled = false - portField.enabled = false - }else{ - scanButton.enabled = true - disconnectButton.enabled = false - addressField.enabled = true - portField.enabled = true - - if(addressField.text !== "No Zeemote found yet." && portField.text !== "na"){ - infoText.text = "Zeemote found. To enable remote control please press \"Connect\" when ready." - connectButton.enabled = true - } - } - } - - onNewServiceDiscovered: { - console.log("Service " + service.serviceName + " found on " - + service.deviceName + " at address " + service.deviceAddress - + " on port " + service.servicePort + ".") - if(service.serviceName === "Zeemote"){ - addressField.text = service.deviceAddress - portField.text = service.servicePort - discovery = false - console.log("Found Zeemote. Stopped further discovery.") - } - } - } - - ZeeRemoteControl{ - id: zeeRemoteControl - - threshold: 50 - - onConnected: { - disconnectButton.enabled = true - infoText.text = "Connected. Have fun." - } - onDisconnected: { - scanButton.enabled = true - addressField.enabled = true - portField.enabled = true - connectButton.enabled = true - disconnectButton.enabled = false - infoText.text = "To enable remote control please press \"Connect\" when ready." - } - } - - XtstAdapter{ - id: xtstAdapter - } }