diff --git a/src/plugins/git/gerrit/gerritpushdialog.cpp b/src/plugins/git/gerrit/gerritpushdialog.cpp index 4f8585b6796035ed7d3b41b7b86f14271909c98e..d293373e0bbf0e430c781046378664633de943ea 100644 --- a/src/plugins/git/gerrit/gerritpushdialog.cpp +++ b/src/plugins/git/gerrit/gerritpushdialog.cpp @@ -26,7 +26,6 @@ #include "gerritpushdialog.h" #include "ui_gerritpushdialog.h" #include "branchcombobox.h" -#include "gerritserver.h" #include "../gitplugin.h" #include "../gitclient.h" @@ -129,6 +128,7 @@ GerritPushDialog::GerritPushDialog(const QString &workingDir, const QString &rev m_ui->repositoryLabel->setText(QDir::toNativeSeparators(workingDir)); m_ui->remoteComboBox->setRepository(workingDir); m_ui->remoteComboBox->setParameters(parameters); + m_ui->remoteComboBox->setAllowDups(true); PushItemDelegate *delegate = new PushItemDelegate(m_ui->commitView); delegate->setParent(this); diff --git a/src/plugins/git/gerrit/gerritremotechooser.cpp b/src/plugins/git/gerrit/gerritremotechooser.cpp index 06b916c16fb5143bd179ec280f1183c7daebbdb1..b5cf6e9f02569c0e2d47cefc02a77c88c13d1da5 100644 --- a/src/plugins/git/gerrit/gerritremotechooser.cpp +++ b/src/plugins/git/gerrit/gerritremotechooser.cpp @@ -80,6 +80,11 @@ void GerritRemoteChooser::setFallbackEnabled(bool value) m_enableFallback = value; } +void GerritRemoteChooser::setAllowDups(bool value) +{ + m_allowDups = value; +} + bool GerritRemoteChooser::setCurrentRemote(const QString &remoteName) { for (int i = 0, total = m_remoteComboBox->count(); i < total; ++i) { @@ -118,9 +123,11 @@ bool GerritRemoteChooser::updateRemotes(bool forceReload) void GerritRemoteChooser::addRemote(const GerritServer &server, const QString &name) { - for (auto remote : m_remotes) { - if (remote.second == server) - return; + if (!m_allowDups) { + for (auto remote : m_remotes) { + if (remote.second == server) + return; + } } m_remoteComboBox->addItem(server.host + QString(" (%1)").arg(name)); m_remotes.push_back({ name, server }); diff --git a/src/plugins/git/gerrit/gerritremotechooser.h b/src/plugins/git/gerrit/gerritremotechooser.h index c06013bb229d38e4c22750242f12ec785bdeef6c..c2dacf84cfa1fd1d47942f8a7471f32cab9cadc8 100644 --- a/src/plugins/git/gerrit/gerritremotechooser.h +++ b/src/plugins/git/gerrit/gerritremotechooser.h @@ -48,6 +48,7 @@ public: void setRepository(const QString &repository); void setParameters(QSharedPointer<GerritParameters> parameters); void setFallbackEnabled(bool value); + void setAllowDups(bool value); bool setCurrentRemote(const QString &remoteName); bool updateRemotes(bool forceReload); @@ -68,6 +69,7 @@ private: QToolButton *m_resetRemoteButton = nullptr; bool m_updatingRemotes = false; bool m_enableFallback = false; + bool m_allowDups = false; using NameAndServer = std::pair<QString, GerritServer>; std::vector<NameAndServer> m_remotes; };