summaryrefslogtreecommitdiff
path: root/src/plugins/diffeditor/diffeditordocument.cpp
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2017-06-29 12:03:10 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2017-06-29 10:38:23 +0000
commitbde0f1b0ff7ff8779f19a42f28508fcfb314f5b2 (patch)
tree25a07f19a70ff1707ba123694e4acb25148e5bf4 /src/plugins/diffeditor/diffeditordocument.cpp
parentf5d68398d51116bb8dc61e8699dd607076862d96 (diff)
downloadqt-creator-bde0f1b0ff7ff8779f19a42f28508fcfb314f5b2.tar.gz
DiffEditor: disable saveAs action during reload
Change-Id: I6786139c1cd9c9e3c0786b14da058cb260fba3ed Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/plugins/diffeditor/diffeditordocument.cpp')
-rw-r--r--src/plugins/diffeditor/diffeditordocument.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/plugins/diffeditor/diffeditordocument.cpp b/src/plugins/diffeditor/diffeditordocument.cpp
index 9928ef6197..aac0ba2f06 100644
--- a/src/plugins/diffeditor/diffeditordocument.cpp
+++ b/src/plugins/diffeditor/diffeditordocument.cpp
@@ -203,11 +203,19 @@ QString DiffEditorDocument::fallbackSaveAsPath() const
return QDir::homePath();
}
+bool DiffEditorDocument::isSaveAsAllowed() const
+{
+ return !isReloading();
+}
+
bool DiffEditorDocument::save(QString *errorString, const QString &fileName, bool autoSave)
{
Q_UNUSED(errorString)
Q_UNUSED(autoSave)
+ if (isReloading())
+ return false;
+
const bool ok = write(fileName, format(), plainText(), errorString);
if (!ok)
@@ -330,6 +338,7 @@ void DiffEditorDocument::beginReload()
{
emit aboutToReload();
m_isReloading = true;
+ emit changed();
const bool blocked = blockSignals(true);
setDiffFiles(QList<FileData>(), QString());
setDescription(QString());
@@ -339,6 +348,7 @@ void DiffEditorDocument::beginReload()
void DiffEditorDocument::endReload(bool success)
{
m_isReloading = false;
+ emit changed();
emit reloadFinished(success);
}