From 10ff6769acdd5375c947cbcebace19545eade145 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Thu, 20 Jun 2013 12:49:19 +0200 Subject: [PATCH] Core: Let IDocument also report failed file reload operations Change-Id: I8fa02f2398f59306c49481316fdedf50a1c4e32f Reviewed-by: Daniel Teske --- src/plugins/bineditor/bineditorplugin.cpp | 6 +++--- src/plugins/coreplugin/idocument.h | 3 ++- src/plugins/designer/formwindowfile.cpp | 6 +++--- src/plugins/resourceeditor/resourceeditorw.cpp | 6 +++--- src/plugins/texteditor/basetextdocument.cpp | 3 +-- src/plugins/texteditor/basetexteditor.cpp | 7 +++++-- src/plugins/texteditor/basetexteditor.h | 2 +- 7 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp index 1d06040143..3998c3d2e3 100644 --- a/src/plugins/bineditor/bineditorplugin.cpp +++ b/src/plugins/bineditor/bineditorplugin.cpp @@ -302,9 +302,9 @@ public: emit changed(); } else { emit aboutToReload(); - if (!open(errorString, m_fileName)) - return false; - emit reloaded(); + const bool success = open(errorString, m_fileName); + emit reloadFinished(success); + return success; } return true; } diff --git a/src/plugins/coreplugin/idocument.h b/src/plugins/coreplugin/idocument.h index 9fb5e5ab6e..c543366316 100644 --- a/src/plugins/coreplugin/idocument.h +++ b/src/plugins/coreplugin/idocument.h @@ -112,7 +112,8 @@ signals: void changed(); void aboutToReload(); - void reloaded(); + void reloadFinished(bool success); + void fileNameChanged(const QString &oldName, const QString &newName); private: diff --git a/src/plugins/designer/formwindowfile.cpp b/src/plugins/designer/formwindowfile.cpp index fcb394ebf4..1aa35fc472 100644 --- a/src/plugins/designer/formwindowfile.cpp +++ b/src/plugins/designer/formwindowfile.cpp @@ -145,9 +145,9 @@ bool FormWindowFile::reload(QString *errorString, ReloadFlag flag, ChangeType ty } else { emit aboutToReload(); emit reload(errorString, m_fileName); - if (!errorString->isEmpty()) - return false; - emit reloaded(); + const bool success = errorString->isEmpty(); + emit reloadFinished(success); + return success; } return true; } diff --git a/src/plugins/resourceeditor/resourceeditorw.cpp b/src/plugins/resourceeditor/resourceeditorw.cpp index bbbf669923..1b49ad1e3c 100644 --- a/src/plugins/resourceeditor/resourceeditorw.cpp +++ b/src/plugins/resourceeditor/resourceeditorw.cpp @@ -259,9 +259,9 @@ bool ResourceEditorDocument::reload(QString *errorString, ReloadFlag flag, Chang } else { emit aboutToReload(); QString fn = m_parent->m_resourceEditor->fileName(); - if (!m_parent->open(errorString, fn, fn)) - return false; - emit reloaded(); + const bool success = m_parent->open(errorString, fn, fn); + emit reloadFinished(success); + return success; } return true; } diff --git a/src/plugins/texteditor/basetextdocument.cpp b/src/plugins/texteditor/basetextdocument.cpp index f21f0185a1..64fb435930 100644 --- a/src/plugins/texteditor/basetextdocument.cpp +++ b/src/plugins/texteditor/basetextdocument.cpp @@ -415,8 +415,7 @@ bool BaseTextDocument::reload(QString *errorString) if (documentLayout) documentLayout->documentReloaded(marks); // readds text marks - if (success) - emit reloaded(); + emit reloadFinished(success); return success; } diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index a9b9df101f..7fdb2c9534 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -2204,8 +2204,11 @@ void BaseTextEditorWidget::documentAboutToBeReloaded() d->m_refactorOverlay->clear(); } -void BaseTextEditorWidget::documentReloaded() +void BaseTextEditorWidget::documentReloadFinished(bool success) { + if (!success) + return; + // restore cursor position restoreState(d->m_tempState); updateCannotDecodeInfo(); @@ -2584,7 +2587,7 @@ void BaseTextEditorWidgetPrivate::setupDocumentSignals(const QSharedPointerslotUpdateExtraAreaWidth(); } diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h index 850eb64eee..ce99441e20 100644 --- a/src/plugins/texteditor/basetexteditor.h +++ b/src/plugins/texteditor/basetexteditor.h @@ -375,7 +375,7 @@ protected: private slots: void editorContentsChange(int position, int charsRemoved, int charsAdded); void documentAboutToBeReloaded(); - void documentReloaded(); + void documentReloadFinished(bool success); void highlightSearchResults(const QString &txt, Find::FindFlags findFlags); void setFindScope(const QTextCursor &start, const QTextCursor &end, int, int); bool inFindScope(const QTextCursor &cursor); -- GitLab