X-Git-Url: http://git.maemo.org/git/?p=mardrone;a=blobdiff_plain;f=mardrone%2Fardrone_desktop.qml;h=d5bf0b8a15aef831772e80c3b6506228966e6e88;hp=bcfcfa41ccb5224b4cbc56b2ae1100536acdedfd;hb=5338a11daffd03a49ef70b077b37ddc1414063a5;hpb=196f6d56fb98af5849cc98d389de421822d3d5e0 diff --git a/mardrone/ardrone_desktop.qml b/mardrone/ardrone_desktop.qml index bcfcfa4..d5bf0b8 100644 --- a/mardrone/ardrone_desktop.qml +++ b/mardrone/ardrone_desktop.qml @@ -1,21 +1,22 @@ - +// uiName:Desktop import Drone 1.0 import QtQuick 1.0 import QtDesktop 0.1 -import gauges 1.0 +import Gauges 1.0 import JoyStick 1.0 Window { title: "MArdrone" - - width: 1024 - height: 480 + id:mainWindow + width: 700 + height: 800 maximumHeight: mainWindow.height - minimumHeight: 480 + minimumHeight: 800 maximumWidth: 1280 - minimumWidth: 800 + minimumWidth: 700 visible: true + MenuBar { Menu { text: "File" @@ -29,6 +30,11 @@ Window { shortcut: "Ctrl+Q" onTriggered: Qt.quit() } + MenuItem { + text: "Record" + shortcut: "Ctrl+R" + onTriggered: Qt.quit() + } } Menu { text: "Edit" @@ -54,9 +60,13 @@ Window { } + Column { + width:parent.width + // spacing:5 Rectangle { - id:mainWindow - width:640 + id:mainWiew + width:parent.width + color:"black" height:480 //onEntered:(mainWindow.fullscreen=true) @@ -64,30 +74,32 @@ Window { DroneVideo { id:droneVideo y:0 - x:0 + // anchors.horizontalCenter: parent.horizontalCenter // anchors.horizontalCenter:parent.horizontalCenter - width:drone.confFullScreen? parent.width:640 ;height:480*width/640; + width:drone.confFullScreen? parent.width:640 ;height:width<=640 ?480*width/640:480; + } + Binding { + target:drone + property:"logSeq" + value: droneVideo.frameSeq; } - EfisPFD { id:hudPDF y:0 - x:0 + // anchors.horizontalCenter: parent.horizontalCenter visible:drone.confShowHorizon roll:drone.droneRoll pitch:drone.dronePitch ias:drone.droneSpeed - alt:drone.droneAltitude + alt:drone.droneAltitude/10 indicatorColor:"green" skyColor:"#00000000" groundColor:"#00000000" width:640;height:480; } - - Text { y:100 - // visible:drone.confUseAccel + visible:drone.confShowDebug color: "#00FF00" id: droneCtrlValues font.pixelSize:20 @@ -111,17 +123,20 @@ Window { font.pixelSize:20 text: drone.decodedStatus } - Button { + /* Button { y:150;x:0 height: 50 width: 50 iconSource: "gear32x32.png" onClicked:{ configDialog.visible = true } } - +*/ JoyStickIndicator { - x:200;y:350 - visible:drone.showJSIndivators + + anchors.left:parent.left + anchors.bottom:parent.bottom + anchors.margins:10 + visible:drone.confShowJSIndicators&js.haveJoyStick&drone.confUseJoyStick border.width:1 color:"transparent" width:100;height:100 @@ -142,8 +157,11 @@ Window { JoyStickIndicator { - x:500;y:350 - visible:drone.showJSIndivators + + anchors.right:parent.right + anchors.bottom:parent.bottom + anchors.margins:10 + visible:drone.confShowJSIndicators&js.haveJoyStick&drone.confUseJoyStick border.width:1 color:"transparent" width:100;height:100 @@ -166,6 +184,7 @@ Window { id:lj width:280;height:280; y:200 + joyBackground: "" visible: !drone.confUseAccel & !drone.confUseJoyStick anchors.left:parent.left anchors.margins:50 @@ -179,6 +198,7 @@ Window { visible: !drone.confUseJoyStick id:rj y:200 + joyBackground: "" anchors.right:parent.right width:280;height:280; anchors.margins:50 @@ -186,63 +206,216 @@ Window { onXvChanged:{drone.yaw=xv/200.0;} onPressedChanged: { drone.ctrlActive=pressed;} } - Column { - anchors.left: droneVideo.right + } + + Rectangle { + width:parent.width + // width:chlidrenRect.width + // height:childrenRect.height + height:320 + color: "black" + + + + Row { + id:instrumentPanel + spacing:5 + anchors.fill:parent + anchors.margins:5 + EfisPFD { id:pDF - width:320 - height:240 - // visible:drone.confShowHorizon + width:300 + height:320 + showHSI:true roll:drone.droneRoll pitch:drone.dronePitch ias:drone.droneSpeed - alt:drone.droneAltitude + alt:drone.droneAltitude/10 + // bezel:"glareshield1.png" + } + Grid { + columns: 3 + + + AltGauge { + width:120 + height:120 + id:altGauge + value:drone.droneAltitude/10 + bezel:"bezel.png" + } + AttitudeGauge { + width:120 + height:120 + id:attGauge + roll:drone.droneRoll + pitch:drone.dronePitch + bezel:"bezel.png" + } + Item { + width:120 + height:120 + + + GaugeArc { + anchors.fill:parent + id:speedGauge + // anchors.margins:10 + displayScale:0.95 + font.pixelSize:10 + tickIncrement:20 + tickSpacing:24 + tickMinor:5 + lowPosition:220 + highPosition:120 + low:0 + high:200 + gaugeStyle:2 + color:"white" + value:drone.droneSpeed + lineWidth:2 + backColor:"black" + } + Image { + anchors.fill:parent + source:"bezel.png" + } + } + + Item { + width:120 + height:120 + + + GaugeArc { + anchors.fill:parent + id:fuelGauge + // anchors.margins:10 + displayScale:0.95 + font.pixelSize:10 + tickIncrement:10 + tickSpacing:22 + tickMinor:5 + lowPosition:240 + highPosition:120 + low:0 + high:100 + gaugeStyle:2 + color:"white" + value:drone.droneVBat + lineWidth:2 + backColor:"black" + } + Image { + anchors.fill:parent + source:"bezel.png" + } + } + Item { + width:120 + height:120 + + HeadingGauge { + width:120 + height:120 + id:hdgGauge + value:drone.droneYaw + bezel:"bezel.png" + } + } + Item { + width:120 + height:120 + Rectangle { + anchors.fill:parent + anchors.margins:5 + color:"gray" } Row { + anchors.centerIn:parent spacing: 5 - anchors.right:parent.right - anchors.rightMargin: 10 - y:100 - height:100 + anchors.margins: 30 + height:90 BarGauge { val:drone.pwm_motor1; max: 255 - height:100 + height:parent.height + width:10 } BarGauge { val:drone.pwm_motor2; max: 255 - height:100 + height:parent.height + width:10 } BarGauge { val:drone.pwm_motor3; max: 255 - height:100 + height:parent.height + width:10 } BarGauge { val:drone.pwm_motor4; max: 255 - height:100 + height:parent.height + width:10 } + /* BarGauge { val:drone.droneVBat max: 100 - height:100 + height:parent.height + width:10 } + */ } - AltGauge { - width:150 - height:150 - id:altGauge - // value:drone.altitude - value:testAlt.value + Image { + anchors.fill:parent + source:"bezel.png" } - Slider { - id: testAlt - maximumValue:1000 } + Button { + + width:80 + height:50 + id:flyButton + // anchors.bottom:parent.bottom + anchors.margins:15 + text:"Fly"; + checkable:true + onClicked:{drone.fly=checked; + // mainWindow.fullsecreen=checked; + } + } + Button { + width:90 + height:50 + id:emergencyButton + // anchors.bottom:parent.bottom + anchors.margins:15 + text:"Emrg"; + checkable:true + onClicked:{drone.emergency=checked;} } + + Button { + + width:100 + height:50 + id:recordButton + // anchors.bottom:parent.bottom + anchors.margins:15 + text:"Rec"; + checkable:true + onClicked:{droneVideo.recVideo=checked; drone.logFileName=droneVideo.videoFileName; drone.recordLog=checked;} + } + } // Grid if instruments + } + + } // Column ( Main window content ) + } Dialog { id:configDialog width:800 @@ -250,6 +423,6 @@ Window { data:ConfigDialogDesktop {} } - } // Main page - } + } // Main page +