From 4e7723015688883f28b5194f76280242cd4fda17 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Sun, 10 Jan 2016 15:15:03 -0800 Subject: [PATCH] Onboard Files is PX4 only --- src/ui/QGCUASFileView.cc | 40 ++++++++++++++++++++--------------- src/ui/QGCUASFileView.h | 3 ++- src/ui/QGCUASFileViewMulti.cc | 2 +- 3 files changed, 26 insertions(+), 19 deletions(-) diff --git a/src/ui/QGCUASFileView.cc b/src/ui/QGCUASFileView.cc index 9f2aeeb38..d194e4a2a 100644 --- a/src/ui/QGCUASFileView.cc +++ b/src/ui/QGCUASFileView.cc @@ -24,31 +24,37 @@ #include "QGCUASFileView.h" #include "FileManager.h" #include "QGCFileDialog.h" +#include "UAS.h" #include #include #include -QGCUASFileView::QGCUASFileView(QWidget *parent, FileManager *manager) : - QWidget(parent), - _manager(manager), - _currentCommand(commandNone) +QGCUASFileView::QGCUASFileView(QWidget *parent, Vehicle* vehicle) + : QWidget(parent) + , _manager(vehicle->uas()->getFileManager()) + , _currentCommand(commandNone) { _ui.setupUi(this); - - _ui.progressBar->reset(); - - // Connect UI signals - connect(_ui.listFilesButton, &QPushButton::clicked, this, &QGCUASFileView::_refreshTree); - connect(_ui.downloadButton, &QPushButton::clicked, this, &QGCUASFileView::_downloadFile); - connect(_ui.uploadButton, &QPushButton::clicked, this, &QGCUASFileView::_uploadFile); - connect(_ui.treeWidget, &QTreeWidget::currentItemChanged, this, &QGCUASFileView::_currentItemChanged); - // Connect signals from FileManager - connect(_manager, &FileManager::commandProgress, this, &QGCUASFileView::_commandProgress); - connect(_manager, &FileManager::commandComplete, this, &QGCUASFileView::_commandComplete); - connect(_manager, &FileManager::commandError, this, &QGCUASFileView::_commandError); - connect(_manager, &FileManager::listEntry, this, &QGCUASFileView::_listEntryReceived); + if (vehicle->px4Firmware()) { + _ui.progressBar->reset(); + + // Connect UI signals + connect(_ui.listFilesButton, &QPushButton::clicked, this, &QGCUASFileView::_refreshTree); + connect(_ui.downloadButton, &QPushButton::clicked, this, &QGCUASFileView::_downloadFile); + connect(_ui.uploadButton, &QPushButton::clicked, this, &QGCUASFileView::_uploadFile); + connect(_ui.treeWidget, &QTreeWidget::currentItemChanged, this, &QGCUASFileView::_currentItemChanged); + + // Connect signals from FileManager + connect(_manager, &FileManager::commandProgress, this, &QGCUASFileView::_commandProgress); + connect(_manager, &FileManager::commandComplete, this, &QGCUASFileView::_commandComplete); + connect(_manager, &FileManager::commandError, this, &QGCUASFileView::_commandError); + connect(_manager, &FileManager::listEntry, this, &QGCUASFileView::_listEntryReceived); + } else { + _setAllButtonsEnabled(false); + _ui.statusText->setText(QStringLiteral("Onboard Files not supported by this Vehicle")); + } } /// @brief Downloads the file currently selected in the tree view diff --git a/src/ui/QGCUASFileView.h b/src/ui/QGCUASFileView.h index f0a58c3e5..496bdbc56 100644 --- a/src/ui/QGCUASFileView.h +++ b/src/ui/QGCUASFileView.h @@ -27,6 +27,7 @@ #include #include +#include "Vehicle.h" #include "uas/FileManager.h" #include "ui_QGCUASFileView.h" @@ -35,7 +36,7 @@ class QGCUASFileView : public QWidget Q_OBJECT public: - explicit QGCUASFileView(QWidget *parent, FileManager *manager); + explicit QGCUASFileView(QWidget *parent, Vehicle* vehicle); protected: FileManager* _manager; diff --git a/src/ui/QGCUASFileViewMulti.cc b/src/ui/QGCUASFileViewMulti.cc index ace27c688..81f07c943 100644 --- a/src/ui/QGCUASFileViewMulti.cc +++ b/src/ui/QGCUASFileViewMulti.cc @@ -41,7 +41,7 @@ void QGCUASFileViewMulti::_vehicleAdded(Vehicle* vehicle) UAS* uas = vehicle->uas(); if (!lists.contains(uas)) { - QGCUASFileView* list = new QGCUASFileView(ui->stackedWidget, uas->getFileManager()); + QGCUASFileView* list = new QGCUASFileView(ui->stackedWidget, vehicle); lists.insert(uas, list); ui->stackedWidget->addWidget(list); } -- 2.22.0