Browse Source

Merge pull request #6743 from DonLakeFlyer/ParameterFileSave

Set parameter file extension if needed
QGC4.4
Don Gagne 7 years ago committed by GitHub
parent
commit
048ff80942
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 16
      src/QmlControls/ParameterEditor.qml
  2. 9
      src/QmlControls/ParameterEditorController.cc

16
src/QmlControls/ParameterEditor.qml

@ -33,6 +33,7 @@ QGCView { @@ -33,6 +33,7 @@ QGCView {
property var _searchResults ///< List of parameter names from search results
property bool _showRCToParam: !ScreenTools.isMobile && QGroundControl.multiVehicleManager.activeVehicle.px4Firmware
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
property var _appSettings: QGroundControl.settingsManager.appSettings
ParameterEditorController {
id: controller;
@ -112,28 +113,18 @@ QGCView { @@ -112,28 +113,18 @@ QGCView {
MenuItem {
text: qsTr("Load from file...")
onTriggered: {
var appSettings = QGroundControl.settingsManager.appSettings
fileDialog.qgcView = qgcView
fileDialog.title = qsTr("Select Parameter File")
fileDialog.title = qsTr("Load Parameters")
fileDialog.selectExisting = true
fileDialog.folder = appSettings.parameterSavePath
fileDialog.fileExtension = appSettings.parameterFileExtension
fileDialog.nameFilters = [ qsTr("Parameter Files (*.%1)").arg(appSettings.parameterFileExtension) , qsTr("All Files (*.*)") ]
fileDialog.openForLoad()
}
}
MenuItem {
text: qsTr("Save to file...")
onTriggered: {
var appSettings = QGroundControl.settingsManager.appSettings
fileDialog.qgcView = qgcView
fileDialog.title = qsTr("Save Parameters")
fileDialog.selectExisting = false
fileDialog.folder = appSettings.parameterSavePath
fileDialog.fileExtension = appSettings.parameterFileExtension
fileDialog.nameFilters = [ qsTr("Parameter Files (*.%1)").arg(appSettings.parameterFileExtension) , qsTr("All Files (*.*)") ]
fileDialog.openForSave()
}
}
@ -293,6 +284,9 @@ QGCView { @@ -293,6 +284,9 @@ QGCView {
QGCFileDialog {
id: fileDialog
folder: _appSettings.parameterSavePath
fileExtension: _appSettings.parameterFileExtension
nameFilters: [ qsTr("Parameter Files (*.%1)").arg(_appSettings.parameterFileExtension) , qsTr("All Files (*.*)") ]
onAcceptedForSave: {
controller.saveToFile(file)

9
src/QmlControls/ParameterEditorController.cc

@ -98,10 +98,15 @@ void ParameterEditorController::clearRCToParam(void) @@ -98,10 +98,15 @@ void ParameterEditorController::clearRCToParam(void)
void ParameterEditorController::saveToFile(const QString& filename)
{
if (!filename.isEmpty()) {
QFile file(filename);
QString parameterFilename = filename;
if (!QFileInfo(filename).fileName().contains(".")) {
parameterFilename += QString(".%1").arg(AppSettings::parameterFileExtension);
}
QFile file(parameterFilename);
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
qgcApp()->showMessage(tr("Unable to create file: %1").arg(filename));
qgcApp()->showMessage(tr("Unable to create file: %1").arg(parameterFilename));
return;
}

Loading…
Cancel
Save