aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2023-10-19 09:47:00 +0200
committerEike Ziller <eike.ziller@qt.io>2023-10-20 09:08:06 +0000
commit9df0571ff92f16a71a3d0682d0acf9a2b2d887ee (patch)
tree82c7dad6fa5b0507f22e486801967a7500cf6696
parentb3109755e67ee514b09063f1edc5e0f1fb0af51c (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.cpp20
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()