aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/diffeditor
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2019-08-15 08:49:50 +0300
committerOrgad Shaneh <orgads@gmail.com>2019-08-16 08:49:40 +0000
commiteaf8ccf11840275515deff4a916cd0af9e016cea (patch)
tree4566e2096e2aa8be09f30273345ff0e80db70e93 /src/plugins/diffeditor
parent2b650f713afdae640554e055d9fd913dd238676a (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/diffeditor')
-rw-r--r--src/plugins/diffeditor/diffeditorcontroller.cpp5
-rw-r--r--src/plugins/diffeditor/diffeditorcontroller.h1
-rw-r--r--src/plugins/diffeditor/diffeditordocument.cpp8
-rw-r--r--src/plugins/diffeditor/diffeditordocument.h1
4 files changed, 14 insertions, 1 deletions
diff --git a/src/plugins/diffeditor/diffeditorcontroller.cpp b/src/plugins/diffeditor/diffeditorcontroller.cpp
index e8cf1730f3..0a82110bbe 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 4578a7f82a..b32537c0e4 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 8c24d09424..34378d9108 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 a9dff53faa..42657e43f3 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);