Commit bd6491e7 authored by Gus Grubba's avatar Gus Grubba

Show vehicle options when offline editing missions

parent 58227dfd
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
FirmwarePluginManager::FirmwarePluginManager(QGCApplication* app, QGCToolbox* toolbox) FirmwarePluginManager::FirmwarePluginManager(QGCApplication* app, QGCToolbox* toolbox)
: QGCTool(app, toolbox) : QGCTool(app, toolbox)
, _genericFirmwarePlugin(NULL) , _genericFirmwarePlugin(nullptr)
{ {
} }
...@@ -58,7 +58,7 @@ QList<MAV_TYPE> FirmwarePluginManager::supportedVehicleTypes(MAV_AUTOPILOT firmw ...@@ -58,7 +58,7 @@ QList<MAV_TYPE> FirmwarePluginManager::supportedVehicleTypes(MAV_AUTOPILOT firmw
FirmwarePlugin* FirmwarePluginManager::firmwarePluginForAutopilot(MAV_AUTOPILOT firmwareType, MAV_TYPE vehicleType) FirmwarePlugin* FirmwarePluginManager::firmwarePluginForAutopilot(MAV_AUTOPILOT firmwareType, MAV_TYPE vehicleType)
{ {
FirmwarePluginFactory* factory = _findPluginFactory(firmwareType); FirmwarePluginFactory* factory = _findPluginFactory(firmwareType);
FirmwarePlugin* plugin = NULL; FirmwarePlugin* plugin = nullptr;
if (factory) { if (factory) {
plugin = factory->firmwarePluginForAutopilot(firmwareType, vehicleType); plugin = factory->firmwarePluginForAutopilot(firmwareType, vehicleType);
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
PX4FirmwarePluginFactory PX4FirmwarePluginFactory; PX4FirmwarePluginFactory PX4FirmwarePluginFactory;
PX4FirmwarePluginFactory::PX4FirmwarePluginFactory(void) PX4FirmwarePluginFactory::PX4FirmwarePluginFactory(void)
: _pluginInstance(NULL) : _pluginInstance(nullptr)
{ {
} }
...@@ -40,5 +40,5 @@ FirmwarePlugin* PX4FirmwarePluginFactory::firmwarePluginForAutopilot(MAV_AUTOPIL ...@@ -40,5 +40,5 @@ FirmwarePlugin* PX4FirmwarePluginFactory::firmwarePluginForAutopilot(MAV_AUTOPIL
return _pluginInstance; return _pluginInstance;
} }
return NULL; return nullptr;
} }
...@@ -30,6 +30,7 @@ Rectangle { ...@@ -30,6 +30,7 @@ Rectangle {
property bool _showCruiseSpeed: !_missionVehicle.multiRotor property bool _showCruiseSpeed: !_missionVehicle.multiRotor
property bool _showHoverSpeed: _missionVehicle.multiRotor || _missionVehicle.vtol property bool _showHoverSpeed: _missionVehicle.multiRotor || _missionVehicle.vtol
property bool _multipleFirmware: QGroundControl.supportedFirmwareCount > 2 property bool _multipleFirmware: QGroundControl.supportedFirmwareCount > 2
property bool _multipleVehicleTypes: QGroundControl.supportedVehicleCount > 1
property real _fieldWidth: ScreenTools.defaultFontPixelWidth * 16 property real _fieldWidth: ScreenTools.defaultFontPixelWidth * 16
property bool _mobile: ScreenTools.isMobile property bool _mobile: ScreenTools.isMobile
property var _savePath: QGroundControl.settingsManager.appSettings.missionSavePath property var _savePath: QGroundControl.settingsManager.appSettings.missionSavePath
...@@ -158,13 +159,13 @@ Rectangle { ...@@ -158,13 +159,13 @@ Rectangle {
QGCLabel { QGCLabel {
text: _vehicleLabel text: _vehicleLabel
Layout.fillWidth: true Layout.fillWidth: true
visible: _showOfflineVehicleCombos visible: _multipleVehicleTypes
} }
FactComboBox { FactComboBox {
fact: QGroundControl.settingsManager.appSettings.offlineEditingVehicleType fact: QGroundControl.settingsManager.appSettings.offlineEditingVehicleType
indexModel: false indexModel: false
Layout.preferredWidth: _fieldWidth Layout.preferredWidth: _fieldWidth
visible: _showOfflineVehicleCombos visible: _multipleVehicleTypes
enabled: _enableOfflineVehicleCombos enabled: _enableOfflineVehicleCombos
} }
......
...@@ -190,6 +190,20 @@ int QGroundControlQmlGlobal::supportedFirmwareCount() ...@@ -190,6 +190,20 @@ int QGroundControlQmlGlobal::supportedFirmwareCount()
return _firmwarePluginManager->supportedFirmwareTypes().count(); return _firmwarePluginManager->supportedFirmwareTypes().count();
} }
int QGroundControlQmlGlobal::supportedVehicleCount()
{
int count = 0;
QList<MAV_AUTOPILOT> list = _firmwarePluginManager->supportedFirmwareTypes();
qDebug() << "Supported Firmwares" << list.count();
foreach(auto firmware, list) {
if(firmware != MAV_AUTOPILOT_GENERIC) {
count += _firmwarePluginManager->supportedVehicleTypes(firmware).count();
qDebug() << "Firmware" << firmware << "Vehicles" << _firmwarePluginManager->supportedVehicleTypes(firmware).count();
}
}
return count;
}
bool QGroundControlQmlGlobal::px4ProFirmwareSupported() bool QGroundControlQmlGlobal::px4ProFirmwareSupported()
{ {
return _firmwarePluginManager->supportedFirmwareTypes().contains(MAV_AUTOPILOT_PX4); return _firmwarePluginManager->supportedFirmwareTypes().contains(MAV_AUTOPILOT_PX4);
......
...@@ -77,8 +77,9 @@ public: ...@@ -77,8 +77,9 @@ public:
Q_PROPERTY(bool microhardSupported READ microhardSupported CONSTANT) Q_PROPERTY(bool microhardSupported READ microhardSupported CONSTANT)
Q_PROPERTY(int supportedFirmwareCount READ supportedFirmwareCount CONSTANT) Q_PROPERTY(int supportedFirmwareCount READ supportedFirmwareCount CONSTANT)
Q_PROPERTY(int supportedVehicleCount READ supportedVehicleCount CONSTANT)
Q_PROPERTY(bool px4ProFirmwareSupported READ px4ProFirmwareSupported CONSTANT) Q_PROPERTY(bool px4ProFirmwareSupported READ px4ProFirmwareSupported CONSTANT)
Q_PROPERTY(int apmFirmwareSupported READ apmFirmwareSupported CONSTANT) Q_PROPERTY(int apmFirmwareSupported READ apmFirmwareSupported CONSTANT)
Q_PROPERTY(qreal zOrderTopMost READ zOrderTopMost CONSTANT) ///< z order for top most items, toolbar, main window sub view Q_PROPERTY(qreal zOrderTopMost READ zOrderTopMost CONSTANT) ///< z order for top most items, toolbar, main window sub view
Q_PROPERTY(qreal zOrderWidgets READ zOrderWidgets CONSTANT) ///< z order value to widgets, for example: zoom controls, hud widgetss Q_PROPERTY(qreal zOrderWidgets READ zOrderWidgets CONSTANT) ///< z order value to widgets, for example: zoom controls, hud widgetss
...@@ -203,6 +204,7 @@ public: ...@@ -203,6 +204,7 @@ public:
#endif #endif
int supportedFirmwareCount (); int supportedFirmwareCount ();
int supportedVehicleCount ();
bool px4ProFirmwareSupported (); bool px4ProFirmwareSupported ();
bool apmFirmwareSupported (); bool apmFirmwareSupported ();
bool skipSetupPage () { return _skipSetupPage; } bool skipSetupPage () { return _skipSetupPage; }
......
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