aboutsummaryrefslogtreecommitdiffstats
path: root/qt-ui/mainwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt-ui/mainwindow.cpp')
-rw-r--r--qt-ui/mainwindow.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index cff62db48..53138f5a1 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -289,19 +289,26 @@ QString MainWindow::filter()
bool MainWindow::askSaveChanges()
{
QString message;
- QMessageBox::StandardButton response;
+ QMessageBox response;
if (existing_filename)
- message = tr("You have unsaved changes to file: %1\nDo you really want to close the file without saving?").arg(existing_filename);
+ message = tr("Do you want to save the changes you made in the file %1?").arg(existing_filename);
else
- message = tr("You have unsaved changes\nDo you really want to close the datafile without saving?");
-
- response = QMessageBox::question(this, tr("Save Changes?"), message,
- QMessageBox::Save | QMessageBox::Cancel | QMessageBox::Ok, QMessageBox::Save);
- if (response == QMessageBox::Save) {
+ message = tr("Do you want to save the changes you made in the datafile?");
+
+ response.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
+ response.setDefaultButton(QMessageBox::Save);
+ response.setText(message);
+ response.setWindowTitle(tr("Save Changes?")); // Not displayed on MacOSX as described in Qt API
+ response.setInformativeText(tr("Changes will be lost if you don't save them."));
+ response.setIcon(QMessageBox::Warning);
+ int ret = response.exec();
+
+ switch (ret) {
+ case QMessageBox::Save:
file_save();
return true;
- } else if (response == QMessageBox::Ok) {
+ case QMessageBox::Discard:
return true;
}
return false;