summaryrefslogtreecommitdiff
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
parentf5d68398d51116bb8dc61e8699dd607076862d96 (diff)
downloadqt-creator-bde0f1b0ff7ff8779f19a42f28508fcfb314f5b2.tar.gz
DiffEditor: disable saveAs action during reload
Change-Id: I6786139c1cd9c9e3c0786b14da058cb260fba3ed Reviewed-by: Eike Ziller <eike.ziller@qt.io>
-rw-r--r--src/plugins/diffeditor/diffeditordocument.cpp10
-rw-r--r--src/plugins/diffeditor/diffeditordocument.h2
2 files changed, 11 insertions, 1 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);
}
diff --git a/src/plugins/diffeditor/diffeditordocument.h b/src/plugins/diffeditor/diffeditordocument.h
index c61d17ad90..18c73b61ce 100644
--- a/src/plugins/diffeditor/diffeditordocument.h
+++ b/src/plugins/diffeditor/diffeditordocument.h
@@ -70,7 +70,7 @@ public:
QString fallbackSaveAsPath() const override;
QString fallbackSaveAsFileName() const override;
- bool isSaveAsAllowed() const override { return true; }
+ bool isSaveAsAllowed() const override;
bool save(QString *errorString, const QString &fileName, bool autoSave) override;
void reload();
bool reload(QString *errorString, ReloadFlag flag, ChangeType type) override;