[PATCH 2/2] Improve wording in askSaveChanges()

subsurface at henrik.synth.no subsurface at henrik.synth.no
Fri May 24 00:28:48 PDT 2013


From: Henrik Brautaset Aronsen <subsurface at henrik.synth.no>

Don't Save/Cancel/Save is less ambiguous than OK/Cancel/Save. Also
being slightly more verbose when creating the QMessageBox.

Signed-off-by: Henrik Brautaset Aronsen <subsurface at henrik.synth.no>
---
 qt-ui/mainwindow.cpp | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index cff62db..53138f5 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;
-- 
1.8.2.2



More information about the subsurface mailing list