Skip to content

Commit

Permalink
Merge pull request mavlink#5151 from dogmaphobic/offlineMaps
Browse files Browse the repository at this point in the history
Fixes to offline maps import/export.
  • Loading branch information
dogmaphobic authored May 15, 2017
2 parents d5592f4 + e661829 commit c7a9943
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 117 deletions.
6 changes: 3 additions & 3 deletions src/QGCQFileDialog.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ class QGCQFileDialog : public QFileDialog {
const QString& caption = QString(),
const QString& dir = QString(),
const QString& filter = QString(),
Options options = 0);
Options options = Options());

//! Static helper that invokes a File Open dialog where the user can select one or more files to be opened.
/*!
Expand All @@ -91,7 +91,7 @@ class QGCQFileDialog : public QFileDialog {
const QString& caption = QString(),
const QString& dir = QString(),
const QString& filter = QString(),
Options options = 0);
Options options = Options());

//! Static helper that invokes a File Save dialog where the user can select a directory and enter a filename to be saved.
/*!
Expand All @@ -117,7 +117,7 @@ class QGCQFileDialog : public QFileDialog {
const QString& filter = QString(),
const QString& defaultSuffix = QString(),
bool strict = false,
Options options = 0);
Options options = Options());

private slots:
/// @brief The exec slot is private because we only want QGCQFileDialog users to use the static methods. Otherwise it will break
Expand Down
118 changes: 8 additions & 110 deletions src/QtLocationPlugin/QMLControl/OfflineMap.qml
Original file line number Diff line number Diff line change
Expand Up @@ -936,7 +936,10 @@ QGCView {
text: qsTr("Import")
width: _buttonSize
visible: !ScreenTools.isMobile
onClicked: rootLoader.sourceComponent = importDialog
onClicked: {
QGroundControl.mapEngineManager.importAction = QGCMapEngineManager.ActionNone
rootLoader.sourceComponent = importDialog
}
}
QGCButton {
text: qsTr("Export")
Expand Down Expand Up @@ -1003,7 +1006,7 @@ QGCView {
onClicked: QGroundControl.mapEngineManager.selectNone()
}
QGCButton {
text: qsTr("Export to Disk")
text: qsTr("Export")
width: _bigButtonSize
enabled: QGroundControl.mapEngineManager.selectedCount > 0
onClicked: {
Expand All @@ -1013,14 +1016,6 @@ QGCView {
}
}
}
QGCButton {
text: qsTr("Export to Device")
width: _bigButtonSize
enabled: QGroundControl.mapEngineManager.selectedCount > 0
onClicked: {
rootLoader.sourceComponent = exportToDevice
}
}
QGCButton {
text: qsTr("Cancel")
width: _bigButtonSize
Expand Down Expand Up @@ -1062,8 +1057,8 @@ QGCView {
anchors.horizontalCenter: parent.horizontalCenter
}
BusyIndicator {
visible: QGroundControl.mapEngineManager ? QGroundControl.mapEngineManager.exporting : false
running: QGroundControl.mapEngineManager ? QGroundControl.mapEngineManager.exporting : false
visible: QGroundControl.mapEngineManager ? QGroundControl.mapEngineManager.importAction === QGCMapEngineManager.ActionExporting : false
running: QGroundControl.mapEngineManager ? QGroundControl.mapEngineManager.importAction === QGCMapEngineManager.ActionExporting : false
width: exportCloseButton.height
height: exportCloseButton.height
anchors.horizontalCenter: parent.horizontalCenter
Expand Down Expand Up @@ -1166,7 +1161,7 @@ QGCView {
visible: QGroundControl.mapEngineManager.importAction === QGCMapEngineManager.ActionNone
anchors.horizontalCenter: parent.horizontalCenter
QGCButton {
text: qsTr("Import From Disk")
text: qsTr("Import")
width: _bigButtonSize * 1.25
onClicked: {
if(!QGroundControl.mapEngineManager.importSets()) {
Expand All @@ -1175,13 +1170,6 @@ QGCView {
}
}
}
QGCButton {
text: qsTr("Import From Device")
width: _bigButtonSize * 1.25
onClicked: {
rootLoader.sourceComponent = importFromDevice
}
}
QGCButton {
text: qsTr("Cancel")
width: _bigButtonSize * 1.25
Expand All @@ -1196,94 +1184,4 @@ QGCView {
}
}

Component {
id: importFromDevice
Rectangle {
width: mainWindow.width
height: mainWindow.height
color: "black"
anchors.centerIn: parent
Rectangle {
width: parent.width * 0.45
height: importCol.height * 1.5
radius: ScreenTools.defaultFontPixelWidth
color: qgcPal.windowShadeDark
border.color: qgcPal.text
anchors.centerIn: parent
Column {
id: importCol
spacing: ScreenTools.defaultFontPixelHeight
width: parent.width
anchors.centerIn: parent
QGCLabel {
text: qsTr("Map Tile Set Import From Device");
font.family: ScreenTools.demiboldFontFamily
font.pointSize: ScreenTools.mediumFontPointSize
anchors.horizontalCenter: parent.horizontalCenter
}
QGCLabel {
text: qsTr("NOT YET IMPLEMENTED");
font.family: ScreenTools.demiboldFontFamily
font.pointSize: ScreenTools.mediumFontPointSize
anchors.horizontalCenter: parent.horizontalCenter
}
QGCButton {
text: qsTr("Close")
width: _bigButtonSize * 1.25
anchors.horizontalCenter: parent.horizontalCenter
onClicked: {
showList();
rootLoader.sourceComponent = null
}
}
}
}
}
}

Component {
id: exportToDevice
Rectangle {
width: mainWindow.width
height: mainWindow.height
color: "black"
anchors.centerIn: parent
Rectangle {
width: parent.width * 0.45
height: importCol.height * 1.5
radius: ScreenTools.defaultFontPixelWidth
color: qgcPal.windowShadeDark
border.color: qgcPal.text
anchors.centerIn: parent
Column {
id: importCol
spacing: ScreenTools.defaultFontPixelHeight
width: parent.width
anchors.centerIn: parent
QGCLabel {
text: qsTr("Map Tile Set Export To Device");
font.family: ScreenTools.demiboldFontFamily
font.pointSize: ScreenTools.mediumFontPointSize
anchors.horizontalCenter: parent.horizontalCenter
}
QGCLabel {
text: qsTr("NOT YET IMPLEMENTED");
font.family: ScreenTools.demiboldFontFamily
font.pointSize: ScreenTools.mediumFontPointSize
anchors.horizontalCenter: parent.horizontalCenter
}
QGCButton {
text: qsTr("Close")
width: _bigButtonSize * 1.25
anchors.horizontalCenter: parent.horizontalCenter
onClicked: {
showList();
rootLoader.sourceComponent = null
}
}
}
}
}
}

} // QGCView
4 changes: 2 additions & 2 deletions src/QtLocationPlugin/QMLControl/QGCMapEngineManager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -421,8 +421,8 @@ QGCMapEngineManager::importSets(QString path) {
dir = QDir(QDir::homePath()).filePath(QString("export_%1.db").arg(QDateTime::currentDateTime().toTime_t()));
#else
dir = QGCQFileDialog::getOpenFileName(
MainWindow::instance(),
"Export Tile Set",
NULL,
"Import Tile Set",
QDir::homePath(),
"Tile Sets (*.qgctiledb)");
#endif
Expand Down
4 changes: 2 additions & 2 deletions src/QtLocationPlugin/QMLControl/QGCMapEngineManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class QGCMapEngineManager : public QGCTool
//-- Tile set export
Q_PROPERTY(int selectedCount READ selectedCount NOTIFY selectedCountChanged)
Q_PROPERTY(int actionProgress READ actionProgress NOTIFY actionProgressChanged)
Q_PROPERTY(ImportAction importAction READ importAction NOTIFY importActionChanged)
Q_PROPERTY(ImportAction importAction READ importAction WRITE setImportAction NOTIFY importActionChanged)

Q_PROPERTY(bool importReplace READ importReplace WRITE setImportReplace NOTIFY importReplaceChanged)

Expand Down Expand Up @@ -103,7 +103,7 @@ class QGCMapEngineManager : public QGCTool
void setMaxMemCache (quint32 size);
void setMaxDiskCache (quint32 size);
void setImportReplace (bool replace) { _importReplace = replace; emit importReplaceChanged(); }

void setImportAction (ImportAction action) {_importAction = action; emit importActionChanged(); }
void setErrorMessage (const QString& error) { _errorMessage = error; emit errorMessageChanged(); }

// Override from QGCTool
Expand Down

0 comments on commit c7a9943

Please sign in to comment.