From 94f07c85ee99c9cc94e144245fb97bedd0a38771 Mon Sep 17 00:00:00 2001 From: wmayer Date: Mon, 22 Aug 2016 18:58:10 +0200 Subject: [PATCH] Define shortcuts for Save & Discard buttons of message box that appears when closing a document --- src/Gui/Document.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/Gui/Document.cpp b/src/Gui/Document.cpp index 5a2f4ba67..15406bdc3 100644 --- a/src/Gui/Document.cpp +++ b/src/Gui/Document.cpp @@ -24,10 +24,12 @@ #include "PreCompiled.h" #ifndef _PreComp_ +# include # include # include # include # include +# include # include # include # include @@ -1203,6 +1205,22 @@ bool Document::canClose () 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); + box.setEscapeButton(QMessageBox::Cancel); + + // add shortcuts + QAbstractButton* saveBtn = box.button(QMessageBox::Save); + if (saveBtn->shortcut().isEmpty()) { + QString text = saveBtn->text(); + text.prepend(QLatin1Char('&')); + saveBtn->setShortcut(QKeySequence::mnemonic(text)); + } + + QAbstractButton* discardBtn = box.button(QMessageBox::Discard); + if (discardBtn->shortcut().isEmpty()) { + QString text = discardBtn->text(); + text.prepend(QLatin1Char('&')); + discardBtn->setShortcut(QKeySequence::mnemonic(text)); + } switch (box.exec()) {