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
tools: commonTools
orientationLock: PageOrientation.LockPortrait
}
loadKeyBindings()
+ updateConnectAndScanButton()
initializing = false
}
btConn.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 device found yet.")
+ infoText.text = (addressField.text !== "No device found yet.") ?
+ "To enable remote control please press \"Connect\" when ready." :
+ "Please scan for a Zeemote first."
+
+ }
+
states: [
State {
name: "active"
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}
+ Column{
+ id: contentColumn
+ spacing: 10
+ anchors{top: parent.top; left: parent.left; right: parent.right; topMargin: 10}
Button{
id: scanButton
- enabled: true
+ enabled: false
anchors.horizontalCenter: parent.horizontalCenter
text: "Scan"
text: "No device found yet."
onTextChanged: {
- if(initializing)
+ if(mainPage.initializing)
return
if(text === "No device found yet.")
return
- connectButton.enabled = true
- infoText.text = "Press \"Connect\" to connect to the device."
+ updateConnectAndScanButton();
+
console.log("Storing address in DB: " + text)
SettingsStorage.setSetting("address", text)
}
validator: IntValidator{}
onTextChanged: {
- if(initializing)
+ if(mainPage.initializing)
return
if(text === "na")
id: infoText
width: parent.width
- text: "Please scan for a device first."
horizontalAlignment: Text.AlignHCenter
wrapMode: Text.WordWrap
}
}
}
+ DeviceInfo{
+ id: deviceInfo
+
+ monitorBluetoothStateChanges: true
+
+ onBluetoothStateChanged: {
+ updateConnectAndScanButton()
+ }
+ }
+
BluetoothDiscoveryModel{
id: btDiscovery
mainPage.state = "disconnected"
}
-// onStickMoved: {
-// console.log("Stick moved. x: " + x + " y: " + y)
-// }
+ // onStickMoved: {
+ // console.log("Stick moved. x: " + x + " y: " + y)
+ // }
-// onButtonsChanged: {
-// console.log("Buttons changed. A: " + a + " B: " + b + " C: " + c + " D: " + d)
-// }
+ // onButtonsChanged: {
+ // console.log("Buttons changed. A: " + a + " B: " + b + " C: " + c + " D: " + d)
+ // }
onAChanged: {
-// console.log("A changed to: " + val)
+ // console.log("A changed to: " + val)
xtstAdapter.sendKey(keyBindingA, val);
}
onBChanged: {
-// console.log("B changed to: " + val)
+ // console.log("B changed to: " + val)
xtstAdapter.sendKey(keyBindingB, val);
}
onCChanged: {
-// console.log("C changed to: " + val)
+ // console.log("C changed to: " + val)
xtstAdapter.sendKey(keyBindingC, val);
}
onDChanged: {
-// console.log("D changed to: " + val)
+ // console.log("D changed to: " + val)
xtstAdapter.sendKey(keyBindingD, val);
}
onLeftChanged: xtstAdapter.sendKey(keyBindingLeft, val)
onRightChanged: xtstAdapter.sendKey(keyBindingRight, val)
-// onXChanged: {
-// if(val > joystickThreshold){
-// xtstAdapter.sendKey("Right", true);
-// }else if(val < -joystickThreshold){
-// xtstAdapter.sendKey("Left", true);
-// }else{
-// xtstAdapter.sendKey("Right", false);
-// xtstAdapter.sendKey("Left", false);
-// }
-// }
-
-// onYChanged: {
-// if(val > joystickThreshold){
-// xtstAdapter.sendKey("Down", true);
-// }else if(val < -joystickThreshold){
-// xtstAdapter.sendKey("Up", true);
-// }else{
-// xtstAdapter.sendKey("Down", false);
-// xtstAdapter.sendKey("Up", false);
-// }
-// }
+ // onXChanged: {
+ // if(val > joystickThreshold){
+ // xtstAdapter.sendKey("Right", true);
+ // }else if(val < -joystickThreshold){
+ // xtstAdapter.sendKey("Left", true);
+ // }else{
+ // xtstAdapter.sendKey("Right", false);
+ // xtstAdapter.sendKey("Left", false);
+ // }
+ // }
+
+ // onYChanged: {
+ // if(val > joystickThreshold){
+ // xtstAdapter.sendKey("Down", true);
+ // }else if(val < -joystickThreshold){
+ // xtstAdapter.sendKey("Up", true);
+ // }else{
+ // xtstAdapter.sendKey("Down", false);
+ // xtstAdapter.sendKey("Up", false);
+ // }
+ // }
}
XtstAdapter{