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 heading:drone.droneYaw
86 indicatorColor:"#00FF00"
88 groundColor:"#00000000"
95 // visible:drone.confUseAccel
96 visible:drone.confShowDebug
100 text: "cmd:pitch=" + drone.pitch.toFixed(2) + " roll= " + drone.roll.toFixed(2) + " yaw=" + drone.yaw.toFixed(2) + " vv= " + drone.vVelocity.toFixed(2)
105 visible:drone.confShowDebug
109 text: "pitch=" + drone.dronePitch.toFixed(2) + " roll= " + drone.droneRoll.toFixed(2) + "yaw=" + drone.droneYaw.toFixed(2) + " alt= " + drone.droneAltitude.toFixed(2)
114 visible:drone.confShowDebug
118 text: drone.decodedStatus
124 z:2 // This is visible even connecting to drone
125 iconSource: "gear32x32.png"
126 onClicked:{ //mainWindow.fullscreen = false ;
127 pageStack.push(dialogComponent);
133 visible:drone.confShowJSIndicators&js.haveJoyStick&drone.confUseJoyStick
140 anchors.bottom: parent.bottom
155 visible:drone.confShowJSIndicators&js.haveJoyStick&drone.confUseJoyStick
162 anchors.bottom: parent.bottom
176 width:200;height:200;
178 visible: !drone.confUseAccel & !drone.confUseJoyStick
179 anchors.left:parent.left
180 anchors.bottom:parent.bottom
183 onYvChanged:{drone.vVelocity=-1*yv/200.0;}
184 onXvChanged:{drone.yaw=xv/200.0;}
185 onPressedChanged: { drone.ctrlActive=pressed;}
189 visible: !drone.confUseJoyStick
193 anchors.right:parent.right
194 anchors.bottom:parent.bottom
195 width:200;height:200;
197 onYvChanged:{drone.pitch=yv/200.0;}
198 onXvChanged:{drone.roll=xv/200.0;}
203 anchors.right:parent.right
204 anchors.rightMargin: 10
208 val:drone.pwm_motor1;
213 val:drone.pwm_motor2;
218 val:drone.pwm_motor3;
223 val:drone.pwm_motor4;
238 anchors.bottom:parent.bottom
242 onClicked:{drone.fly=checked;
243 // mainWindow.fullsecreen=checked;
250 anchors.bottom:parent.bottom
255 onClicked:{drone.emergency=checked;}
261 anchors.bottom:parent.bottom
265 onClicked:{droneVideo.recVideo=checked; drone.logFileName=droneVideo.videoFileName; drone.recordLog=checked;}
269 anchors.bottom:parent.bottom
270 // visible:droneVideo.recVideo
274 text: droneVideo.videoFileName+ " "+droneVideo.frameSeq
280 console.log("Connected to drone");
281 connectingDialog.accept();}
285 message:"Connecting to Drone "+ drone.confDroneIp
286 acceptButtonText:"OK"
287 Component.onCompleted: {
288 console.log("ConectionDialog Opened");
289 if(!drone.connected) open(); }
294 Component.onCompleted: {
295 if (mainpageComponent.status != Component.Ready)
296 console.log("Error loading component:", mainpageComponent.errorString());
297 dialogComponent = Qt.createComponent("ConfigDialog.qml");