From 60fa56db8e0220b255f07aceb8742e6c7491d10d Mon Sep 17 00:00:00 2001 From: Orgad Shaneh <orgad.shaneh@audiocodes.com> Date: Fri, 26 Jul 2013 17:24:13 +0300 Subject: [PATCH] Git: Initialize remote model directory even when no remotes found Task-number: QTCREATORBUG-9789 Change-Id: If3626e244b9d85ad670d586438710e17bba8e927 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> --- src/plugins/git/remotedialog.cpp | 9 ++++----- src/plugins/git/remotedialog.h | 2 -- src/plugins/git/remotemodel.cpp | 3 ++- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/plugins/git/remotedialog.cpp b/src/plugins/git/remotedialog.cpp index 98078168291..db4cb867594 100644 --- a/src/plugins/git/remotedialog.cpp +++ b/src/plugins/git/remotedialog.cpp @@ -118,16 +118,15 @@ RemoteDialog::~RemoteDialog() void RemoteDialog::refresh(const QString &repository, bool force) { - if (m_repository == repository && !force) + if (m_remoteModel->workingDirectory() == repository && !force) return; // Refresh - m_repository = repository; - m_ui->repositoryLabel->setText(StashDialog::msgRepositoryLabel(m_repository)); - if (m_repository.isEmpty()) { + m_ui->repositoryLabel->setText(StashDialog::msgRepositoryLabel(repository)); + if (repository.isEmpty()) { m_remoteModel->clear(); } else { QString errorMessage; - if (!m_remoteModel->refresh(m_repository, &errorMessage)) + if (!m_remoteModel->refresh(repository, &errorMessage)) VcsBase::VcsBaseOutputWindow::instance()->appendError(errorMessage); } } diff --git a/src/plugins/git/remotedialog.h b/src/plugins/git/remotedialog.h index 7a8d00900b9..7ab485ef043 100644 --- a/src/plugins/git/remotedialog.h +++ b/src/plugins/git/remotedialog.h @@ -92,8 +92,6 @@ private: RemoteModel *m_remoteModel; RemoteAdditionDialog *m_addDialog; - - QString m_repository; }; } // namespace Internal diff --git a/src/plugins/git/remotemodel.cpp b/src/plugins/git/remotemodel.cpp index d7ad7a3147d..b6f0933e7c6 100644 --- a/src/plugins/git/remotemodel.cpp +++ b/src/plugins/git/remotemodel.cpp @@ -177,6 +177,8 @@ void RemoteModel::clear() bool RemoteModel::refresh(const QString &workingDirectory, QString *errorMessage) { + m_workingDirectory = workingDirectory; + // get list of remotes. QMap<QString,QString> remotesList = m_client->synchronousRemotesList(workingDirectory, errorMessage); @@ -184,7 +186,6 @@ bool RemoteModel::refresh(const QString &workingDirectory, QString *errorMessage if (remotesList.isEmpty()) return false; - m_workingDirectory = workingDirectory; beginResetModel(); m_remotes.clear(); foreach (const QString &remoteName, remotesList.keys()) { -- GitLab