diff --git a/src/Gui/Document.cpp b/src/Gui/Document.cpp index 21b807c50..8742ba172 100644 --- a/src/Gui/Document.cpp +++ b/src/Gui/Document.cpp @@ -1083,19 +1083,21 @@ bool Document::canClose () if (!isModified()) return true; bool ok = true; - switch(QMessageBox::question(getActiveView(), - QObject::tr("Unsaved document"), - QObject::tr("The document '%1' has been modified.\n" - "Do you want to save your changes?") - .arg(QString::fromUtf8(getDocument()->Label.getValue())), - QMessageBox::Yes | QMessageBox::Default, - QMessageBox::No, - QMessageBox::Cancel | QMessageBox::Escape)) + QMessageBox box(getActiveView()); + box.setIcon(QMessageBox::Question); + box.setWindowTitle(QObject::tr("Unsaved document")); + box.setText(QObject::tr("Do you want to save your changes to document '%1' before closing?") + .arg(QString::fromUtf8(getDocument()->Label.getValue()))); + box.setInformativeText(QObject::tr("If you don't save, your changes will be lost.")); + box.setStandardButtons(QMessageBox::Discard | QMessageBox::Cancel | QMessageBox::Save); + box.setDefaultButton(QMessageBox::Save); + + switch (box.exec()) { - case QMessageBox::Yes: + case QMessageBox::Save: ok = save(); break; - case QMessageBox::No: + case QMessageBox::Discard: ok = true; break; case QMessageBox::Cancel: