3 import com.nokia.meego 1.0
10 initialPage: mainpageComponent
13 property Component dialogComponent
14 // property alias m: mainPage
19 ToolItem { iconId: "icon-m-toolbar-back"; onClicked: pageStack.pop(); }
20 // ToolItem { iconId: "icon-m-toolbar-home"; onClicked: pageStack.pop(); }
21 ToolItem { iconId: "icon-m-toolbar-view-menu"; onClicked: myMenu.open(); }
28 // logSeq:initialPage.frameSeq
32 onElevatorChanged:{if(drone.confUseJoyStick) drone.pitch=elevator;}
33 onAileronChanged: {if(drone.confUseJoyStick) drone.roll=-1.0*aileron;}
34 onThrotleChanged: {if(drone.confUseJoyStick) drone.vVelocity=throtle;}
35 onRudderChanged: {if(drone.confUseJoyStick) drone.yaw=rudder;}
39 console.debug("QML:Keys.onPressed",event.key)
40 if (event.key == Qt.Key_TopMenu)
41 console.debug("QML: opening menu!")
42 else if (event.key == Qt.Key_Close) {
43 console.debug("QML: closing! (maybe)")
44 pageStack.depth <= 1 ? Qt.quit() : pageStack.pop()
49 console.debug("QML: backKey")
50 pageStack.depth <= 1 ? Qt.quit() : pageStack.pop()
58 property int frameSeq:0
59 property bool connectingBoxVisible:true
60 //onEntered:(mainWindow.fullscreen=true)
67 // anchors.horizontalCenter:parent.horizontalCenter
68 width:drone.confFullScreen? parent.width:640 ;height:480*width/640;
74 value: droneVideo.frameSeq;
79 anchors.horizontalCenter: parent.horizontalCenter
80 visible:drone.confShowHorizon
82 pitch:drone.dronePitch
84 alt:drone.droneAltitude
85 indicatorColor:"#00FF00"
87 groundColor:"#00000000"
94 // visible:drone.confUseAccel
95 visible:drone.confShowDebug
99 text: "cmd:pitch=" + drone.pitch.toFixed(2) + " roll= " + drone.roll.toFixed(2) + " yaw=" + drone.yaw.toFixed(2) + " vv= " + drone.vVelocity.toFixed(2)
104 visible:drone.confShowDebug
108 text: "pitch=" + drone.dronePitch.toFixed(2) + " roll= " + drone.droneRoll.toFixed(2) + "yaw=" + drone.droneYaw.toFixed(2) + " alt= " + drone.droneAltitude.toFixed(2)
113 visible:drone.confShowDebug
117 text: drone.decodedStatus
123 z:2 // This is visible even connecting to drone
124 iconSource: "gear32x32.png"
125 onClicked:{ //mainWindow.fullscreen = false ;
126 pageStack.push(dialogComponent);
132 visible:drone.confShowJSIndicators&js.haveJoyStick&drone.confUseJoyStick
139 anchors.bottom: parent.bottom
154 visible:drone.confShowJSIndicators&js.haveJoyStick&drone.confUseJoyStick
161 anchors.bottom: parent.bottom
175 width:200;height:200;
177 visible: !drone.confUseAccel & !drone.confUseJoyStick
178 anchors.left:parent.left
179 anchors.bottom:parent.bottom
182 onYvChanged:{drone.vVelocity=-1*yv/200.0;}
183 onXvChanged:{drone.yaw=xv/200.0;}
184 onPressedChanged: { drone.ctrlActive=pressed;}
188 visible: !drone.confUseJoyStick
192 anchors.right:parent.right
193 anchors.bottom:parent.bottom
194 width:200;height:200;
196 onYvChanged:{drone.pitch=yv/200.0;}
197 onXvChanged:{drone.roll=xv/200.0;}
202 anchors.right:parent.right
203 anchors.rightMargin: 10
207 val:drone.pwm_motor1;
212 val:drone.pwm_motor2;
217 val:drone.pwm_motor3;
222 val:drone.pwm_motor4;
237 anchors.bottom:parent.bottom
241 onClicked:{drone.fly=checked;
242 // mainWindow.fullsecreen=checked;
249 anchors.bottom:parent.bottom
254 onClicked:{drone.emergency=checked;}
260 anchors.bottom:parent.bottom
264 onClicked:{droneVideo.recVideo=checked; drone.logFileName=droneVideo.videoFileName; drone.recordLog=checked;}
268 anchors.bottom:parent.bottom
269 // visible:droneVideo.recVideo
273 text: droneVideo.videoFileName+ " "+droneVideo.frameSeq
279 console.log("Connected to drone");
280 connectingDialog.accept();}
284 message:"Connecting to Drone "+ drone.confDroneIp
285 acceptButtonText:"OK"
286 Component.onCompleted: {
287 console.log("ConectionDialog Opened");
288 if(!drone.connected) open(); }
293 Component.onCompleted: {
294 if (mainpageComponent.status != Component.Ready)
295 console.log("Error loading component:", mainpageComponent.errorString());
296 dialogComponent = Qt.createComponent("ConfigDialog.qml");