Commit 7c7606ef authored by dogmaphobic's avatar dogmaphobic

First pass at Comm Link settings (in QML)

parent 7148d7b8
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
<file alias="FlightModesComponent.qml">src/AutoPilotPlugins/PX4/FlightModesComponent.qml</file> <file alias="FlightModesComponent.qml">src/AutoPilotPlugins/PX4/FlightModesComponent.qml</file>
<file alias="FlightModesComponentSummary.qml">src/AutoPilotPlugins/PX4/FlightModesComponentSummary.qml</file> <file alias="FlightModesComponentSummary.qml">src/AutoPilotPlugins/PX4/FlightModesComponentSummary.qml</file>
<file alias="GeneralSettings.qml">src/ui/preferences/GeneralSettings.qml</file> <file alias="GeneralSettings.qml">src/ui/preferences/GeneralSettings.qml</file>
<file alias="LinkSettings.qml">src/ui/preferences/LinkSettings.qml</file>
<file alias="JoystickConfig.qml">src/VehicleSetup/JoystickConfig.qml</file> <file alias="JoystickConfig.qml">src/VehicleSetup/JoystickConfig.qml</file>
<file alias="MainToolBar.qml">src/ui/toolbar/MainToolBar.qml</file> <file alias="MainToolBar.qml">src/ui/toolbar/MainToolBar.qml</file>
<file alias="MainWindow.qml">src/ui/MainWindow.qml</file> <file alias="MainWindow.qml">src/ui/MainWindow.qml</file>
......
...@@ -80,7 +80,9 @@ public: ...@@ -80,7 +80,9 @@ public:
Q_PROPERTY(bool autoconnectPixhawk READ autoconnectPixhawk WRITE setAutoconnectPixhawk NOTIFY autoconnectPixhawkChanged) Q_PROPERTY(bool autoconnectPixhawk READ autoconnectPixhawk WRITE setAutoconnectPixhawk NOTIFY autoconnectPixhawkChanged)
Q_PROPERTY(bool autoconnect3DRRadio READ autoconnect3DRRadio WRITE setAutoconnect3DRRadio NOTIFY autoconnect3DRRadioChanged) Q_PROPERTY(bool autoconnect3DRRadio READ autoconnect3DRRadio WRITE setAutoconnect3DRRadio NOTIFY autoconnect3DRRadioChanged)
Q_PROPERTY(bool autoconnectPX4Flow READ autoconnectPX4Flow WRITE setAutoconnectPX4Flow NOTIFY autoconnectPX4FlowChanged) Q_PROPERTY(bool autoconnectPX4Flow READ autoconnectPX4Flow WRITE setAutoconnectPX4Flow NOTIFY autoconnectPX4FlowChanged)
//-- LinkInterface
Q_PROPERTY(QmlObjectListModel* links READ links CONSTANT) Q_PROPERTY(QmlObjectListModel* links READ links CONSTANT)
//-- LinkConfiguration
Q_PROPERTY(QmlObjectListModel* linkConfigurations READ linkConfigurations CONSTANT) Q_PROPERTY(QmlObjectListModel* linkConfigurations READ linkConfigurations CONSTANT)
// Property accessors // Property accessors
......
...@@ -34,7 +34,7 @@ import QGroundControl.ScreenTools 1.0 ...@@ -34,7 +34,7 @@ import QGroundControl.ScreenTools 1.0
//-- Left Menu //-- Left Menu
Item { Item {
id: __leftPanel id: settingsMenu
anchors.fill: parent anchors.fill: parent
property alias animateShowDialog: __animateShowDialog property alias animateShowDialog: __animateShowDialog
...@@ -52,6 +52,11 @@ Item { ...@@ -52,6 +52,11 @@ Item {
} }
} }
function closeSettings() {
__rightPanel.source = ""
mainWindow.hideLeftMenu()
}
ParallelAnimation { ParallelAnimation {
id: __animateShowDialog id: __animateShowDialog
NumberAnimation { NumberAnimation {
...@@ -59,14 +64,14 @@ Item { ...@@ -59,14 +64,14 @@ Item {
properties: "opacity" properties: "opacity"
from: 0.0 from: 0.0
to: 0.8 to: 0.8
duration: __leftPanel.__animationDuration duration: settingsMenu.__animationDuration
} }
NumberAnimation { NumberAnimation {
target: __transparentSection target: __transparentSection
properties: "width" properties: "width"
from: 1 from: 1
to: mainWindow.width to: mainWindow.width
duration: __leftPanel.__animationDuration duration: settingsMenu.__animationDuration
} }
} }
...@@ -77,14 +82,14 @@ Item { ...@@ -77,14 +82,14 @@ Item {
properties: "opacity" properties: "opacity"
from: 0.8 from: 0.8
to: 0.0 to: 0.0
duration: __leftPanel.__animationDuration duration: settingsMenu.__animationDuration
} }
NumberAnimation { NumberAnimation {
target: __transparentSection target: __transparentSection
properties: "width" properties: "width"
from: mainWindow.width from: mainWindow.width
to: 1 to: 1
duration: __leftPanel.__animationDuration duration: settingsMenu.__animationDuration
} }
onRunningChanged: { onRunningChanged: {
if (!running) { if (!running) {
...@@ -156,6 +161,19 @@ Item { ...@@ -156,6 +161,19 @@ Item {
checked = true checked = true
} }
} }
QGCButton {
width: parent.width * 0.8
height: ScreenTools.defaultFontPixelHeight * 2.5
text: "Comm Links"
exclusiveGroup: panelActionGroup
anchors.horizontalCenter: parent.horizontalCenter
onClicked: {
if(__rightPanel.source != "LinkSettings.qml") {
__rightPanel.source = "LinkSettings.qml"
}
checked = true
}
}
QGCButton { QGCButton {
width: parent.width * 0.8 width: parent.width * 0.8
height: ScreenTools.defaultFontPixelHeight * 2.5 height: ScreenTools.defaultFontPixelHeight * 2.5
......
/*=====================================================================
QGroundControl Open Source Ground Control Station
(c) 2009 - 2015 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
This file is part of the QGROUNDCONTROL project
QGROUNDCONTROL is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
QGROUNDCONTROL is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
======================================================================*/
import QtQuick 2.5
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtQuick.Dialogs 1.1
import QGroundControl 1.0
import QGroundControl.Controls 1.0
import QGroundControl.ScreenTools 1.0
import QGroundControl.Palette 1.0
Rectangle {
id: _linkRoot
color: __qgcPal.window
property var _currentSelection: null
ExclusiveGroup { id: linkGroup }
QGCPalette {
id: qgcPal
colorGroupEnabled: enabled
}
Flickable {
clip: true
anchors.top: parent.top
width: parent.width
height: parent.height - buttonRow.height
anchors.margins: ScreenTools.defaultFontPixelWidth
contentHeight: settingsColumn.height
contentWidth: _linkRoot.width
flickableDirection: Flickable.VerticalFlick
boundsBehavior: Flickable.StopAtBounds
Column {
id: settingsColumn
width: _linkRoot.width
anchors.margins: ScreenTools.defaultFontPixelWidth
spacing: ScreenTools.defaultFontPixelHeight / 2
Item {
height: ScreenTools.defaultFontPixelHeight / 2
width: parent.width
}
QGCLabel {
text: "WIP: Not fully functional"
color: __qgcPal.warningText
anchors.horizontalCenter: parent.horizontalCenter
}
Item {
height: ScreenTools.defaultFontPixelHeight / 2
width: parent.width
}
Repeater {
model: QGroundControl.linkManager.linkConfigurations
delegate:
QGCButton {
text: object.name
width: _linkRoot.width * 0.5
exclusiveGroup: linkGroup
anchors.horizontalCenter: parent.horizontalCenter
onClicked: {
checked = true
_currentSelection = object
}
}
}
}
}
Row {
id: buttonRow
spacing: ScreenTools.defaultFontPixelWidth
anchors.bottom: parent.bottom
anchors.margins: ScreenTools.defaultFontPixelWidth
anchors.horizontalCenter: parent.horizontalCenter
QGCButton {
width: ScreenTools.defaultFontPixelWidth * 10
text: "Delete"
enabled: false
onClicked: {
}
}
QGCButton {
width: ScreenTools.defaultFontPixelWidth * 10
text: "Edit"
enabled: false
onClicked: {
}
}
QGCButton {
width: ScreenTools.defaultFontPixelWidth * 10
text: "Add"
enabled: false
onClicked: {
}
}
QGCButton {
width: ScreenTools.defaultFontPixelWidth * 10
text: "Connect"
enabled: _currentSelection && !_currentSelection.link
onClicked: {
QGroundControl.linkManager.createConnectedLink(_currentSelection)
settingsMenu.closeSettings()
}
}
QGCButton {
width: ScreenTools.defaultFontPixelWidth * 10
text: "Disconnect"
enabled: _currentSelection && _currentSelection.link
onClicked: {
QGroundControl.linkManager.disconnectLink(_currentSelection.link, false)
}
}
}
}
...@@ -306,8 +306,7 @@ Row { ...@@ -306,8 +306,7 @@ Row {
//-- Vehicle Selector //-- Vehicle Selector
QGCButton { QGCButton {
id: vehicleSelectorButton id: vehicleSelectorButton
width: ScreenTools.defaultFontPixelSize * 12 width: ScreenTools.defaultFontPixelSize * 8
height: mainWindow.tbButtonWidth
text: "Vehicle " + (activeVehicle ? activeVehicle.id : "None") text: "Vehicle " + (activeVehicle ? activeVehicle.id : "None")
visible: QGroundControl.multiVehicleManager.vehicles.count > 1 visible: QGroundControl.multiVehicleManager.vehicles.count > 1
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment