diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2019-08-15 08:49:50 +0300 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2019-08-16 08:49:40 +0000 |
commit | eaf8ccf11840275515deff4a916cd0af9e016cea (patch) | |
tree | 4566e2096e2aa8be09f30273345ff0e80db70e93 /src/plugins | |
parent | 2b650f713afdae640554e055d9fd913dd238676a (diff) |
Git: Fix branch expansion on show before the diff display is done
The description is shown first (with the <Expand> placeholder), and the
diff parsing can be long. If <Expand> is clicked during parsing, it fails
because the base directory is not set yet.
Change-Id: Ib5e839b292c32091c726f24eb643d0fa5a142cb7
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/diffeditor/diffeditorcontroller.cpp | 5 | ||||
-rw-r--r-- | src/plugins/diffeditor/diffeditorcontroller.h | 1 | ||||
-rw-r--r-- | src/plugins/diffeditor/diffeditordocument.cpp | 8 | ||||
-rw-r--r-- | src/plugins/diffeditor/diffeditordocument.h | 1 | ||||
-rw-r--r-- | src/plugins/vcsbase/vcsbasediffeditorcontroller.cpp | 1 |
5 files changed, 15 insertions, 1 deletions
diff --git a/src/plugins/diffeditor/diffeditorcontroller.cpp b/src/plugins/diffeditor/diffeditorcontroller.cpp index e8cf1730f32..0a82110bbe8 100644 --- a/src/plugins/diffeditor/diffeditorcontroller.cpp +++ b/src/plugins/diffeditor/diffeditorcontroller.cpp @@ -55,6 +55,11 @@ QString DiffEditorController::baseDirectory() const return m_document->baseDirectory(); } +void DiffEditorController::setBaseDirectory(const QString &directory) +{ + m_document->setBaseDirectory(directory); +} + int DiffEditorController::contextLineCount() const { return m_document->contextLineCount(); diff --git a/src/plugins/diffeditor/diffeditorcontroller.h b/src/plugins/diffeditor/diffeditorcontroller.h index 4578a7f82a6..b32537c0e45 100644 --- a/src/plugins/diffeditor/diffeditorcontroller.h +++ b/src/plugins/diffeditor/diffeditorcontroller.h @@ -48,6 +48,7 @@ public: bool isReloading() const; QString baseDirectory() const; + void setBaseDirectory(const QString &directory); int contextLineCount() const; bool ignoreWhitespace() const; diff --git a/src/plugins/diffeditor/diffeditordocument.cpp b/src/plugins/diffeditor/diffeditordocument.cpp index 8c24d09424d..34378d91086 100644 --- a/src/plugins/diffeditor/diffeditordocument.cpp +++ b/src/plugins/diffeditor/diffeditordocument.cpp @@ -113,7 +113,8 @@ void DiffEditorDocument::setDiffFiles(const QList<FileData> &data, const QString const QString &startupFile) { m_diffFiles = data; - m_baseDirectory = directory; + if (!directory.isEmpty()) + m_baseDirectory = directory; m_startupFile = startupFile; emit documentChanged(); } @@ -128,6 +129,11 @@ QString DiffEditorDocument::baseDirectory() const return m_baseDirectory; } +void DiffEditorDocument::setBaseDirectory(const QString &directory) +{ + m_baseDirectory = directory; +} + QString DiffEditorDocument::startupFile() const { return m_startupFile; diff --git a/src/plugins/diffeditor/diffeditordocument.h b/src/plugins/diffeditor/diffeditordocument.h index a9dff53faaf..42657e43f38 100644 --- a/src/plugins/diffeditor/diffeditordocument.h +++ b/src/plugins/diffeditor/diffeditordocument.h @@ -60,6 +60,7 @@ public: const QString &startupFile = QString()); QList<FileData> diffFiles() const; QString baseDirectory() const; + void setBaseDirectory(const QString &directory); QString startupFile() const; void setDescription(const QString &description); diff --git a/src/plugins/vcsbase/vcsbasediffeditorcontroller.cpp b/src/plugins/vcsbase/vcsbasediffeditorcontroller.cpp index cb41e7e7d25..e72d68ef721 100644 --- a/src/plugins/vcsbase/vcsbasediffeditorcontroller.cpp +++ b/src/plugins/vcsbase/vcsbasediffeditorcontroller.cpp @@ -236,6 +236,7 @@ VcsBaseDiffEditorController::VcsBaseDiffEditorController(IDocument *document, : DiffEditorController(document) , d(new VcsBaseDiffEditorControllerPrivate(this, client, workingDirectory)) { + setBaseDirectory(workingDirectory); } VcsBaseDiffEditorController::~VcsBaseDiffEditorController() |