diff --git a/src/plugins/git/gerrit/gerritplugin.cpp b/src/plugins/git/gerrit/gerritplugin.cpp index ba644b6530f..e085ab8d963 100644 --- a/src/plugins/git/gerrit/gerritplugin.cpp +++ b/src/plugins/git/gerrit/gerritplugin.cpp @@ -328,25 +328,7 @@ void GerritPlugin::push(const QString &topLevel) dialog.storeTopic(); m_reviewers = dialog.reviewers(); - - QString target = dialog.selectedCommit(); - if (target.isEmpty()) - target = "HEAD"; - target += ":refs/" + dialog.selectedPushType() + - '/' + dialog.selectedRemoteBranchName(); - const QString topic = dialog.selectedTopic(); - if (!topic.isEmpty()) - target += '/' + topic; - - QStringList options; - const QStringList reviewers = m_reviewers.split(',', QString::SkipEmptyParts); - for (const QString &reviewer : reviewers) - options << "r=" + reviewer; - - if (!options.isEmpty()) - target += '%' + options.join(','); - - GitPlugin::client()->push(topLevel, {dialog.selectedRemoteName(), target}); + GitPlugin::client()->push(topLevel, {dialog.selectedRemoteName(), dialog.pushTarget()}); } // Open or raise the Gerrit dialog window. diff --git a/src/plugins/git/gerrit/gerritpushdialog.cpp b/src/plugins/git/gerrit/gerritpushdialog.cpp index 1df27a8f9c7..569a1c1ee49 100644 --- a/src/plugins/git/gerrit/gerritpushdialog.cpp +++ b/src/plugins/git/gerrit/gerritpushdialog.cpp @@ -214,6 +214,27 @@ QString GerritPushDialog::initErrorMessage() const return m_initErrorMessage; } +QString GerritPushDialog::pushTarget() const +{ + QString target = selectedCommit(); + if (target.isEmpty()) + target = "HEAD"; + target += ":refs/" + QLatin1String(m_ui->draftCheckBox->isChecked() ? "drafts" : "for") + + '/' + selectedRemoteBranchName(); + const QString topic = selectedTopic(); + if (!topic.isEmpty()) + target += '/' + topic; + + QStringList options; + const QStringList reviewersInput = reviewers().split(',', QString::SkipEmptyParts); + for (const QString &reviewer : reviewersInput) + options << "r=" + reviewer; + + if (!options.isEmpty()) + target += '%' + options.join(','); + return target; +} + void GerritPushDialog::storeTopic() { const QString branch = m_ui->localBranchComboBox->currentText(); @@ -302,11 +323,6 @@ QString GerritPushDialog::selectedRemoteBranchName() const return m_ui->targetBranchComboBox->currentText(); } -QString GerritPushDialog::selectedPushType() const -{ - return QLatin1String(m_ui->draftCheckBox->isChecked() ? "drafts" : "for"); -} - QString GerritPushDialog::selectedTopic() const { return m_ui->topicLineEdit->text().trimmed(); diff --git a/src/plugins/git/gerrit/gerritpushdialog.h b/src/plugins/git/gerrit/gerritpushdialog.h index 05f486386c1..40a1dab8acc 100644 --- a/src/plugins/git/gerrit/gerritpushdialog.h +++ b/src/plugins/git/gerrit/gerritpushdialog.h @@ -53,10 +53,10 @@ public: QString selectedCommit() const; QString selectedRemoteName() const; QString selectedRemoteBranchName() const; - QString selectedPushType() const; QString selectedTopic() const; QString reviewers() const; QString initErrorMessage() const; + QString pushTarget() const; void storeTopic(); private: