diff options
author | Eike Ziller <eike.ziller@qt.io> | 2023-10-19 09:47:00 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2023-10-20 09:08:06 +0000 |
commit | 9df0571ff92f16a71a3d0682d0acf9a2b2d887ee (patch) | |
tree | 82c7dad6fa5b0507f22e486801967a7500cf6696 | |
parent | b3109755e67ee514b09063f1edc5e0f1fb0af51c (diff) |
VCS/macOS: Fix message box when closing submit editor
When using the "Close" and "Cancel" standard buttons, it is no longer
possible to change the button text on macOS. Additionally, the behavior
on pressing <esc> is broken when using QtC in german (it should just
close the dialog == cancel, but in german it triggers "close").
Task-number: QTBUG-118241
Change-Id: Ia35e6a29cd97fb91552dc5600f91be8b8e443f39
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
-rw-r--r-- | src/plugins/vcsbase/vcsbasesubmiteditor.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp index 3b78546526..ccf56e55d2 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp @@ -39,18 +39,19 @@ #include <projectexplorer/project.h> #include <projectexplorer/projectmanager.h> +#include <QAction> +#include <QApplication> +#include <QCompleter> #include <QDir> #include <QFileInfo> +#include <QMessageBox> #include <QPointer> #include <QProcess> +#include <QPushButton> #include <QSet> #include <QStringListModel> #include <QStyle> #include <QToolBar> -#include <QAction> -#include <QApplication> -#include <QMessageBox> -#include <QCompleter> #include <cstring> @@ -472,13 +473,12 @@ bool VcsBaseSubmitEditor::promptSubmit(VcsBasePluginPrivate *plugin) mb.setWindowTitle(plugin->commitAbortTitle()); mb.setIcon(QMessageBox::Warning); mb.setText(plugin->commitAbortMessage()); - mb.setStandardButtons(QMessageBox::Close | QMessageBox::Cancel); - // On Windows there is no mnemonic for Close. Set it explicitly. - mb.button(QMessageBox::Close)->setText(Tr::tr("&Close")); - mb.button(QMessageBox::Cancel)->setText(Tr::tr("&Keep Editing")); - mb.setDefaultButton(QMessageBox::Cancel); + QPushButton *closeButton = mb.addButton(Tr::tr("&Close"), QMessageBox::AcceptRole); + QPushButton *keepButton = mb.addButton(Tr::tr("&Keep Editing"), QMessageBox::RejectRole); + mb.setDefaultButton(keepButton); + mb.setEscapeButton(keepButton); mb.exec(); - return mb.result() == QMessageBox::Close; + return mb.clickedButton() == closeButton; } QString VcsBaseSubmitEditor::promptForNickName() |