Browse Source

Merge pull request #5016 from DonLakeFlyer/MobileSave

Mobile file save: Show existing files to save to
QGC4.4
Don Gagne 8 years ago committed by GitHub
parent
commit
0be3b97042
  1. 75
      src/QmlControls/QGCFileDialog.qml

75
src/QmlControls/QGCFileDialog.qml

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
import QtQuick 2.3
import QtQuick.Controls 1.2
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.2
import QGroundControl 1.0
import QGroundControl.ScreenTools 1.0
@ -21,12 +22,14 @@ Item { @@ -21,12 +22,14 @@ Item {
property bool selectExisting
property bool selectFolder
property bool _openForLoad
property bool _openForLoad: true
property real _margins: ScreenTools.defaultFontPixelHeight / 2
property bool _mobile: ScreenTools.isMobile
function openForLoad() {
_openForLoad = true
if (ScreenTools.isMobile && folder.length !== 0) {
if (_mobile && folder.length !== 0) {
qgcView.showDialog(mobileFileOpenDialog, title, qgcView.showDialogDefaultWidth, StandardButton.Cancel)
} else {
fullFileDialog.open()
@ -35,7 +38,7 @@ Item { @@ -35,7 +38,7 @@ Item {
function openForSave() {
_openForLoad = false
if (ScreenTools.isMobile && folder.length !== 0) {
if (_mobile && folder.length !== 0) {
qgcView.showDialog(mobileFileSaveDialog, title, qgcView.showDialogDefaultWidth, StandardButton.Cancel | StandardButton.Ok)
} else {
fullFileDialog.open()
@ -76,18 +79,23 @@ Item { @@ -76,18 +79,23 @@ Item {
id: mobileFileOpenDialog
QGCViewDialog {
Item {
anchors.margins: _margins
QGCFlickable {
anchors.fill: parent
contentHeight: fileOpenColumn.height
QGCListView {
id: listView
anchors.fill: parent
spacing: _margins / 2
orientation: ListView.Vertical
Column {
id: fileOpenColumn
anchors.left: parent.left
anchors.right: parent.right
spacing: ScreenTools.defaultFontPixelHeight / 2
Repeater {
id: fileList;
model: controller.getFiles(folder, fileExtension)
delegate: QGCButton {
QGCButton {
anchors.left: parent.left
anchors.right: parent.right
text: modelData
onClicked: {
@ -99,7 +107,8 @@ Item { @@ -99,7 +107,8 @@ Item {
QGCLabel {
text: qsTr("No files")
visible: listView.model.length == 0
visible: fileList.model.length == 0
}
}
}
}
@ -123,19 +132,29 @@ Item { @@ -123,19 +132,29 @@ Item {
hideDialog()
}
QGCFlickable {
anchors.fill: parent
contentHeight: fileSaveColumn.height
Column {
id: fileSaveColumn
anchors.left: parent.left
anchors.right: parent.right
spacing: ScreenTools.defaultFontPixelHeight
spacing: ScreenTools.defaultFontPixelHeight / 2
QGCLabel {
text: qsTr("File name:")
}
RowLayout {
anchors.left: parent.left
anchors.right: parent.right
spacing: ScreenTools.defaultFontPixelWidth
QGCLabel { text: qsTr("New file name:") }
QGCTextField {
id: filenameTextField
Layout.fillWidth: true
onTextChanged: replaceMessage.visible = false
}
}
QGCLabel {
anchors.left: parent.left
@ -153,6 +172,30 @@ Item { @@ -153,6 +172,30 @@ Item {
visible: false
color: qgcPal.warningText
}
SectionHeader {
anchors.left: parent.left
anchors.right: parent.right
text: qsTr("Save to existing file:")
}
Repeater {
model: controller.getFiles(folder, fileExtension)
QGCButton {
anchors.left: parent.left
anchors.right: parent.right
text: modelData
onClicked: {
hideDialog()
_root.acceptedForSave(controller.fullyQualifiedFilename(folder, modelData, fileExtension))
}
}
}
}
}
}
}

Loading…
Cancel
Save