From 5e798b0bf4d311779774aa40fbe0884dd9ca3b51 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh <orgad.shaneh@audiocodes.com> Date: Wed, 11 Oct 2017 05:44:30 +0300 Subject: [PATCH] Gerrit: Improve error message when Gerrit remote is missing Task-number: QTCREATORBUG-18980 Change-Id: I99336732d59136f9aec9fc0a97fb3135e9c43f65 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> --- src/plugins/git/gerrit/gerritplugin.cpp | 6 +++--- src/plugins/git/gerrit/gerritpushdialog.cpp | 10 +++++----- src/plugins/git/gerrit/gerritpushdialog.h | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/plugins/git/gerrit/gerritplugin.cpp b/src/plugins/git/gerrit/gerritplugin.cpp index 5e088aa5a8..ba644b6530 100644 --- a/src/plugins/git/gerrit/gerritplugin.cpp +++ b/src/plugins/git/gerrit/gerritplugin.cpp @@ -317,9 +317,9 @@ void GerritPlugin::push(const QString &topLevel) // QScopedPointer is required to delete the dialog when leaving the function GerritPushDialog dialog(topLevel, m_reviewers, m_parameters, ICore::mainWindow()); - if (!dialog.isValid()) { - QMessageBox::warning(ICore::mainWindow(), tr("Initialization Failed"), - tr("Failed to initialize dialog. Aborting.")); + const QString initErrorMessage = dialog.initErrorMessage(); + if (!initErrorMessage.isEmpty()) { + QMessageBox::warning(ICore::mainWindow(), tr("Initialization Failed"), initErrorMessage); return; } diff --git a/src/plugins/git/gerrit/gerritpushdialog.cpp b/src/plugins/git/gerrit/gerritpushdialog.cpp index d293373e0b..54c7f1f6af 100644 --- a/src/plugins/git/gerrit/gerritpushdialog.cpp +++ b/src/plugins/git/gerrit/gerritpushdialog.cpp @@ -135,8 +135,10 @@ GerritPushDialog::GerritPushDialog(const QString &workingDir, const QString &rev initRemoteBranches(); - if (m_ui->remoteComboBox->isEmpty()) + if (m_ui->remoteComboBox->isEmpty()) { + m_initErrorMessage = tr("Cannot find a Gerrit remote. Add one and try again."); return; + } m_ui->localBranchComboBox->init(workingDir); connect(m_ui->localBranchComboBox, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), @@ -158,8 +160,6 @@ GerritPushDialog::GerritPushDialog(const QString &workingDir, const QString &rev connect(m_ui->remoteComboBox, &GerritRemoteChooser::remoteChanged, this, [this] { setRemoteBranches(); }); - - m_isValid = true; } GerritPushDialog::~GerritPushDialog() @@ -209,9 +209,9 @@ void GerritPushDialog::setChangeRange() tr("Number of commits between %1 and %2: %3").arg(branch, remote, range)); } -bool GerritPushDialog::isValid() const +QString GerritPushDialog::initErrorMessage() const { - return m_isValid; + return m_initErrorMessage; } void GerritPushDialog::storeTopic() diff --git a/src/plugins/git/gerrit/gerritpushdialog.h b/src/plugins/git/gerrit/gerritpushdialog.h index c425fd53d8..05f486386c 100644 --- a/src/plugins/git/gerrit/gerritpushdialog.h +++ b/src/plugins/git/gerrit/gerritpushdialog.h @@ -56,7 +56,7 @@ public: QString selectedPushType() const; QString selectedTopic() const; QString reviewers() const; - bool isValid() const; + QString initErrorMessage() const; void storeTopic(); private: @@ -73,9 +73,9 @@ private: QString calculateChangeRange(const QString &branch); QString m_workingDir; QString m_suggestedRemoteBranch; + QString m_initErrorMessage; Ui::GerritPushDialog *m_ui; RemoteBranchesMap m_remoteBranches; - bool m_isValid = false; bool m_hasLocalCommits = false; }; -- GitLab