From 1982bdb9fc749015631fcff5feaddfefd3606b32 Mon Sep 17 00:00:00 2001 From: Claudiu Olteanu Date: Sat, 21 Mar 2015 17:10:55 +0200 Subject: Implement handler for cancel button of Save As dialog When an user opened the "Save as" dialog and pressed the cancel button a null string was returned. Therefore the file_save_as function returned an error which was lately shown when the file_save function was called. Now the function checks if the cancel/exit button was pressed and returns. Fixes #844 Reported-by: longjohnsilver Signed-off-by: Claudiu Olteanu Signed-off-by: Dirk Hohndel --- qt-ui/mainwindow.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'qt-ui') diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index 54c0ce7f2..2c17648d6 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -1259,8 +1259,15 @@ int MainWindow::file_save_as(void) { QString filename; const char *default_filename = existing_filename; - filename = QFileDialog::getSaveFileName(this, tr("Save file as"), default_filename, - tr("Subsurface XML files (*.ssrf *.xml *.XML)")); + QFileDialog selection_dialog(this, tr("Save file as"), default_filename, + tr("Subsurface XML files (*.ssrf *.xml *.XML)")); + + /* if the exit/cancel button is pressed return */ + if (!selection_dialog.exec()) + return 0; + + /* get the first selected file */ + filename = selection_dialog.selectedFiles().at(0); if (filename.isNull() || filename.isEmpty()) return report_error("No filename to save into"); -- cgit v1.2.3-70-g09d2