From f916d38dce14ac69dcb0b2338b94d91155d77892 Mon Sep 17 00:00:00 2001 From: Eike Ziller <eike.ziller@nokia.com> Date: Tue, 14 Feb 2012 12:10:29 +0100 Subject: [PATCH] Make IFile::isReadOnly consistent. It is supposed to refer to the property of the file on disk (if there is any). Task-number: QTCREATORBUG-4998 Change-Id: Iaed62c17d124b364aecec4d1f910046bade42d40 Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com> Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Eike Ziller <eike.ziller@nokia.com> --- .../autotoolsprojectfile.cpp | 5 -- .../autotoolsprojectfile.h | 1 - src/plugins/bineditor/bineditorplugin.cpp | 2 +- .../cmakeprojectmanager/cmakeproject.cpp | 5 -- .../cmakeprojectmanager/cmakeproject.h | 1 - .../editormanager/openeditorsmodel.cpp | 15 +++-- .../editormanager/openeditorswindow.cpp | 6 +- src/plugins/coreplugin/editortoolbar.cpp | 8 ++- src/plugins/coreplugin/filemanager.cpp | 8 +-- src/plugins/coreplugin/ifile.cpp | 8 +++ src/plugins/coreplugin/ifile.h | 2 +- src/plugins/designer/formwindowfile.cpp | 8 --- src/plugins/designer/formwindowfile.h | 1 - .../genericprojectmanager/genericproject.cpp | 5 -- .../genericprojectmanager/genericproject.h | 1 - src/plugins/imageviewer/imageviewerfile.cpp | 5 -- src/plugins/imageviewer/imageviewerfile.h | 1 - src/plugins/madde/maemoglobal.h | 1 - .../projectexplorer/projectexplorer.cpp | 10 +-- .../qmlprojectmanager/qmlprojectfile.cpp | 5 -- .../qmlprojectmanager/qmlprojectfile.h | 1 - src/plugins/qt4projectmanager/qt4nodes.cpp | 5 -- src/plugins/qt4projectmanager/qt4nodes.h | 1 - src/plugins/qt4projectmanager/qt4project.cpp | 7 -- .../resourceeditor/resourceeditorw.cpp | 9 --- src/plugins/resourceeditor/resourceeditorw.h | 1 - src/plugins/tasklist/taskfile.cpp | 5 -- src/plugins/tasklist/taskfile.h | 1 - src/plugins/texteditor/basetextdocument.cpp | 2 - src/plugins/vcsbase/submiteditorfile.h | 1 - src/plugins/vcsbase/vcsbase.pro | 2 - src/plugins/vcsbase/vcsbaseeditor.cpp | 14 +--- src/plugins/vcsbase/vcsbaseeditor.h | 1 - src/plugins/vcsbase/vcsbasetextdocument.cpp | 64 ------------------- src/plugins/vcsbase/vcsbasetextdocument.h | 62 ------------------ 35 files changed, 36 insertions(+), 238 deletions(-) delete mode 100644 src/plugins/vcsbase/vcsbasetextdocument.cpp delete mode 100644 src/plugins/vcsbase/vcsbasetextdocument.h diff --git a/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.cpp b/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.cpp index 48ca34ad144..f528f7438f0 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.cpp @@ -80,11 +80,6 @@ bool AutotoolsProjectFile::isModified() const return false; } -bool AutotoolsProjectFile::isReadOnly() const -{ - return true; -} - bool AutotoolsProjectFile::isSaveAsAllowed() const { return false; diff --git a/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.h b/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.h index 4bc6c1bb6a9..9f7750a11c0 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.h +++ b/src/plugins/autotoolsprojectmanager/autotoolsprojectfile.h @@ -65,7 +65,6 @@ public: QString suggestedFileName() const; QString mimeType() const; bool isModified() const; - bool isReadOnly() const; bool isSaveAsAllowed() const; bool reload(QString *errorString, ReloadFlag flag, ChangeType type); void rename(const QString &newName); diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp index 1625af74b6c..b646a0da99f 100644 --- a/src/plugins/bineditor/bineditorplugin.cpp +++ b/src/plugins/bineditor/bineditorplugin.cpp @@ -297,7 +297,7 @@ public: bool isModified() const { return m_editor->isMemoryView() ? false : m_editor->isModified(); } bool isReadOnly() const { - if (m_editor->isMemoryView()) + if (m_editor->isMemoryView() || m_fileName.isEmpty()) return false; const QFileInfo fi(m_fileName); return !fi.isWritable(); diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index f7ba1e50736..202a6dd1748 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -780,11 +780,6 @@ bool CMakeFile::isModified() const return false; } -bool CMakeFile::isReadOnly() const -{ - return true; -} - bool CMakeFile::isSaveAsAllowed() const { return false; diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.h b/src/plugins/cmakeprojectmanager/cmakeproject.h index bad6d3c2d0e..1fe60a1c1d3 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.h +++ b/src/plugins/cmakeprojectmanager/cmakeproject.h @@ -207,7 +207,6 @@ public: QString mimeType() const; bool isModified() const; - bool isReadOnly() const; bool isSaveAsAllowed() const; ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const; diff --git a/src/plugins/coreplugin/editormanager/openeditorsmodel.cpp b/src/plugins/coreplugin/editormanager/openeditorsmodel.cpp index 496fbe801c7..cdd6f36c917 100644 --- a/src/plugins/coreplugin/editormanager/openeditorsmodel.cpp +++ b/src/plugins/coreplugin/editormanager/openeditorsmodel.cpp @@ -311,12 +311,15 @@ QVariant OpenEditorsModel::data(const QModelIndex &index, int role) const : e.displayName(); case Qt::DecorationRole: { - bool readOnly = false; - if (e.editor) - readOnly = e.editor->file()->isReadOnly(); - else - readOnly = !QFileInfo(e.m_fileName).isWritable(); - return readOnly ? d->m_lockedIcon : QIcon(); + bool showLock = false; + if (e.editor) { + showLock = e.editor->file()->fileName().isEmpty() + ? false + : e.editor->file()->isReadOnly(); + } else { + showLock = !QFileInfo(e.m_fileName).isWritable(); + } + return showLock ? d->m_lockedIcon : QIcon(); } case Qt::ToolTipRole: return e.fileName().isEmpty() diff --git a/src/plugins/coreplugin/editormanager/openeditorswindow.cpp b/src/plugins/coreplugin/editormanager/openeditorswindow.cpp index bd71b76c670..d5074e440c8 100644 --- a/src/plugins/coreplugin/editormanager/openeditorswindow.cpp +++ b/src/plugins/coreplugin/editormanager/openeditorswindow.cpp @@ -213,7 +213,8 @@ void OpenEditorsWindow::setEditors(EditorView *mainView, EditorView *view, OpenE QTreeWidgetItem *item = new QTreeWidgetItem(); if (hi.file->isModified()) title += tr("*"); - item->setIcon(0, hi.file->isReadOnly() ? model->lockedIcon() : m_emptyIcon); + item->setIcon(0, !hi.file->fileName().isEmpty() && hi.file->isReadOnly() + ? model->lockedIcon() : m_emptyIcon); item->setText(0, title); item->setToolTip(0, hi.file->fileName()); item->setData(0, Qt::UserRole, QVariant::fromValue(hi.file.data())); @@ -240,7 +241,8 @@ void OpenEditorsWindow::setEditors(EditorView *mainView, EditorView *view, OpenE QString title = model->displayNameForFile(hi.file); if (hi.file->isModified()) title += tr("*"); - item->setIcon(0, hi.file->isReadOnly() ? model->lockedIcon() : m_emptyIcon); + item->setIcon(0, !hi.file->fileName().isEmpty() && hi.file->isReadOnly() + ? model->lockedIcon() : m_emptyIcon); item->setText(0, title); item->setToolTip(0, hi.file->fileName()); item->setData(0, Qt::UserRole, QVariant::fromValue(hi.file.data())); diff --git a/src/plugins/coreplugin/editortoolbar.cpp b/src/plugins/coreplugin/editortoolbar.cpp index 9c77a61305c..66fc23b3d2a 100644 --- a/src/plugins/coreplugin/editortoolbar.cpp +++ b/src/plugins/coreplugin/editortoolbar.cpp @@ -400,9 +400,13 @@ void EditorToolBar::updateEditorStatus(IEditor *editor) d->m_editorList->setCurrentIndex(d->m_editorsListModel->indexOf(editor).row()); - if (editor->file()->isReadOnly()) { + if (editor->file()->fileName().isEmpty()) { + d->m_lockButton->setIcon(QIcon()); + d->m_lockButton->setEnabled(false); + d->m_lockButton->setToolTip(QString()); + } else if (editor->file()->isReadOnly()) { d->m_lockButton->setIcon(QIcon(d->m_editorsListModel->lockedIcon())); - d->m_lockButton->setEnabled(!editor->file()->fileName().isEmpty()); + d->m_lockButton->setEnabled(true); d->m_lockButton->setToolTip(tr("Make Writable")); } else { d->m_lockButton->setIcon(QIcon(d->m_editorsListModel->unlockedIcon())); diff --git a/src/plugins/coreplugin/filemanager.cpp b/src/plugins/coreplugin/filemanager.cpp index 982d0c4d3c8..09791842983 100644 --- a/src/plugins/coreplugin/filemanager.cpp +++ b/src/plugins/coreplugin/filemanager.cpp @@ -607,10 +607,10 @@ static QList<IFile *> saveModifiedFilesHelper(const QList<IFile *> &files, if (name.isEmpty()) name = file->suggestedFileName(); - // There can be several FileInterfaces pointing to the same file - // Select one that is not readonly. - if (!(modifiedFilesMap.key(name, 0) - && file->isReadOnly())) + // There can be several IFiles pointing to the same file + // Prefer one that is not readonly + // (even though it *should* not happen that the IFiles are inconsistent with readonly) + if (!modifiedFilesMap.key(name, 0) || !file->isReadOnly()) modifiedFilesMap.insert(file, name); } } diff --git a/src/plugins/coreplugin/ifile.cpp b/src/plugins/coreplugin/ifile.cpp index 1badff46484..f88d0c60fdf 100644 --- a/src/plugins/coreplugin/ifile.cpp +++ b/src/plugins/coreplugin/ifile.cpp @@ -35,6 +35,7 @@ #include "infobar.h" #include <QtCore/QFile> +#include <QtCore/QFileInfo> namespace Core { @@ -66,6 +67,13 @@ bool IFile::shouldAutoSave() const return false; } +bool IFile::isReadOnly() const +{ + if (fileName().isEmpty()) + return false; + return !QFileInfo(fileName()).isWritable(); +} + bool IFile::autoSave(QString *errorString, const QString &fileName) { if (!save(errorString, fileName, true)) diff --git a/src/plugins/coreplugin/ifile.h b/src/plugins/coreplugin/ifile.h index 0d624196949..58baf35f59e 100644 --- a/src/plugins/coreplugin/ifile.h +++ b/src/plugins/coreplugin/ifile.h @@ -93,7 +93,7 @@ public: virtual bool shouldAutoSave() const; virtual bool isModified() const = 0; - virtual bool isReadOnly() const = 0; + virtual bool isReadOnly() const; virtual bool isSaveAsAllowed() const = 0; virtual ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const; diff --git a/src/plugins/designer/formwindowfile.cpp b/src/plugins/designer/formwindowfile.cpp index 6488438c255..3defd2c1a65 100644 --- a/src/plugins/designer/formwindowfile.cpp +++ b/src/plugins/designer/formwindowfile.cpp @@ -137,14 +137,6 @@ bool FormWindowFile::isModified() const return m_formWindow && m_formWindow->isDirty(); } -bool FormWindowFile::isReadOnly() const -{ - if (m_fileName.isEmpty()) - return false; - const QFileInfo fi(m_fileName); - return !fi.isWritable(); -} - bool FormWindowFile::isSaveAsAllowed() const { return true; diff --git a/src/plugins/designer/formwindowfile.h b/src/plugins/designer/formwindowfile.h index a85d8c5b4fa..eb58152884d 100644 --- a/src/plugins/designer/formwindowfile.h +++ b/src/plugins/designer/formwindowfile.h @@ -57,7 +57,6 @@ public: virtual QString fileName() const; virtual bool shouldAutoSave() const; virtual bool isModified() const; - virtual bool isReadOnly() const; virtual bool isSaveAsAllowed() const; bool reload(QString *errorString, ReloadFlag flag, ChangeType type); virtual QString defaultPath() const; diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index 0572678409d..2d0b53a5c42 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -639,11 +639,6 @@ bool GenericProjectFile::isModified() const return false; } -bool GenericProjectFile::isReadOnly() const -{ - return true; -} - bool GenericProjectFile::isSaveAsAllowed() const { return false; diff --git a/src/plugins/genericprojectmanager/genericproject.h b/src/plugins/genericprojectmanager/genericproject.h index 80df0d566a7..6e845f02e84 100644 --- a/src/plugins/genericprojectmanager/genericproject.h +++ b/src/plugins/genericprojectmanager/genericproject.h @@ -172,7 +172,6 @@ public: virtual QString mimeType() const; virtual bool isModified() const; - virtual bool isReadOnly() const; virtual bool isSaveAsAllowed() const; virtual void rename(const QString &newName); diff --git a/src/plugins/imageviewer/imageviewerfile.cpp b/src/plugins/imageviewer/imageviewerfile.cpp index b55a654842f..03cbc2e3f8a 100644 --- a/src/plugins/imageviewer/imageviewerfile.cpp +++ b/src/plugins/imageviewer/imageviewerfile.cpp @@ -116,11 +116,6 @@ bool ImageViewerFile::isModified() const return false; } -bool ImageViewerFile::isReadOnly() const -{ - return true; -} - bool ImageViewerFile::isSaveAsAllowed() const { return false; diff --git a/src/plugins/imageviewer/imageviewerfile.h b/src/plugins/imageviewer/imageviewerfile.h index fa4f08905dc..631e2bec86f 100644 --- a/src/plugins/imageviewer/imageviewerfile.h +++ b/src/plugins/imageviewer/imageviewerfile.h @@ -59,7 +59,6 @@ public: QString mimeType() const; bool isModified() const; - bool isReadOnly() const; bool isSaveAsAllowed() const; bool reload(QString *errorString, ReloadFlag flag, ChangeType type); diff --git a/src/plugins/madde/maemoglobal.h b/src/plugins/madde/maemoglobal.h index b46c2eb515d..5835e3f1bcc 100644 --- a/src/plugins/madde/maemoglobal.h +++ b/src/plugins/madde/maemoglobal.h @@ -69,7 +69,6 @@ public: QString suggestedFileName() const { return QString(); } QString mimeType() const { return QLatin1String("text/plain"); } bool isModified() const { return false; } - bool isReadOnly() const { return false; } bool isSaveAsAllowed() const { return false; } ReloadBehavior reloadBehavior(ChangeTrigger, ChangeType) const { return BehaviorSilent; } bool reload(QString *, ReloadFlag, ChangeType) { emit modified(); return true; } diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 717a9194652..cc6493560b4 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1078,16 +1078,8 @@ void ProjectExplorerPlugin::unloadProject() QList<Core::IFile*> filesToSave; filesToSave << fi; - - // check the number of modified files - int readonlycount = 0; - foreach (const Core::IFile *file, filesToSave) { - if (file->isReadOnly()) - ++readonlycount; - } - bool success = false; - if (readonlycount > 0) + if (fi->isReadOnly()) success = Core::FileManager::saveModifiedFiles(filesToSave).isEmpty(); else success = Core::FileManager::saveModifiedFilesSilently(filesToSave).isEmpty(); diff --git a/src/plugins/qmlprojectmanager/qmlprojectfile.cpp b/src/plugins/qmlprojectmanager/qmlprojectfile.cpp index d7aba905f84..af3ca30f86c 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectfile.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectfile.cpp @@ -88,11 +88,6 @@ bool QmlProjectFile::isModified() const return false; } -bool QmlProjectFile::isReadOnly() const -{ - return true; -} - bool QmlProjectFile::isSaveAsAllowed() const { return false; diff --git a/src/plugins/qmlprojectmanager/qmlprojectfile.h b/src/plugins/qmlprojectmanager/qmlprojectfile.h index 4e143edd169..deb117d9f05 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectfile.h +++ b/src/plugins/qmlprojectmanager/qmlprojectfile.h @@ -58,7 +58,6 @@ public: virtual QString mimeType() const; virtual bool isModified() const; - virtual bool isReadOnly() const; virtual bool isSaveAsAllowed() const; ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const; diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp index e20653d7989..ae95dffcce4 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.cpp +++ b/src/plugins/qt4projectmanager/qt4nodes.cpp @@ -211,11 +211,6 @@ bool Qt4PriFile::isModified() const return false; } -bool Qt4PriFile::isReadOnly() const -{ - return false; -} - bool Qt4PriFile::isSaveAsAllowed() const { return false; diff --git a/src/plugins/qt4projectmanager/qt4nodes.h b/src/plugins/qt4projectmanager/qt4nodes.h index eeeb52c8f9c..cb25e4e13cf 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.h +++ b/src/plugins/qt4projectmanager/qt4nodes.h @@ -230,7 +230,6 @@ public: virtual QString mimeType() const; virtual bool isModified() const; - virtual bool isReadOnly() const; virtual bool isSaveAsAllowed() const; ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const; diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 298a44bb35f..29d4fc2088c 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -97,7 +97,6 @@ public: virtual QString mimeType() const; bool isModified() const; - bool isReadOnly() const; bool isSaveAsAllowed() const; ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const; @@ -283,12 +282,6 @@ bool Qt4ProjectFile::isModified() const return false; // we save after changing anyway } -bool Qt4ProjectFile::isReadOnly() const -{ - QFileInfo fi(m_filePath); - return !fi.isWritable(); -} - bool Qt4ProjectFile::isSaveAsAllowed() const { return false; diff --git a/src/plugins/resourceeditor/resourceeditorw.cpp b/src/plugins/resourceeditor/resourceeditorw.cpp index 4dd9ea34c0e..97d02941f8a 100644 --- a/src/plugins/resourceeditor/resourceeditorw.cpp +++ b/src/plugins/resourceeditor/resourceeditorw.cpp @@ -218,15 +218,6 @@ bool ResourceEditorFile::isModified() const return m_parent->m_resourceEditor->isDirty(); } -bool ResourceEditorFile::isReadOnly() const -{ - const QString fileName = m_parent->m_resourceEditor->fileName(); - if (fileName.isEmpty()) - return false; - const QFileInfo fi(fileName); - return !fi.isWritable(); -} - bool ResourceEditorFile::isSaveAsAllowed() const { return true; diff --git a/src/plugins/resourceeditor/resourceeditorw.h b/src/plugins/resourceeditor/resourceeditorw.h index ac2cd0a5891..d84060c062c 100644 --- a/src/plugins/resourceeditor/resourceeditorw.h +++ b/src/plugins/resourceeditor/resourceeditorw.h @@ -65,7 +65,6 @@ public: QString fileName() const; bool shouldAutoSave() const; bool isModified() const; - bool isReadOnly() const; bool isSaveAsAllowed() const; bool reload(QString *errorString, ReloadFlag flag, ChangeType type); QString defaultPath() const; diff --git a/src/plugins/tasklist/taskfile.cpp b/src/plugins/tasklist/taskfile.cpp index b0d3edb4819..186dd5f9bda 100644 --- a/src/plugins/tasklist/taskfile.cpp +++ b/src/plugins/tasklist/taskfile.cpp @@ -81,11 +81,6 @@ bool TaskFile::isModified() const return false; } -bool TaskFile::isReadOnly() const -{ - return true; -} - bool TaskFile::isSaveAsAllowed() const { return false; diff --git a/src/plugins/tasklist/taskfile.h b/src/plugins/tasklist/taskfile.h index a4dcdf5aa2f..135e9e4bb1e 100644 --- a/src/plugins/tasklist/taskfile.h +++ b/src/plugins/tasklist/taskfile.h @@ -56,7 +56,6 @@ public: QString mimeType() const; bool isModified() const; - bool isReadOnly() const; bool isSaveAsAllowed() const; ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const; diff --git a/src/plugins/texteditor/basetextdocument.cpp b/src/plugins/texteditor/basetextdocument.cpp index 374f721472d..4f6f4c1c7d2 100644 --- a/src/plugins/texteditor/basetextdocument.cpp +++ b/src/plugins/texteditor/basetextdocument.cpp @@ -411,8 +411,6 @@ void BaseTextDocument::rename(const QString &newName) bool BaseTextDocument::isReadOnly() const { - if (hasDecodingError()) - return true; if (d->m_fileName.isEmpty()) //have no corresponding file, so editing is ok return false; return d->m_fileIsReadOnly; diff --git a/src/plugins/vcsbase/submiteditorfile.h b/src/plugins/vcsbase/submiteditorfile.h index 4a64b33c95a..6dd5ae35b46 100644 --- a/src/plugins/vcsbase/submiteditorfile.h +++ b/src/plugins/vcsbase/submiteditorfile.h @@ -51,7 +51,6 @@ public: bool isModified() const { return m_modified; } QString mimeType() const; - bool isReadOnly() const { return false; } bool isSaveAsAllowed() const { return false; } bool save(QString *errorString, const QString &fileName, bool autoSave); ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const; diff --git a/src/plugins/vcsbase/vcsbase.pro b/src/plugins/vcsbase/vcsbase.pro index e3446c627ba..5c377dc70e2 100644 --- a/src/plugins/vcsbase/vcsbase.pro +++ b/src/plugins/vcsbase/vcsbase.pro @@ -11,7 +11,6 @@ HEADERS += vcsbase_global.h \ vcsbaseplugin.h \ baseannotationhighlighter.h \ diffhighlighter.h \ - vcsbasetextdocument.h \ vcsbaseeditor.h \ vcsbasesubmiteditor.h \ basevcseditorfactory.h \ @@ -40,7 +39,6 @@ SOURCES += vcsplugin.cpp \ corelistener.cpp \ baseannotationhighlighter.cpp \ diffhighlighter.cpp \ - vcsbasetextdocument.cpp \ vcsbaseeditor.cpp \ vcsbasesubmiteditor.cpp \ basevcseditorfactory.cpp \ diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp index b669e5ee9ea..c3e688406d8 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.cpp +++ b/src/plugins/vcsbase/vcsbaseeditor.cpp @@ -33,7 +33,6 @@ #include "vcsbaseeditor.h" #include "diffhighlighter.h" #include "baseannotationhighlighter.h" -#include "vcsbasetextdocument.h" #include "vcsbaseconstants.h" #include "vcsbaseoutputwindow.h" #include "vcsbaseplugin.h" @@ -50,6 +49,7 @@ #include <projectexplorer/projectexplorer.h> #include <projectexplorer/project.h> #include <projectexplorer/session.h> +#include <texteditor/basetextdocument.h> #include <texteditor/basetextdocumentlayout.h> #include <texteditor/fontsettings.h> #include <texteditor/texteditorconstants.h> @@ -663,7 +663,6 @@ VcsBaseEditorWidget::VcsBaseEditorWidget(const VcsBaseEditorParameters *type, QW d(new Internal::VcsBaseEditorWidgetPrivate(this, type)) { viewport()->setMouseTracking(true); - setBaseTextDocument(new Internal::VcsBaseTextDocument); setMimeType(QLatin1String(d->m_parameters->mimeType)); } @@ -696,21 +695,12 @@ VcsBaseEditorWidget::~VcsBaseEditorWidget() void VcsBaseEditorWidget::setForceReadOnly(bool b) { - Internal::VcsBaseTextDocument *vbd = qobject_cast<Internal::VcsBaseTextDocument*>(baseTextDocument()); VcsBaseEditor *eda = qobject_cast<VcsBaseEditor *>(editor()); - QTC_ASSERT(vbd != 0 && eda != 0, return); + QTC_ASSERT(eda != 0, return); setReadOnly(b); - vbd->setForceReadOnly(b); eda->setTemporary(b); } -bool VcsBaseEditorWidget::isForceReadOnly() const -{ - const Internal::VcsBaseTextDocument *vbd = qobject_cast<const Internal::VcsBaseTextDocument*>(baseTextDocument()); - QTC_ASSERT(vbd, return false); - return vbd->isForceReadOnly(); -} - QString VcsBaseEditorWidget::source() const { return d->m_source; diff --git a/src/plugins/vcsbase/vcsbaseeditor.h b/src/plugins/vcsbase/vcsbaseeditor.h index 5148f95fd4f..b945b790fb1 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.h +++ b/src/plugins/vcsbase/vcsbaseeditor.h @@ -113,7 +113,6 @@ public: * by default since it should not trigger when patches are opened as * files. */ void setForceReadOnly(bool b); - bool isForceReadOnly() const; QString source() const; void setSource(const QString &source); diff --git a/src/plugins/vcsbase/vcsbasetextdocument.cpp b/src/plugins/vcsbase/vcsbasetextdocument.cpp deleted file mode 100644 index 59de1348848..00000000000 --- a/src/plugins/vcsbase/vcsbasetextdocument.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** -** GNU Lesser General Public License Usage -** -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this file. -** Please review the following information to ensure the GNU Lesser General -** Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** Other Usage -** -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -**************************************************************************/ - -#include "vcsbasetextdocument.h" - -using namespace VcsBase::Internal; - -VcsBaseTextDocument::VcsBaseTextDocument() : - m_forceReadOnly(false) -{ -} - -bool VcsBaseTextDocument::isReadOnly() const -{ - return m_forceReadOnly ? - true : - TextEditor::BaseTextDocument::isReadOnly(); -} - -bool VcsBaseTextDocument::isModified() const -{ - return m_forceReadOnly ? - false : - TextEditor::BaseTextDocument::isModified(); -} - -void VcsBaseTextDocument::setForceReadOnly(bool b) -{ - m_forceReadOnly = b; -} - -bool VcsBaseTextDocument::isForceReadOnly() const -{ - return m_forceReadOnly; -} diff --git a/src/plugins/vcsbase/vcsbasetextdocument.h b/src/plugins/vcsbase/vcsbasetextdocument.h deleted file mode 100644 index 7b27fb052d6..00000000000 --- a/src/plugins/vcsbase/vcsbasetextdocument.h +++ /dev/null @@ -1,62 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** -** GNU Lesser General Public License Usage -** -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this file. -** Please review the following information to ensure the GNU Lesser General -** Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** Other Usage -** -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -**************************************************************************/ - -#ifndef VCSBASETEXTDOCUMENT_H -#define VCSBASETEXTDOCUMENT_H - -#include <texteditor/basetextdocument.h> - -namespace VcsBase { -namespace Internal { - -// A read-only text document. -class VcsBaseTextDocument : public TextEditor::BaseTextDocument -{ - Q_OBJECT - -public: - VcsBaseTextDocument(); - - bool isReadOnly() const; - bool isModified() const; - - void setForceReadOnly(bool b); - bool isForceReadOnly() const; - -private: - bool m_forceReadOnly; -}; - -} // namespace Internal -} // namespace VcsBase - -#endif // VCSBASETEXTDOCUMENT_H -- GitLab