Commit 00e14ded authored by crashmatt's avatar crashmatt

mavlink-ftp : Initial upload file added to file view

parent e9f6640d
...@@ -33,7 +33,8 @@ QGCUASFileView::QGCUASFileView(QWidget *parent, QGCUASFileManager *manager) : ...@@ -33,7 +33,8 @@ QGCUASFileView::QGCUASFileView(QWidget *parent, QGCUASFileManager *manager) :
QWidget(parent), QWidget(parent),
_manager(manager), _manager(manager),
_listInProgress(false), _listInProgress(false),
_downloadInProgress(false) _downloadInProgress(false),
_uploadInProgress(false)
{ {
_ui.setupUi(this); _ui.setupUi(this);
...@@ -48,6 +49,8 @@ QGCUASFileView::QGCUASFileView(QWidget *parent, QGCUASFileManager *manager) : ...@@ -48,6 +49,8 @@ QGCUASFileView::QGCUASFileView(QWidget *parent, QGCUASFileManager *manager) :
Q_ASSERT(success); Q_ASSERT(success);
success = connect(_ui.downloadButton, SIGNAL(clicked()), this, SLOT(_downloadFile())); success = connect(_ui.downloadButton, SIGNAL(clicked()), this, SLOT(_downloadFile()));
Q_ASSERT(success); Q_ASSERT(success);
success = connect(_ui.uploadButton, SIGNAL(clicked()), this, SLOT(_uploadFile()));
Q_ASSERT(success);
success = connect(_ui.treeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)), this, SLOT(_currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*))); success = connect(_ui.treeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)), this, SLOT(_currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)));
Q_ASSERT(success); Q_ASSERT(success);
} }
...@@ -90,6 +93,29 @@ void QGCUASFileView::_downloadFile(void) ...@@ -90,6 +93,29 @@ void QGCUASFileView::_downloadFile(void)
} }
} }
/// @brief uploads a file into the currently selected directory the tree view
void QGCUASFileView::_uploadFile(void)
{
Q_ASSERT(!_uploadInProgress);
_ui.statusText->clear();
// And now download to this location
QString path;
QTreeWidgetItem* item = _ui.treeWidget->currentItem();
if (item && item->type() != _typeDir) {
return;
}
QString targetDir = item->text(0);
QString uploadFromHere = QGCFileDialog::getOpenFileName(this, tr("Upload File"),
QDir::homePath());
_manager->uploadPath(targetDir, uploadFromHere);
}
/// @brief Called when length of file being downloaded is known. /// @brief Called when length of file being downloaded is known.
void QGCUASFileView::_downloadLength(unsigned int length) void QGCUASFileView::_downloadLength(unsigned int length)
{ {
...@@ -267,6 +293,7 @@ void QGCUASFileView::_currentItemChanged(QTreeWidgetItem* current, QTreeWidgetIt ...@@ -267,6 +293,7 @@ void QGCUASFileView::_currentItemChanged(QTreeWidgetItem* current, QTreeWidgetIt
Q_UNUSED(previous); Q_UNUSED(previous);
// FIXME: Should not enable when downloading // FIXME: Should not enable when downloading
_ui.downloadButton->setEnabled(current ? (current->type() == _typeFile) : false); _ui.downloadButton->setEnabled(current ? (current->type() == _typeFile) : false);
_ui.uploadButton->setEnabled(current ? (current->type() == _typeDir) : false);
} }
void QGCUASFileView::_requestDirectoryList(const QString& dir) void QGCUASFileView::_requestDirectoryList(const QString& dir)
......
...@@ -47,6 +47,7 @@ private slots: ...@@ -47,6 +47,7 @@ private slots:
void _listComplete(void); void _listComplete(void);
void _downloadFile(void); void _downloadFile(void);
void _uploadFile(void);
void _downloadLength(unsigned int length); void _downloadLength(unsigned int length);
void _downloadProgress(unsigned int length); void _downloadProgress(unsigned int length);
void _downloadErrorMessage(const QString& msg); void _downloadErrorMessage(const QString& msg);
...@@ -74,6 +75,7 @@ private: ...@@ -74,6 +75,7 @@ private:
bool _listInProgress; ///< Indicates that a listDirectory command is in progress bool _listInProgress; ///< Indicates that a listDirectory command is in progress
bool _downloadInProgress; ///< Indicates that a downloadPath command is in progress bool _downloadInProgress; ///< Indicates that a downloadPath command is in progress
bool _uploadInProgress; ///< Indicates that a upload command is in progress
}; };
#endif // QGCUASFILEVIEW_H #endif // QGCUASFILEVIEW_H
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>200</width> <width>216</width>
<height>518</height> <height>518</height>
</rect> </rect>
</property> </property>
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="3" column="1"> <item row="5" column="1">
<widget class="QPushButton" name="listFilesButton"> <widget class="QPushButton" name="listFilesButton">
<property name="text"> <property name="text">
<string>List Files</string> <string>List Files</string>
...@@ -33,6 +33,9 @@ ...@@ -33,6 +33,9 @@
</item> </item>
<item row="0" column="0" colspan="3"> <item row="0" column="0" colspan="3">
<widget class="QTreeWidget" name="treeWidget"> <widget class="QTreeWidget" name="treeWidget">
<property name="contextMenuPolicy">
<enum>Qt::NoContextMenu</enum>
</property>
<property name="headerHidden"> <property name="headerHidden">
<bool>true</bool> <bool>true</bool>
</property> </property>
...@@ -43,7 +46,7 @@ ...@@ -43,7 +46,7 @@
</column> </column>
</widget> </widget>
</item> </item>
<item row="3" column="2"> <item row="5" column="2">
<widget class="QPushButton" name="downloadButton"> <widget class="QPushButton" name="downloadButton">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
...@@ -53,7 +56,7 @@ ...@@ -53,7 +56,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="0" colspan="3"> <item row="3" column="0" colspan="3">
<widget class="QLabel" name="statusText"> <widget class="QLabel" name="statusText">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
...@@ -66,6 +69,16 @@ ...@@ -66,6 +69,16 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="2">
<widget class="QPushButton" name="uploadButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Upload File</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>
......
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