diff options
| author | Jarek Kobus <jaroslaw.kobus@qt.io> | 2017-06-29 12:03:10 +0200 |
|---|---|---|
| committer | Jarek Kobus <jaroslaw.kobus@qt.io> | 2017-06-29 10:38:23 +0000 |
| commit | bde0f1b0ff7ff8779f19a42f28508fcfb314f5b2 (patch) | |
| tree | 25a07f19a70ff1707ba123694e4acb25148e5bf4 | |
| parent | f5d68398d51116bb8dc61e8699dd607076862d96 (diff) | |
| download | qt-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.cpp | 10 | ||||
| -rw-r--r-- | src/plugins/diffeditor/diffeditordocument.h | 2 |
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; |
