diff --git a/src/plugins/git/remotedialog.cpp b/src/plugins/git/remotedialog.cpp index 6463433f377..e99572ad11f 100644 --- a/src/plugins/git/remotedialog.cpp +++ b/src/plugins/git/remotedialog.cpp @@ -145,6 +145,8 @@ RemoteDialog::RemoteDialog(QWidget *parent) : connect(m_ui->remoteView->selectionModel(), &QItemSelectionModel::selectionChanged, this, &RemoteDialog::updateButtonState); + connect(m_remoteModel, &RemoteModel::refreshed, + this, &RemoteDialog::updateButtonState); updateButtonState(); } diff --git a/src/plugins/git/remotemodel.cpp b/src/plugins/git/remotemodel.cpp index 71d49397ac3..5f8bcd3488b 100644 --- a/src/plugins/git/remotemodel.cpp +++ b/src/plugins/git/remotemodel.cpp @@ -199,6 +199,7 @@ bool RemoteModel::refresh(const FilePath &workingDirectory, QString *errorMessag m_remotes.push_back(newRemote); } endResetModel(); + emit refreshed(); return true; } diff --git a/src/plugins/git/remotemodel.h b/src/plugins/git/remotemodel.h index 1ef6b7ffc64..85ceabdafe8 100644 --- a/src/plugins/git/remotemodel.h +++ b/src/plugins/git/remotemodel.h @@ -65,6 +65,9 @@ public: Utils::FilePath workingDirectory() const; int findRemoteByName(const QString &name) const; +signals: + void refreshed(); + protected: class Remote { public: