diff --git a/src/plugins/bineditor/imageviewer.h b/src/plugins/bineditor/imageviewer.h index edaa9d86d37c1464edec48c8f18297ab3e5d161e..ac1c502dec7ae68bb0e18799c7e8ed44044f0827 100644 --- a/src/plugins/bineditor/imageviewer.h +++ b/src/plugins/bineditor/imageviewer.h @@ -83,8 +83,6 @@ public: ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const; void reload(ReloadFlag flag, ChangeType type); - void checkPermissions() {} - void setMimetype(const QString &mimetype) { m_mimeType = mimetype; emit changed(); } void setFileName(const QString &filename) { m_fileName = filename; emit changed(); } private: diff --git a/src/plugins/coreplugin/filemanager.cpp b/src/plugins/coreplugin/filemanager.cpp index 6d7b7ae6eed4463b72ecdc45e261c3ca6b18b9b3..6ec36b5257b7c258fb48c5ece4bb46db157e3c56 100644 --- a/src/plugins/coreplugin/filemanager.cpp +++ b/src/plugins/coreplugin/filemanager.cpp @@ -853,6 +853,7 @@ void FileManager::checkForReload() blockFileChange(it.key()); it.key()->save(it.value()); unblockFileChange(it.key()); + it.key()->checkPermissions(); } d->m_blockActivated = false; diff --git a/src/plugins/texteditor/basetextdocument.cpp b/src/plugins/texteditor/basetextdocument.cpp index 2ab2fe9fbcc09b194a8a00bf7bcfbefa842d4d85..d47e1a24415a9e8bd073f6092e637514517559b4 100644 --- a/src/plugins/texteditor/basetextdocument.cpp +++ b/src/plugins/texteditor/basetextdocument.cpp @@ -145,12 +145,15 @@ bool BaseTextDocument::isModified() const void BaseTextDocument::checkPermissions() { + bool previousReadOnly = m_fileIsReadOnly; if (!m_fileName.isEmpty()) { const QFileInfo fi(m_fileName); m_fileIsReadOnly = !fi.isWritable(); } else { m_fileIsReadOnly = false; } + if (previousReadOnly != m_fileIsReadOnly) + emit changed(); } bool BaseTextDocument::open(const QString &fileName) @@ -266,7 +269,7 @@ void BaseTextDocument::reload(ReloadFlag flag, ChangeType type) if (flag == FlagIgnore) return; if (type == TypePermissions) { - emit changed(); + checkPermissions(); } else { reload(); }