diff --git a/qgroundcontrol.pro b/qgroundcontrol.pro index 7c3ff1d968e795e9a7a23581e1dedca023d6e4a1..ac8797b06c54f3eaf97070b759e800317072b61b 100644 --- a/qgroundcontrol.pro +++ b/qgroundcontrol.pro @@ -404,7 +404,6 @@ INCLUDEPATH += \ src/Settings \ src/Terrain \ src/Vehicle \ - src/ViewWidgets \ src/Audio \ src/comm \ src/input \ diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc index 5a1f2fe6c7eb7bc4f1bbf8ae8bd4449cf266484e..047f9b73a6e7d67094af1e2f8c0879aab4cdbf71 100644 --- a/qgroundcontrol.qrc +++ b/qgroundcontrol.qrc @@ -38,7 +38,6 @@ src/ui/preferences/BluetoothSettings.qml src/FlightMap/Widgets/CameraPageWidget.qml src/PlanView/CorridorScanEditor.qml - src/ViewWidgets/CustomCommandWidget.qml src/ui/preferences/DebugWindow.qml src/AutoPilotPlugins/Common/ESP8266Component.qml src/AutoPilotPlugins/Common/ESP8266ComponentSummary.qml @@ -187,7 +186,6 @@ src/QmlControls/VehicleRotationCal.qml src/QmlControls/VehicleSummaryRow.qml src/QmlControls/VerticalFactValueGrid.qml - src/ViewWidgets/ViewWidget.qml src/PlanView/VTOLLandingPatternMapVisual.qml src/FactSystem/FactControls/AltitudeFactTextField.qml src/FactSystem/FactControls/FactBitmask.qml diff --git a/src/QGCApplication.cc b/src/QGCApplication.cc index 27a7d549a62f87d94c8ba8866ff715ecbe2d51dc..ebd11b45d34a4c41533de7f16e24f49b04f05faf 100644 --- a/src/QGCApplication.cc +++ b/src/QGCApplication.cc @@ -50,9 +50,7 @@ #include "QGCPalette.h" #include "QGCMapPalette.h" #include "QGCLoggingCategory.h" -#include "ViewWidgetController.h" #include "ParameterEditorController.h" -#include "CustomCommandWidgetController.h" #include "ESP8266ComponentController.h" #include "ScreenToolsController.h" #include "QGCFileDialogController.h" diff --git a/src/QmlControls/QGroundControl/Controls/qmldir b/src/QmlControls/QGroundControl/Controls/qmldir index 8f83594dc4c94595cecb334de0b4386ff9ebf142..90e2d8ba69e8b48e8d84d47b913fc46a519ae0c1 100644 --- a/src/QmlControls/QGroundControl/Controls/qmldir +++ b/src/QmlControls/QGroundControl/Controls/qmldir @@ -109,6 +109,5 @@ ToolStrip 1.0 ToolStrip.qml VehicleRotationCal 1.0 VehicleRotationCal.qml VehicleSummaryRow 1.0 VehicleSummaryRow.qml VerticalFactValueGrid 1.0 VerticalFactValueGrid.qml -ViewWidget 1.0 ViewWidget.qml QGCHoverButton 1.0 QGCHoverButton.qml MAVLinkChart 1.0 MAVLinkChart.qml diff --git a/src/ViewWidgets/CMakeLists.txt b/src/ViewWidgets/CMakeLists.txt deleted file mode 100644 index a4471a380772a8def42b088da7a0951f8985520f..0000000000000000000000000000000000000000 --- a/src/ViewWidgets/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ - -add_library(ViewWidgets - ViewWidgetController.cc -) - -target_link_libraries(ViewWidgets - PUBLIC - qgc -) - -add_custom_target(ViewWidgetsQml -SOURCE - ViewWidget.qml -) - -target_include_directories(ViewWidgets INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/ViewWidgets/CustomCommandWidget.qml b/src/ViewWidgets/CustomCommandWidget.qml deleted file mode 100644 index 401ec5580310ef8589714f88954e11bd28bc3bf2..0000000000000000000000000000000000000000 --- a/src/ViewWidgets/CustomCommandWidget.qml +++ /dev/null @@ -1,121 +0,0 @@ -/**************************************************************************** - * - * (c) 2009-2020 QGROUNDCONTROL PROJECT - * - * QGroundControl is licensed according to the terms in the file - * COPYING.md in the root of the source code directory. - * - ****************************************************************************/ - -import QtQuick 2.3 -import QtQuick.Controls 1.2 -import QtQuick.Controls.Styles 1.4 -import QtQuick.Dialogs 1.2 - -import QGroundControl 1.0 -import QGroundControl.Palette 1.0 -import QGroundControl.Controls 1.0 -import QGroundControl.Controllers 1.0 -import QGroundControl.ScreenTools 1.0 - -Item { - - property var _activeVehicle: QGroundControl.multiVehicleManager.parameterReadyVehicleAvailable ? QGroundControl.multiVehicleManager.activeVehicle : null - property real _margins: ScreenTools.defaultFontPixelHeight - property string _noVehicleText: qsTr("No vehicle connected") - property string _assignQmlFile: "

" + - "You can create your own commands and parameter editing user interface in this widget. " + - "You do this by providing your own Qml file. " + - "This support is a work in progress and the details may change somewhat in the future. " + - "By using this feature you are connecting directly to the internals of QGroundControl. " + - "Doing so incorrectly may cause instability both in QGroundControl and/or your vehicle. " + - "So make sure to test your changes thoroughly before using them in flight.

" + - "

Click 'Load Custom Qml file' to provide your custom qml file.

" + - "

Click 'Reset' to reset to none.

" + - "

Example usage: https://docs.qgroundcontrol.com/en/app_menu/custom_command_widget.html

" - - QGCPalette { id: qgcPal; colorGroupEnabled: enabled } - - CustomCommandWidgetController { - id: controller - onCustomQmlFileChanged: _updateLoader() - } - - Component.onCompleted: _updateLoader() - - on_ActiveVehicleChanged: _updateLoader() - - function _updateLoader() { - loader.sourceComponent = undefined - loader.visible = false - textOutput.text = _noVehicleText - if (_activeVehicle) { - if (controller.customQmlFile === "") { - textOutput.text = _assignQmlFile - } else { - loader.source = controller.customQmlFile - } - } - } - - Item { - anchors.fill: parent - - Rectangle { - anchors.fill: parent - color: qgcPal.window - - Loader { - id: loader - anchors.margins: _margins - anchors.left: parent.left - anchors.right: parent.right - anchors.top: parent.top - anchors.bottom: buttonRow.top - visible: false - - onStatusChanged: { - if (loader.status == Loader.Error) { - textOutput.text = sourceComponent.errorString() - } else if (loader.status == Loader.Ready) { - loader.visible = true - } - } - } - QGCFlickable { - id: container - anchors.fill: loader - contentHeight: textOutput.height - flickableDirection: QGCFlickable.VerticalFlick - visible: !loader.visible - QGCLabel { - id: textOutput - width: container.width - wrapMode: Text.WordWrap - textFormat: Text.RichText - onLinkActivated: Qt.openUrlExternally(link) - } - } - Row { - id: buttonRow - spacing: ScreenTools.defaultFontPixelWidth - anchors.margins: _margins - anchors.bottom: parent.bottom - anchors.horizontalCenter: parent.horizontalCenter - - QGCButton { - text: qsTr("Load Custom Qml file...") - width: ScreenTools.defaultFontPixelWidth * 22 - onClicked: controller.selectQmlFile() - } - - QGCButton { - text: qsTr("Reset") - width: ScreenTools.defaultFontPixelWidth * 22 - onClicked: controller.clearQmlFile() - } - } - - } - } -} diff --git a/src/ViewWidgets/CustomCommandWidgetController.h b/src/ViewWidgets/CustomCommandWidgetController.h deleted file mode 100644 index afcbdb8b072e979fb435b6fb06e639e48ba5e08a..0000000000000000000000000000000000000000 --- a/src/ViewWidgets/CustomCommandWidgetController.h +++ /dev/null @@ -1,39 +0,0 @@ -/**************************************************************************** - * - * (c) 2009-2018 QGROUNDCONTROL PROJECT - * - * QGroundControl is licensed according to the terms in the file - * COPYING.md in the root of the source code directory. - * - ****************************************************************************/ - - -#pragma once - -#include - -#include "AutoPilotPlugin.h" -#include "FactPanelController.h" - -class CustomCommandWidgetController : public FactPanelController -{ - Q_OBJECT - -public: - CustomCommandWidgetController(void); - - Q_PROPERTY(QString customQmlFile MEMBER _customQmlFile NOTIFY customQmlFileChanged) - - Q_INVOKABLE void sendCommand (int commandId, QVariant componentId, QVariant confirm, QVariant param1, QVariant param2, QVariant param3, QVariant param4, QVariant param5, QVariant param6, QVariant param7); - Q_INVOKABLE void selectQmlFile (void); - Q_INVOKABLE void clearQmlFile (void); - -signals: - void customQmlFileChanged (const QString& customQmlFile); - -private: - Vehicle* _vehicle; - QString _customQmlFile; - static const char* _settingsKey; -}; - diff --git a/src/ViewWidgets/ViewWidget.qml b/src/ViewWidgets/ViewWidget.qml deleted file mode 100644 index 0eef437883e717a412cce3a44f84dd1ad2ffde01..0000000000000000000000000000000000000000 --- a/src/ViewWidgets/ViewWidget.qml +++ /dev/null @@ -1,85 +0,0 @@ -import QtQuick 2.3 -import QtQuick.Controls 1.2 -import QtQuick.Controls.Styles 1.4 - -import QGroundControl 1.0 -import QGroundControl.Controls 1.0 -import QGroundControl.Controllers 1.0 -import QGroundControl.Palette 1.0 - -Rectangle { - property Component connectedComponent: __componentConnected - property Component disconnectedComponent: __componentDisconnected - - QGCPalette { id: __qgcPal; colorGroupEnabled: enabled } - ViewWidgetController { id: __controller } - - color: __qgcPal.window - - Component.onCompleted: __controller.checkForVehicle() - - Connections { - target: __controller - - onPluginConnected: { - pageLoader.autopilot = autopilot - pageLoader.sourceComponent = connectedComponent - } - - onPluginDisconnected: { - pageLoader.sourceComponent = null - pageLoader.sourceComponent = disconnectedComponent - pageLoader.autopilot = null - } - } - - Loader { - id: pageLoader - - anchors.fill: parent - - property var autopilot - - sourceComponent: __componentDisconnected - } - - Component { - id: __componentConnected - - Rectangle { - QGCPalette { id: __qgcPal; colorGroupEnabled: enabled } - - anchors.fill: parent - color: __qgcPal.window - - QGCLabel { - anchors.fill: parent - - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - - text: qsTr("missing connected implementation") - } - } - } - - Component { - id: __componentDisconnected - - Rectangle { - QGCPalette { id: __qgcPal; colorGroupEnabled: enabled } - - anchors.fill: parent - color: __qgcPal.window - - QGCLabel { - anchors.fill: parent - - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - - text: qsTr("no vehicle connected") - } - } - } -} diff --git a/src/ViewWidgets/ViewWidgetController.cc b/src/ViewWidgets/ViewWidgetController.cc deleted file mode 100644 index 3a3ba13d53742daa7c4de97f132da1c52060ef49..0000000000000000000000000000000000000000 --- a/src/ViewWidgets/ViewWidgetController.cc +++ /dev/null @@ -1,43 +0,0 @@ -/**************************************************************************** - * - * (c) 2009-2016 QGROUNDCONTROL PROJECT - * - * QGroundControl is licensed according to the terms in the file - * COPYING.md in the root of the source code directory. - * - ****************************************************************************/ - - -#include "ViewWidgetController.h" -#include "MultiVehicleManager.h" -#include "UAS.h" -#include "QGCApplication.h" - -ViewWidgetController::ViewWidgetController(void) : - _autopilot(NULL), - _uas(NULL) -{ - connect(qgcApp()->toolbox()->multiVehicleManager(), &MultiVehicleManager::parameterReadyVehicleAvailableChanged, this, &ViewWidgetController::_vehicleAvailable); -} - -void ViewWidgetController::_vehicleAvailable(bool available) -{ - if (_uas) { - _uas = NULL; - _autopilot = NULL; - emit pluginDisconnected(); - } - - if (available) { - Vehicle* vehicle = qgcApp()->toolbox()->multiVehicleManager()->activeVehicle(); - - _uas = vehicle->uas(); - _autopilot = vehicle->autopilotPlugin(); - emit pluginConnected(QVariant::fromValue(_autopilot)); - } -} - -void ViewWidgetController::checkForVehicle(void) -{ - _vehicleAvailable(qgcApp()->toolbox()->multiVehicleManager()->activeVehicle()); -} diff --git a/src/ViewWidgets/ViewWidgetController.h b/src/ViewWidgets/ViewWidgetController.h deleted file mode 100644 index 5c5c4cc7a175ae085f6865f0d02706dd3a7e53c0..0000000000000000000000000000000000000000 --- a/src/ViewWidgets/ViewWidgetController.h +++ /dev/null @@ -1,39 +0,0 @@ -/**************************************************************************** - * - * (c) 2009-2018 QGROUNDCONTROL PROJECT - * - * QGroundControl is licensed according to the terms in the file - * COPYING.md in the root of the source code directory. - * - ****************************************************************************/ - - -#pragma once - -#include - -#include "UASInterface.h" -#include "AutoPilotPlugin.h" -#include "Vehicle.h" - -class ViewWidgetController : public QObject -{ - Q_OBJECT - -public: - ViewWidgetController(void); - - Q_INVOKABLE void checkForVehicle(void); - -signals: - void pluginConnected(QVariant autopilot); - void pluginDisconnected(void); - -private slots: - void _vehicleAvailable(bool available); - -private: - AutoPilotPlugin* _autopilot; - UASInterface* _uas; -}; -