From 6e6bf4cca6cd70e5505e25ae166894709c343dff Mon Sep 17 00:00:00 2001 From: dogmaphobic Date: Wed, 20 Jul 2016 16:30:38 -0400 Subject: [PATCH] Tweaking Motor Component. --- qgcresources.qrc | 3 + .../Common/Images/ArrowCCW.svg | 6 ++ .../Common/Images/ArrowCW.svg | 6 ++ .../Common/Images/ArrowDirection.svg | 9 +++ .../Common/MotorComponent.qml | 2 +- src/QmlControls/MultiRotorMotorDisplay.qml | 80 ++++++++++++------- .../MultiRotorMotorDisplayLegend.qml | 8 +- 7 files changed, 82 insertions(+), 32 deletions(-) create mode 100644 src/AutoPilotPlugins/Common/Images/ArrowCCW.svg create mode 100644 src/AutoPilotPlugins/Common/Images/ArrowCW.svg create mode 100644 src/AutoPilotPlugins/Common/Images/ArrowDirection.svg diff --git a/qgcresources.qrc b/qgcresources.qrc index 9e03b520e..0ed46b882 100644 --- a/qgcresources.qrc +++ b/qgcresources.qrc @@ -151,6 +151,9 @@ src/MissionManager/CogWheel.svg src/AutoPilotPlugins/Common/Images/StationMode.svg src/AutoPilotPlugins/Common/Images/APMode.svg + src/AutoPilotPlugins/Common/Images/ArrowDirection.svg + src/AutoPilotPlugins/Common/Images/ArrowCW.svg + src/AutoPilotPlugins/Common/Images/ArrowCCW.svg resources/Antenna_RC.svg diff --git a/src/AutoPilotPlugins/Common/Images/ArrowCCW.svg b/src/AutoPilotPlugins/Common/Images/ArrowCCW.svg new file mode 100644 index 000000000..476001878 --- /dev/null +++ b/src/AutoPilotPlugins/Common/Images/ArrowCCW.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/src/AutoPilotPlugins/Common/Images/ArrowCW.svg b/src/AutoPilotPlugins/Common/Images/ArrowCW.svg new file mode 100644 index 000000000..42dbfb26b --- /dev/null +++ b/src/AutoPilotPlugins/Common/Images/ArrowCW.svg @@ -0,0 +1,6 @@ + + + + + diff --git a/src/AutoPilotPlugins/Common/Images/ArrowDirection.svg b/src/AutoPilotPlugins/Common/Images/ArrowDirection.svg new file mode 100644 index 000000000..67d4ee2d9 --- /dev/null +++ b/src/AutoPilotPlugins/Common/Images/ArrowDirection.svg @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/src/AutoPilotPlugins/Common/MotorComponent.qml b/src/AutoPilotPlugins/Common/MotorComponent.qml index 2c8c3c536..60a5304b9 100644 --- a/src/AutoPilotPlugins/Common/MotorComponent.qml +++ b/src/AutoPilotPlugins/Common/MotorComponent.qml @@ -137,7 +137,7 @@ SetupPage { QGCLabel { color: qgcPal.warningText - text: qsTr("Propellors are removed - Enable motor sliders") + text: qsTr("Propellers are removed - Enable motor sliders") } } // Row } // Column diff --git a/src/QmlControls/MultiRotorMotorDisplay.qml b/src/QmlControls/MultiRotorMotorDisplay.qml index c1cd09481..2034e9806 100644 --- a/src/QmlControls/MultiRotorMotorDisplay.qml +++ b/src/QmlControls/MultiRotorMotorDisplay.qml @@ -15,8 +15,8 @@ Item { property real _rotorRadius: motorRoot.height / 8 property int _motorsPerSide: motorCount / (coaxial ? 2 : 1) - readonly property string _cwColor: "green" - readonly property string _ccwColor: "blue" + readonly property string _cwColor: "#15ce15" // Green + readonly property string _ccwColor: "#1283e0" // Blue readonly property var _motorColors4Plus: [ _ccwColor, _cwColor ] readonly property var _motorColors4X: [ _cwColor, _ccwColor ] readonly property var _motorColors6: [ _cwColor, _ccwColor ] @@ -75,24 +75,58 @@ Item { property real _armXCenter: Math.cos(_armOffsetIndexRadians) * _armLength // adjacent = cos * hypotenuse property real _armYCenter: Math.sin(_armOffsetIndexRadians) * _armLength // opposite = sin * hypotenuse - Rectangle {id: rotor + Rectangle { + id: rotor anchors.fill: parent radius: _rotorRadius color: motorColors[index & 1] opacity: topCoaxial ? 0.65 : 1.0 border.color: topCoaxial ? "black" : color - + antialiasing: true readonly property bool topCoaxial: topMotors && coaxial + //-- Top Directional Arrow + QGCColoredImage { + color: _qgcPal.globalTheme === QGCPalette.Light ? "black" : "white" + height: parent.height * 0.2 + width: height + sourceSize.height: height + mipmap: true + fillMode: Image.PreserveAspectFit + source: (index & 1) ? "/qmlimages/ArrowCW.svg" : "/qmlimages/ArrowCCW.svg" + anchors.top: parent.top + anchors.topMargin: height * -0.5 + anchors.horizontalCenter: parent.horizontalCenter + } + //-- Bottom Directional Arrow + QGCColoredImage { + color: _qgcPal.globalTheme === QGCPalette.Light ? "black" : "white" + height: parent.height * 0.2 + width: height + sourceSize.height: height + mipmap: true + fillMode: Image.PreserveAspectFit + source: (index & 1) ? "/qmlimages/ArrowCCW.svg" : "/qmlimages/ArrowCW.svg" + anchors.bottom: parent.bottom + anchors.bottomMargin: height * -0.5 + anchors.horizontalCenter: parent.horizontalCenter + } + transform: [ + Rotation { + origin.x: rotor.width / 2 + origin.y: rotor.height / 2 + angle: (index & 1) ? 45 : -45 + }] } Rectangle { anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter - width: radius *2 - height: radius *2 - radius: ScreenTools.defaultFontPixelHeight / 2 - color: "white" - border.color: "black" + width: radius * 2 + height: radius * 2 + radius: ScreenTools.defaultFontPixelHeight * 0.666 + color: Qt.rgba(1,1,1,1) + border.color: Qt.rgba(0,0,0,0.75) + antialiasing: true QGCLabel { anchors.fill: parent @@ -133,24 +167,16 @@ Item { property var motorColors: _motorColors4Top } - // Body direction - Canvas { - anchors.fill: parent - - property real _centerX : width / 2 - property real _centerY : height / 2 - - onPaint: { - var ctx = getContext("2d"); - ctx.lineWidth = 3 - ctx.strokeStyle = _qgcPal.text - ctx.translate(_centerX, _centerY) - ctx.moveTo(0, -_rotorRadius / 2); - ctx.lineTo(_rotorRadius / 2, _rotorRadius); - ctx.lineTo(-_rotorRadius / 2, _rotorRadius); - ctx.lineTo(0, -_rotorRadius / 2); - ctx.stroke(); - } + QGCColoredImage { + color: _qgcPal.text + height: parent.height * 0.5 + width: height * 0.55 + sourceSize.height: height + mipmap: true + fillMode: Image.PreserveAspectFit + source: "/qmlimages/ArrowDirection.svg" + anchors.centerIn: parent } + } // Item } // Item diff --git a/src/QmlControls/MultiRotorMotorDisplayLegend.qml b/src/QmlControls/MultiRotorMotorDisplayLegend.qml index 97f186cdc..6b11ec3b2 100644 --- a/src/QmlControls/MultiRotorMotorDisplayLegend.qml +++ b/src/QmlControls/MultiRotorMotorDisplayLegend.qml @@ -9,8 +9,8 @@ Item { property var _qgcPal: QGCPalette { colorGroupEnabled: enabled } property real _rotorRadius: legendRoot.height / 16 - readonly property string _cwColor: "green" - readonly property string _ccwColor: "blue" + readonly property string _cwColor: "#15ce15" // Green + readonly property string _ccwColor: "#1283e0" // Blue Item { id: cwItem @@ -36,7 +36,7 @@ Item { anchors.bottom: parent.bottom verticalAlignment: Text.AlignVCenter wrapMode: Text.WordWrap - text: qsTr("Clockwise rotation, use pusher propellor") + text: qsTr("Clockwise rotation, use pusher propeller") } } @@ -65,7 +65,7 @@ Item { anchors.bottom: parent.bottom verticalAlignment: Text.AlignVCenter wrapMode: Text.WordWrap - text: qsTr("Counter-Clockwise rotation, use normal propellor") + text: qsTr("Counter Clockwise rotation, use normal propeller") } } } // Item -- 2.22.0