From 41b3b3e3b4b81b32f0865824be1530a5fdf4d329 Mon Sep 17 00:00:00 2001 From: dt <qtc-committer@nokia.com> Date: Mon, 18 May 2009 19:11:11 +0200 Subject: [PATCH] Fixes showing temporary files --- src/plugins/bineditor/bineditorplugin.cpp | 2 ++ src/plugins/coreplugin/editormanager/editormanager.cpp | 8 +++++--- src/plugins/coreplugin/editormanager/ieditor.h | 2 ++ src/plugins/cppeditor/cppeditor.h | 2 ++ src/plugins/designer/formwindoweditor.h | 1 + .../genericprojectmanager/genericprojectfileseditor.h | 2 ++ src/plugins/qt4projectmanager/profileeditor.h | 1 + src/plugins/qtscripteditor/qtscripteditor.h | 2 ++ src/plugins/resourceeditor/resourceeditorw.h | 1 + src/plugins/texteditor/plaintexteditor.h | 1 + src/plugins/vcsbase/vcsbaseeditor.cpp | 4 ++++ src/plugins/vcsbase/vcsbasesubmiteditor.h | 2 ++ 12 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp index 89674ba002b..e7bd806f662 100644 --- a/src/plugins/bineditor/bineditorplugin.cpp +++ b/src/plugins/bineditor/bineditorplugin.cpp @@ -278,6 +278,8 @@ public: QToolBar *toolBar() { return m_toolBar; } + bool temporayEditor() const { return false; } + signals: void changed(); diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 200d0ff626e..0efe9428efb 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -1010,7 +1010,9 @@ void EditorManager::addEditor(IEditor *editor, bool isDuplicate) m_d->m_editorModel->addEditor(editor, isDuplicate); if (!isDuplicate) { m_d->m_core->fileManager()->addFile(editor->file()); - m_d->m_core->fileManager()->addToRecentFiles(editor->file()->fileName()); + if (!editor->temporayEditor()) { + m_d->m_core->fileManager()->addToRecentFiles(editor->file()->fileName()); + } } m_d->m_editorHistory.removeAll(editor); @@ -1275,7 +1277,7 @@ bool EditorManager::saveFile(IEditor *editor) m_d->m_core->fileManager()->unblockFileChange(file); } - if (success) + if (success && !editor->temporayEditor()) m_d->m_core->fileManager()->addToRecentFiles(editor->file()->fileName()); return success; @@ -1370,7 +1372,7 @@ bool EditorManager::saveFileAs(IEditor *editor) m_d->m_core->fileManager()->unblockFileChange(editor->file()); editor->file()->checkPermissions(); - if (success) + if (success && !editor->temporayEditor()) m_d->m_core->fileManager()->addToRecentFiles(editor->file()->fileName()); updateActions(); diff --git a/src/plugins/coreplugin/editormanager/ieditor.h b/src/plugins/coreplugin/editormanager/ieditor.h index 789863cce39..159fc74263d 100644 --- a/src/plugins/coreplugin/editormanager/ieditor.h +++ b/src/plugins/coreplugin/editormanager/ieditor.h @@ -63,6 +63,8 @@ public: virtual int currentLine() const { return 0; } virtual int currentColumn() const { return 0; } + virtual bool temporayEditor() const = 0; + virtual QToolBar *toolBar() = 0; signals: diff --git a/src/plugins/cppeditor/cppeditor.h b/src/plugins/cppeditor/cppeditor.h index 526faff87a7..ed38bc594dc 100644 --- a/src/plugins/cppeditor/cppeditor.h +++ b/src/plugins/cppeditor/cppeditor.h @@ -69,6 +69,8 @@ public: Core::IEditor *duplicate(QWidget *parent); const char *kind() const; + bool temporayEditor() const { return false; } + private: QList<int> m_context; }; diff --git a/src/plugins/designer/formwindoweditor.h b/src/plugins/designer/formwindoweditor.h index d5727c9f8de..4a6a0758dbe 100644 --- a/src/plugins/designer/formwindoweditor.h +++ b/src/plugins/designer/formwindoweditor.h @@ -79,6 +79,7 @@ public: QToolBar *toolBar(); QByteArray saveState() const; bool restoreState(const QByteArray &state); + virtual bool temporayEditor() const { return false; } // ContextInterface virtual QList<int> context() const; diff --git a/src/plugins/genericprojectmanager/genericprojectfileseditor.h b/src/plugins/genericprojectmanager/genericprojectfileseditor.h index a3aed60f561..a3ed4b1cfb5 100644 --- a/src/plugins/genericprojectmanager/genericprojectfileseditor.h +++ b/src/plugins/genericprojectmanager/genericprojectfileseditor.h @@ -80,6 +80,8 @@ public: virtual bool duplicateSupported() const; virtual Core::IEditor *duplicate(QWidget *parent); + virtual bool temporayEditor() const { return false; } + private: QList<int> m_context; }; diff --git a/src/plugins/qt4projectmanager/profileeditor.h b/src/plugins/qt4projectmanager/profileeditor.h index ba7c70b734c..796236726d0 100644 --- a/src/plugins/qt4projectmanager/profileeditor.h +++ b/src/plugins/qt4projectmanager/profileeditor.h @@ -62,6 +62,7 @@ public: bool duplicateSupported() const { return true; } Core::IEditor *duplicate(QWidget *parent); const char *kind() const; + bool temporayEditor() const { return false; } private: QList<int> m_context; }; diff --git a/src/plugins/qtscripteditor/qtscripteditor.h b/src/plugins/qtscripteditor/qtscripteditor.h index 8042185796b..3f6f904d18b 100644 --- a/src/plugins/qtscripteditor/qtscripteditor.h +++ b/src/plugins/qtscripteditor/qtscripteditor.h @@ -58,6 +58,8 @@ public: Core::IEditor *duplicate(QWidget *parent); const char *kind() const; + bool temporayEditor() const { return false; } + private: QList<int> m_context; }; diff --git a/src/plugins/resourceeditor/resourceeditorw.h b/src/plugins/resourceeditor/resourceeditorw.h index de341d90c2c..fe411da4efd 100644 --- a/src/plugins/resourceeditor/resourceeditorw.h +++ b/src/plugins/resourceeditor/resourceeditorw.h @@ -105,6 +105,7 @@ public: QWidget *widget(); void setSuggestedFileName(const QString &fileName); + bool temporayEditor() const { return false; } private slots: void dirtyChanged(bool); diff --git a/src/plugins/texteditor/plaintexteditor.h b/src/plugins/texteditor/plaintexteditor.h index 8271d1fc37a..1a225318a25 100644 --- a/src/plugins/texteditor/plaintexteditor.h +++ b/src/plugins/texteditor/plaintexteditor.h @@ -47,6 +47,7 @@ public: bool duplicateSupported() const { return true; } Core::IEditor *duplicate(QWidget *parent); const char *kind() const; + bool temporayEditor() const { return false; } private: QList<int> m_context; }; diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp index 3675999266e..5ed80e5db79 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.cpp +++ b/src/plugins/vcsbase/vcsbaseeditor.cpp @@ -75,6 +75,8 @@ public: Core::IEditor *duplicate(QWidget * /*parent*/) { return 0; } const char *kind() const { return m_kind; } + bool temporayEditor() const { return true; } + private: const char *m_kind; QList<int> m_context; @@ -104,6 +106,8 @@ public: virtual QToolBar *toolBar() { return m_toolBar; } QComboBox *diffFileBrowseComboBox() const { return m_diffFileBrowseComboBox; } + bool temporayEditor() const { return true; } + private: QComboBox *m_diffFileBrowseComboBox; QToolBar *m_toolBar; diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.h b/src/plugins/vcsbase/vcsbasesubmiteditor.h index 3cd2e62bcba..81b3c246281 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.h +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.h @@ -159,6 +159,8 @@ public: // be restricted to them static QStringList currentProjectFiles(bool nativeSeparators, QString *name = 0); + bool temporayEditor() const { return true; } + signals: void diffSelectedFiles(const QStringList &files); -- GitLab