From ef46c31d354c6a144aa750fe7efe6058c569522f Mon Sep 17 00:00:00 2001 From: con <qtc-committer@nokia.com> Date: Thu, 8 Apr 2010 16:07:23 +0200 Subject: [PATCH] Fixes: External permission changes are not recognized Task-number: QTCREATORBUG-1077 --- src/plugins/bineditor/imageviewer.h | 2 -- src/plugins/coreplugin/filemanager.cpp | 1 + src/plugins/texteditor/basetextdocument.cpp | 5 ++++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/plugins/bineditor/imageviewer.h b/src/plugins/bineditor/imageviewer.h index edaa9d86d37..ac1c502dec7 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 6d7b7ae6eed..6ec36b5257b 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 2ab2fe9fbcc..d47e1a24415 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(); } -- GitLab