forked from qt-creator/qt-creator
VCS: Remove "Do not ask again" checkbox when closing commit editor
Change-Id: Iea0cd14672eb65734921e1b57edd0780938aa60f Reviewed-by: André Hartmann <aha_1980@gmx.de>
This commit is contained in:
committed by
Orgad Shaneh
parent
f4e18967e2
commit
2f1f80152d
@@ -42,7 +42,6 @@
|
|||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QPointer>
|
#include <QPointer>
|
||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
#include <QPushButton>
|
|
||||||
#include <QSet>
|
#include <QSet>
|
||||||
#include <QStringListModel>
|
#include <QStringListModel>
|
||||||
#include <QStyle>
|
#include <QStyle>
|
||||||
@@ -479,10 +478,10 @@ void VcsBaseSubmitEditor::setDescriptionMandatory(bool v)
|
|||||||
|
|
||||||
enum { checkDialogMinimumWidth = 500 };
|
enum { checkDialogMinimumWidth = 500 };
|
||||||
|
|
||||||
static QString withUnusedMnemonic(QString string, const QList<QPushButton *> &otherButtons)
|
static QString withUnusedMnemonic(QString string, const QList<QAbstractButton *> &otherButtons)
|
||||||
{
|
{
|
||||||
QSet<QChar> mnemonics;
|
QSet<QChar> mnemonics;
|
||||||
for (QPushButton *button : otherButtons) {
|
for (QAbstractButton *button : otherButtons) {
|
||||||
const QString text = button->text();
|
const QString text = button->text();
|
||||||
const int ampersandPos = text.indexOf('&');
|
const int ampersandPos = text.indexOf('&');
|
||||||
if (ampersandPos >= 0 && ampersandPos < text.size() - 1)
|
if (ampersandPos >= 0 && ampersandPos < text.size() - 1)
|
||||||
@@ -512,7 +511,7 @@ VcsBaseSubmitEditor::PromptSubmitResult VcsBaseSubmitEditor::promptSubmit(VcsBas
|
|||||||
const bool prompt = !plugin->submitActionTriggered();
|
const bool prompt = !plugin->submitActionTriggered();
|
||||||
if (canCommit && !prompt)
|
if (canCommit && !prompt)
|
||||||
return SubmitConfirmed;
|
return SubmitConfirmed;
|
||||||
CheckableMessageBox mb(Core::ICore::dialogParent());
|
QMessageBox mb(Core::ICore::dialogParent());
|
||||||
const QString commitName = plugin->commitDisplayName();
|
const QString commitName = plugin->commitDisplayName();
|
||||||
mb.setWindowTitle(tr("Close %1 %2 Editor").arg(plugin->displayName(), commitName));
|
mb.setWindowTitle(tr("Close %1 %2 Editor").arg(plugin->displayName(), commitName));
|
||||||
mb.setIcon(QMessageBox::Question);
|
mb.setIcon(QMessageBox::Question);
|
||||||
@@ -526,26 +525,26 @@ VcsBaseSubmitEditor::PromptSubmitResult VcsBaseSubmitEditor::promptSubmit(VcsBas
|
|||||||
errorMessage.isEmpty() ? errorMessage : ": " + errorMessage);
|
errorMessage.isEmpty() ? errorMessage : ": " + errorMessage);
|
||||||
}
|
}
|
||||||
mb.setText(message);
|
mb.setText(message);
|
||||||
QDialogButtonBox::StandardButtons buttons = QDialogButtonBox::Close | QDialogButtonBox::Cancel;
|
QMessageBox::StandardButtons buttons = QMessageBox::Close | QMessageBox::Cancel;
|
||||||
if (canCommit || plugin->canCommitOnFailure())
|
if (canCommit || plugin->canCommitOnFailure())
|
||||||
buttons |= QDialogButtonBox::Ok;
|
buttons |= QMessageBox::Ok;
|
||||||
mb.setStandardButtons(buttons);
|
mb.setStandardButtons(buttons);
|
||||||
QPushButton *cancelButton = mb.button(QDialogButtonBox::Cancel);
|
QAbstractButton *cancelButton = mb.button(QMessageBox::Cancel);
|
||||||
// On Windows there is no mnemonic for Close. Set it explicitly.
|
// On Windows there is no mnemonic for Close. Set it explicitly.
|
||||||
mb.button(QDialogButtonBox::Close)->setText(tr("&Close"));
|
mb.button(QMessageBox::Close)->setText(tr("&Close"));
|
||||||
cancelButton->setText(tr("&Keep Editing"));
|
cancelButton->setText(tr("&Keep Editing"));
|
||||||
// prompt is true when the editor is closed, and false when triggered by the submit action
|
// prompt is true when the editor is closed, and false when triggered by the submit action
|
||||||
if (prompt)
|
if (prompt)
|
||||||
cancelButton->setDefault(true);
|
mb.setDefaultButton(QMessageBox::Cancel);
|
||||||
if (QPushButton *commitButton = mb.button(QDialogButtonBox::Ok)) {
|
if (QAbstractButton *commitButton = mb.button(QMessageBox::Ok)) {
|
||||||
commitButton->setText(withUnusedMnemonic(commitName,
|
commitButton->setText(withUnusedMnemonic(commitName,
|
||||||
{cancelButton, mb.button(QDialogButtonBox::Close)}));
|
{cancelButton, mb.button(QMessageBox::Close)}));
|
||||||
}
|
}
|
||||||
mb.exec();
|
mb.exec();
|
||||||
QAbstractButton *chosen = mb.clickedButton();
|
QAbstractButton *chosen = mb.clickedButton();
|
||||||
if (!chosen || chosen == cancelButton)
|
if (!chosen || chosen == cancelButton)
|
||||||
return SubmitCanceled;
|
return SubmitCanceled;
|
||||||
if (chosen == mb.button(QDialogButtonBox::Close))
|
if (chosen == mb.button(QMessageBox::Close))
|
||||||
return SubmitDiscarded;
|
return SubmitDiscarded;
|
||||||
return SubmitConfirmed;
|
return SubmitConfirmed;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user