From 70d392d23515e9fc4c5a64897fd4c295d3f17817 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 13 Apr 2011 13:00:30 +0200 Subject: [PATCH] core: make context and widget IContext data members --- src/plugins/analyzerbase/analyzermanager.cpp | 18 +++---- src/plugins/bineditor/bineditorplugin.cpp | 6 +-- src/plugins/bookmarks/bookmarkmanager.cpp | 18 ++----- src/plugins/bookmarks/bookmarkmanager.h | 7 +-- .../cmakeprojectmanager/cmakeeditor.cpp | 18 ++----- src/plugins/cmakeprojectmanager/cmakeeditor.h | 6 +-- src/plugins/coreplugin/designmode.cpp | 14 ++---- src/plugins/coreplugin/designmode.h | 4 -- src/plugins/coreplugin/editmode.cpp | 18 ++----- src/plugins/coreplugin/editmode.h | 2 - src/plugins/coreplugin/icontext.h | 33 ++++++------ src/plugins/coreplugin/statusbarwidget.cpp | 27 +--------- src/plugins/coreplugin/statusbarwidget.h | 7 --- src/plugins/cppeditor/cppeditor.cpp | 5 -- src/plugins/cppeditor/cppeditor.h | 4 -- src/plugins/debugger/debuggerplugin.cpp | 33 ++++++------ src/plugins/designer/designercontext.cpp | 21 ++------ src/plugins/designer/designercontext.h | 6 --- src/plugins/designer/formwindoweditor.cpp | 29 +++-------- src/plugins/designer/formwindoweditor.h | 4 -- .../genericprojectfileseditor.cpp | 15 +----- .../genericprojectfileseditor.h | 8 --- src/plugins/glsleditor/glsleditor.cpp | 5 -- src/plugins/glsleditor/glsleditor.h | 2 - src/plugins/glsleditor/glsleditoreditable.cpp | 4 +- src/plugins/glsleditor/glsleditoreditable.h | 6 +-- src/plugins/helloworld/helloworldplugin.cpp | 11 ++-- src/plugins/help/helpmode.cpp | 7 +-- src/plugins/help/helpmode.h | 3 -- src/plugins/imageviewer/imageviewer.cpp | 19 ++----- src/plugins/imageviewer/imageviewer.h | 3 -- .../projectexplorer/projectexplorer.cpp | 9 ++-- .../projectexplorer/projecttreewidget.cpp | 6 +-- src/plugins/projectexplorer/taskwindow.cpp | 22 ++------ src/plugins/qmldesigner/designmodecontext.cpp | 50 ++++--------------- src/plugins/qmldesigner/designmodecontext.h | 32 +----------- src/plugins/qmljseditor/qmljseditor.cpp | 5 -- src/plugins/qmljseditor/qmljseditoreditable.h | 5 -- .../qt4projectmanager/profileeditor.cpp | 15 ++---- src/plugins/qt4projectmanager/profileeditor.h | 5 -- .../resourceeditor/resourceeditorfactory.cpp | 4 +- .../resourceeditor/resourceeditorfactory.h | 2 - .../resourceeditor/resourceeditorw.cpp | 11 ++-- src/plugins/resourceeditor/resourceeditorw.h | 5 -- src/plugins/texteditor/basetexteditor.cpp | 1 + src/plugins/texteditor/basetexteditor.h | 2 +- src/plugins/texteditor/plaintexteditor.cpp | 13 ++--- src/plugins/texteditor/plaintexteditor.h | 5 -- .../texteditor/snippets/snippeteditor.cpp | 15 ++---- .../texteditor/snippets/snippeteditor.h | 7 --- src/plugins/vcsbase/vcsbaseeditor.cpp | 12 +---- src/plugins/vcsbase/vcsbasesubmiteditor.cpp | 17 ++----- src/plugins/vcsbase/vcsbasesubmiteditor.h | 2 - src/plugins/welcome/welcomemode.cpp | 14 ++---- src/plugins/welcome/welcomemode.h | 3 -- 55 files changed, 135 insertions(+), 490 deletions(-) diff --git a/src/plugins/analyzerbase/analyzermanager.cpp b/src/plugins/analyzerbase/analyzermanager.cpp index 7d1d89fe7b5..81aaecfc338 100644 --- a/src/plugins/analyzerbase/analyzermanager.cpp +++ b/src/plugins/analyzerbase/analyzermanager.cpp @@ -143,8 +143,12 @@ class AnalyzerMode : public Core::IMode public: AnalyzerMode(QObject *parent = 0) : Core::IMode(parent) - , m_widget(0) - {} + { + setContext(Core::Context( + Core::Constants::C_EDITORMANAGER, + Constants::C_ANALYZEMODE, + Core::Constants::C_NAVIGATION_PANE)); + } ~AnalyzerMode() { @@ -159,19 +163,9 @@ public: QString displayName() const { return tr("Analyze"); } QIcon icon() const { return QIcon(":/images/analyzer_mode.png"); } int priority() const { return Constants::P_MODE_ANALYZE; } - QWidget *widget() { return m_widget; } QString id() const { return QLatin1String(Constants::MODE_ANALYZE); } QString type() const { return Core::Constants::MODE_EDIT_TYPE; } - Core::Context context() const - { - return Core::Context(Core::Constants::C_EDITORMANAGER, Constants::C_ANALYZEMODE, - Core::Constants::C_NAVIGATION_PANE); - } QString contextHelpId() const { return QString(); } - void setWidget(QWidget *widget) { m_widget = widget; } - -private: - QWidget *m_widget; }; } // namespace Internal diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp index 59fe6d3aecf..1048249b965 100644 --- a/src/plugins/bineditor/bineditorplugin.cpp +++ b/src/plugins/bineditor/bineditorplugin.cpp @@ -318,6 +318,7 @@ class BinEditorInterface : public Core::IEditor public: BinEditorInterface(BinEditor *editor) { + setWidget(editor); m_editor = editor; m_file = new BinEditorFile(m_editor); m_context.add(Core::Constants::K_DEFAULT_BINARY_EDITOR_ID); @@ -351,10 +352,6 @@ public: delete m_editor; } - QWidget *widget() { return m_editor; } - - Core::Context context() const { return m_context; } - bool createNew(const QString & /* contents */ = QString()) { m_editor->clear(); m_file->setFilename(QString()); @@ -392,7 +389,6 @@ private: BinEditor *m_editor; QString m_displayName; BinEditorFile *m_file; - Core::Context m_context; QToolBar *m_toolBar; QLineEdit *m_addressEdit; }; diff --git a/src/plugins/bookmarks/bookmarkmanager.cpp b/src/plugins/bookmarks/bookmarkmanager.cpp index 9630d589655..b6357a28e25 100644 --- a/src/plugins/bookmarks/bookmarkmanager.cpp +++ b/src/plugins/bookmarks/bookmarkmanager.cpp @@ -300,21 +300,11 @@ void BookmarkView::gotoBookmark(const QModelIndex &index) // BookmarkContext //// -BookmarkContext::BookmarkContext(BookmarkView *widget) - : Core::IContext(widget), - m_bookmarkView(widget), - m_context(Constants::BOOKMARKS_CONTEXT) +BookmarkContext::BookmarkContext(QWidget *widget) + : Core::IContext(widget) { -} - -Context BookmarkContext::context() const -{ - return m_context; -} - -QWidget *BookmarkContext::widget() -{ - return m_bookmarkView; + setWidget(widget); + setContext(Core::Context(Constants::BOOKMARKS_CONTEXT)); } //// diff --git a/src/plugins/bookmarks/bookmarkmanager.h b/src/plugins/bookmarks/bookmarkmanager.h index a9052a939a8..d82cda61196 100644 --- a/src/plugins/bookmarks/bookmarkmanager.h +++ b/src/plugins/bookmarks/bookmarkmanager.h @@ -164,12 +164,7 @@ private: class BookmarkContext : public Core::IContext { public: - BookmarkContext(BookmarkView *widget); - virtual Core::Context context() const; - virtual QWidget *widget(); -private: - BookmarkView *m_bookmarkView; - const Core::Context m_context; + BookmarkContext(QWidget *widget); }; class BookmarkViewFactory : public Core::INavigationWidgetFactory diff --git a/src/plugins/cmakeprojectmanager/cmakeeditor.cpp b/src/plugins/cmakeprojectmanager/cmakeeditor.cpp index a69fcb3ded7..6c9b09d78c3 100644 --- a/src/plugins/cmakeprojectmanager/cmakeeditor.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeeditor.cpp @@ -55,17 +55,11 @@ using namespace CMakeProjectManager::Internal; // CMakeEditor::CMakeEditor(CMakeEditorWidget *editor) - : BaseTextEditor(editor), - m_context(CMakeProjectManager::Constants::C_CMAKEEDITOR, - TextEditor::Constants::C_TEXTEDITOR) + : BaseTextEditor(editor) { - connect (this, SIGNAL(changed()), - this, SLOT(markAsChanged())); -} - -Core::Context CMakeEditor::context() const -{ - return m_context; + setContext(Core::Context(CMakeProjectManager::Constants::C_CMAKEEDITOR, + TextEditor::Constants::C_TEXTEDITOR)); + connect(this, SIGNAL(changed()), this, SLOT(markAsChanged())); } Core::IEditor *CMakeEditor::duplicate(QWidget *parent) @@ -122,10 +116,6 @@ CMakeEditorWidget::CMakeEditorWidget(QWidget *parent, CMakeEditorFactory *factor baseTextDocument()->setSyntaxHighlighter(new CMakeHighlighter); } -CMakeEditorWidget::~CMakeEditorWidget() -{ -} - TextEditor::BaseTextEditor *CMakeEditorWidget::createEditor() { return new CMakeEditor(this); diff --git a/src/plugins/cmakeprojectmanager/cmakeeditor.h b/src/plugins/cmakeprojectmanager/cmakeeditor.h index 2ce08908df0..948f617d0fb 100644 --- a/src/plugins/cmakeprojectmanager/cmakeeditor.h +++ b/src/plugins/cmakeprojectmanager/cmakeeditor.h @@ -54,19 +54,18 @@ class CMakeManager; class CMakeEditor : public TextEditor::BaseTextEditor { Q_OBJECT + public: CMakeEditor(CMakeEditorWidget *); - Core::Context context() const; bool duplicateSupported() const { return true; } Core::IEditor *duplicate(QWidget *parent); QString id() const; bool isTemporary() const { return false; } + private slots: void markAsChanged(); void build(); -private: - const Core::Context m_context; }; class CMakeEditorWidget : public TextEditor::BaseTextEditorWidget @@ -75,7 +74,6 @@ class CMakeEditorWidget : public TextEditor::BaseTextEditorWidget public: CMakeEditorWidget(QWidget *parent, CMakeEditorFactory *factory, TextEditor::TextEditorActionHandler *ah); - ~CMakeEditorWidget(); bool save(const QString &fileName = QString()); diff --git a/src/plugins/coreplugin/designmode.cpp b/src/plugins/coreplugin/designmode.cpp index 6f632e51b49..23d0d5d2676 100644 --- a/src/plugins/coreplugin/designmode.cpp +++ b/src/plugins/coreplugin/designmode.cpp @@ -120,6 +120,9 @@ DesignMode::DesignMode(EditorManager *editorManager) : { setObjectName(QLatin1String("DesignMode")); setEnabled(false); + setContext(Context(Constants::C_DESIGN_MODE)); + setWidget(d->m_stackWidget); + ExtensionSystem::PluginManager::instance()->addObject(d->m_coreListener); connect(editorManager, SIGNAL(currentEditorChanged(Core::IEditor*)), @@ -138,17 +141,6 @@ DesignMode::~DesignMode() delete d; } -Context DesignMode::context() const -{ - static Context contexts(Constants::C_DESIGN_MODE); - return contexts; -} - -QWidget *DesignMode::widget() -{ - return d->m_stackWidget; -} - QString DesignMode::displayName() const { return tr("Design"); diff --git a/src/plugins/coreplugin/designmode.h b/src/plugins/coreplugin/designmode.h index f5a0592bc3a..acc9242e099 100644 --- a/src/plugins/coreplugin/designmode.h +++ b/src/plugins/coreplugin/designmode.h @@ -68,10 +68,6 @@ public: QStringList registeredMimeTypes() const; - // IContext - Context context() const; - QWidget *widget(); - // IMode QString displayName() const; QIcon icon() const; diff --git a/src/plugins/coreplugin/editmode.cpp b/src/plugins/coreplugin/editmode.cpp index a8878012af7..f030a94bc93 100644 --- a/src/plugins/coreplugin/editmode.cpp +++ b/src/plugins/coreplugin/editmode.cpp @@ -88,6 +88,11 @@ EditMode::EditMode(EditorManager *editorManager) : connect(modeManager, SIGNAL(currentModeChanged(Core::IMode*)), this, SLOT(grabEditorManager(Core::IMode*))); m_splitter->setFocusProxy(m_editorManager); + + setWidget(m_splitter); + setContext(Context(Constants::C_EDIT_MODE, + Constants::C_EDITORMANAGER, + Constants::C_NAVIGATION_PANE)); } EditMode::~EditMode() @@ -112,11 +117,6 @@ int EditMode::priority() const return Constants::P_MODE_EDIT; } -QWidget* EditMode::widget() -{ - return m_splitter; -} - QString EditMode::id() const { return QLatin1String(Constants::MODE_EDIT); @@ -127,14 +127,6 @@ QString EditMode::type() const return QLatin1String(Constants::MODE_EDIT_TYPE); } -Context EditMode::context() const -{ - static Context contexts(Constants::C_EDIT_MODE, - Constants::C_EDITORMANAGER, - Constants::C_NAVIGATION_PANE); - return contexts; -} - void EditMode::grabEditorManager(Core::IMode *mode) { if (mode != this) diff --git a/src/plugins/coreplugin/editmode.h b/src/plugins/coreplugin/editmode.h index 38550207178..b1da166705f 100644 --- a/src/plugins/coreplugin/editmode.h +++ b/src/plugins/coreplugin/editmode.h @@ -60,10 +60,8 @@ public: QString displayName() const; QIcon icon() const; int priority() const; - QWidget* widget(); QString id() const; QString type() const; - Context context() const; private slots: void grabEditorManager(Core::IMode *mode); diff --git a/src/plugins/coreplugin/icontext.h b/src/plugins/coreplugin/icontext.h index f4559f1a20c..82fc88c2fbc 100644 --- a/src/plugins/coreplugin/icontext.h +++ b/src/plugins/coreplugin/icontext.h @@ -38,10 +38,8 @@ #include #include - -QT_BEGIN_NAMESPACE -class QWidget; -QT_END_NAMESPACE +#include +#include namespace Core { @@ -80,31 +78,28 @@ class CORE_EXPORT IContext : public QObject { Q_OBJECT public: - IContext(QObject *parent = 0) : QObject(parent) {} - virtual ~IContext() {} + IContext(QObject *parent = 0) : QObject(parent), m_widget(0) {} - virtual Context context() const = 0; - virtual QWidget *widget() = 0; + virtual Context context() const { return m_context; } + virtual QWidget *widget() const { return m_widget; } virtual QString contextHelpId() const { return QString(); } + + virtual void setContext(const Context &context) { m_context = context; } + virtual void setWidget(QWidget *widget) { m_widget = widget; } +protected: + Context m_context; + QPointer m_widget; }; class BaseContext : public Core::IContext { public: BaseContext(QWidget *widget, const Context &context, QObject *parent = 0) - : Core::IContext(parent), - m_widget(widget), - m_context(context) + : Core::IContext(parent) { + setWidget(widget); + setContext(context); } - - Context context() const { return m_context; } - - QWidget *widget() { return m_widget; } - -private: - QWidget *m_widget; - Context m_context; }; } // namespace Core diff --git a/src/plugins/coreplugin/statusbarwidget.cpp b/src/plugins/coreplugin/statusbarwidget.cpp index bb5e334a80e..571445f34d2 100644 --- a/src/plugins/coreplugin/statusbarwidget.cpp +++ b/src/plugins/coreplugin/statusbarwidget.cpp @@ -38,10 +38,7 @@ using namespace Core; StatusBarWidget::StatusBarWidget(QObject *parent) - : IContext(parent), - m_widget(0), - m_context(), - m_defaultPosition(StatusBarWidget::First) + : IContext(parent), m_defaultPosition(StatusBarWidget::First) { } @@ -50,33 +47,11 @@ StatusBarWidget::~StatusBarWidget() delete m_widget; } -Context StatusBarWidget::context() const -{ - return m_context; -} - -QWidget *StatusBarWidget::widget() -{ - return m_widget; -} - StatusBarWidget::StatusBarPosition StatusBarWidget::position() const { return m_defaultPosition; } -QWidget *StatusBarWidget::setWidget(QWidget *widget) -{ - QWidget *oldWidget = m_widget; - m_widget = widget; - return oldWidget; -} - -void StatusBarWidget::setContext(const Context &context) -{ - m_context = context; -} - void StatusBarWidget::setPosition(StatusBarWidget::StatusBarPosition position) { m_defaultPosition = position; diff --git a/src/plugins/coreplugin/statusbarwidget.h b/src/plugins/coreplugin/statusbarwidget.h index 213e75f86e0..8c73f665b1b 100644 --- a/src/plugins/coreplugin/statusbarwidget.h +++ b/src/plugins/coreplugin/statusbarwidget.h @@ -50,17 +50,10 @@ public: StatusBarWidget(QObject *parent = 0); ~StatusBarWidget(); - Context context() const; - QWidget *widget(); StatusBarWidget::StatusBarPosition position() const; - - QWidget *setWidget(QWidget *widget); - void setContext(const Context &context); void setPosition(StatusBarWidget::StatusBarPosition position); private: - QPointer m_widget; - Context m_context; StatusBarWidget::StatusBarPosition m_defaultPosition; }; diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index 0a1e1969c20..c94e3af1fb7 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -1775,11 +1775,6 @@ void CPPEditorWidget::keyPressEvent(QKeyEvent *e) finishRename(); } -Core::Context CPPEditor::context() const -{ - return m_context; -} - Core::IEditor *CPPEditor::duplicate(QWidget *parent) { CPPEditorWidget *newEditor = new CPPEditorWidget(parent); diff --git a/src/plugins/cppeditor/cppeditor.h b/src/plugins/cppeditor/cppeditor.h index 11634168fd8..237a75aa005 100644 --- a/src/plugins/cppeditor/cppeditor.h +++ b/src/plugins/cppeditor/cppeditor.h @@ -147,7 +147,6 @@ class CPPEditor : public TextEditor::BaseTextEditor Q_OBJECT public: CPPEditor(CPPEditorWidget *); - Core::Context context() const; bool duplicateSupported() const { return true; } Core::IEditor *duplicate(QWidget *parent); @@ -155,9 +154,6 @@ public: bool isTemporary() const { return false; } virtual bool open(const QString & fileName); - -private: - Core::Context m_context; }; class CPPEditorWidget : public TextEditor::BaseTextEditorWidget diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index b447a7c062e..acd660fa4c7 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -495,7 +495,11 @@ public: class DebugMode : public IMode { public: - DebugMode() : m_widget(0) { setObjectName(QLatin1String("DebugMode")); } + DebugMode() + { + setObjectName(QLatin1String("DebugMode")); + setContext(Context(CC::C_EDITORMANAGER, C_DEBUGMODE, CC::C_NAVIGATION_PANE)); + } ~DebugMode() { @@ -504,18 +508,18 @@ public: delete m_widget; } + void setWidget(QWidget *widget) + { + m_widget = widget; + } + // IMode QString displayName() const { return DebuggerPlugin::tr("Debug"); } QIcon icon() const { return QIcon(__(":/fancyactionbar/images/mode_Debug.png")); } int priority() const { return P_MODE_DEBUG; } - QWidget *widget(); QString id() const { return MODE_DEBUG; } QString type() const { return CC::MODE_EDIT_TYPE; } - Context context() const - { return Context(CC::C_EDITORMANAGER, C_DEBUGMODE, CC::C_NAVIGATION_PANE); } QString contextHelpId() const { return QString(); } -private: - QWidget *m_widget; }; @@ -2942,7 +2946,12 @@ void DebuggerPluginPrivate::extensionsInitialized() // Debug mode setup - m_plugin->addAutoReleasedObject(new DebugMode); + DebugMode *debugMode = new DebugMode; + QWidget *widget = m_mainWindow->createContents(debugMode); + widget->setFocusProxy(EditorManager::instance()); + debugMode->setWidget(widget); + + m_plugin->addAutoReleasedObject(debugMode); // // Connections @@ -3157,16 +3166,6 @@ QAction *DebuggerPlugin::visibleDebugAction() return theDebuggerCore->m_visibleDebugAction; } -QWidget *DebugMode::widget() -{ - if (!m_widget) { - //qDebug() << "CREATING DEBUG MODE WIDGET"; - m_widget = theDebuggerCore->m_mainWindow->createContents(this); - m_widget->setFocusProxy(EditorManager::instance()); - } - return m_widget; -} - } // namespace Debugger #include "debuggerplugin.moc" diff --git a/src/plugins/designer/designercontext.cpp b/src/plugins/designer/designercontext.cpp index 22be144dedd..017843b8728 100644 --- a/src/plugins/designer/designercontext.cpp +++ b/src/plugins/designer/designercontext.cpp @@ -47,23 +47,12 @@ enum { debug = 0 }; namespace Designer { namespace Internal { -DesignerContext::DesignerContext(const Core::Context &contexts, - QWidget *widget, - QObject *parent) : - Core::IContext(parent), - m_context(contexts), - m_widget(widget) +DesignerContext::DesignerContext(const Core::Context &context, + QWidget *widget, QObject *parent) + : Core::IContext(parent) { -} - -Core::Context DesignerContext::context() const -{ - return m_context; -} - -QWidget *DesignerContext::widget() -{ - return m_widget; + setContext(context); + setWidget(widget); } QString DesignerContext::contextHelpId() const diff --git a/src/plugins/designer/designercontext.h b/src/plugins/designer/designercontext.h index 73b168c0216..2055512f105 100644 --- a/src/plugins/designer/designercontext.h +++ b/src/plugins/designer/designercontext.h @@ -53,13 +53,7 @@ public: QWidget *widget, QObject *parent = 0); - virtual Core::Context context() const; - virtual QWidget *widget(); virtual QString contextHelpId() const; - -private: - const Core::Context m_context; - QWidget *m_widget; }; } // namespace Internal diff --git a/src/plugins/designer/formwindoweditor.cpp b/src/plugins/designer/formwindoweditor.cpp index c29ddf3da7c..eb282446b5d 100644 --- a/src/plugins/designer/formwindoweditor.cpp +++ b/src/plugins/designer/formwindoweditor.cpp @@ -59,28 +59,25 @@ namespace Designer { struct FormWindowEditorPrivate { - explicit FormWindowEditorPrivate(Internal::DesignerXmlEditor *editor, - QDesignerFormWindowInterface *form); + FormWindowEditorPrivate(Internal::DesignerXmlEditor *editor, + QDesignerFormWindowInterface *form) + : m_textEditor(editor), m_file(form) + {} TextEditor::PlainTextEditor m_textEditor; Internal::FormWindowFile m_file; - Core::Context m_context; }; -FormWindowEditorPrivate::FormWindowEditorPrivate(Internal::DesignerXmlEditor *editor, - QDesignerFormWindowInterface *form) : - m_textEditor(editor), m_file(form) -{ -} - FormWindowEditor::FormWindowEditor(Internal::DesignerXmlEditor *editor, QDesignerFormWindowInterface *form, QObject *parent) : Core::IEditor(parent), d(new FormWindowEditorPrivate(editor, form)) { - d->m_context.add(Designer::Constants::K_DESIGNER_XML_EDITOR_ID); - d->m_context.add(Designer::Constants::C_DESIGNER_XML_EDITOR); + setContext(Core::Context(Designer::Constants::K_DESIGNER_XML_EDITOR_ID, + Designer::Constants::C_DESIGNER_XML_EDITOR)); + setWidget(d->m_textEditor.widget()); + connect(form, SIGNAL(changed()), this, SIGNAL(changed())); // Revert to saved/load externally modified files. connect(&d->m_file, SIGNAL(reload(QString)), this, SLOT(slotOpen(QString))); @@ -239,16 +236,6 @@ bool FormWindowEditor::restoreState(const QByteArray &state) return d->m_textEditor.restoreState(state); } -Core::Context FormWindowEditor::context() const -{ - return d->m_context; -} - -QWidget *FormWindowEditor::widget() -{ - return d->m_textEditor.widget(); -} - bool FormWindowEditor::isTemporary() const { return false; diff --git a/src/plugins/designer/formwindoweditor.h b/src/plugins/designer/formwindoweditor.h index 5189028e258..4731c00c2c7 100644 --- a/src/plugins/designer/formwindoweditor.h +++ b/src/plugins/designer/formwindoweditor.h @@ -94,10 +94,6 @@ public: virtual QString preferredModeType() const; - // IContext - virtual Core::Context context() const; - virtual QWidget *widget(); - // For uic code model support QString contents() const; diff --git a/src/plugins/genericprojectmanager/genericprojectfileseditor.cpp b/src/plugins/genericprojectmanager/genericprojectfileseditor.cpp index 9561547d04a..7dab99290f5 100644 --- a/src/plugins/genericprojectmanager/genericprojectfileseditor.cpp +++ b/src/plugins/genericprojectmanager/genericprojectfileseditor.cpp @@ -59,10 +59,6 @@ ProjectFilesFactory::ProjectFilesFactory(Manager *manager, m_mimeTypes.append(QLatin1String(Constants::CONFIG_MIMETYPE)); } -ProjectFilesFactory::~ProjectFilesFactory() -{ -} - Manager *ProjectFilesFactory::manager() const { return m_manager; @@ -105,16 +101,9 @@ Core::IFile *ProjectFilesFactory::open(const QString &fileName) //////////////////////////////////////////////////////////////////////////////////////// ProjectFilesEditor::ProjectFilesEditor(ProjectFilesEditorWidget *editor) - : TextEditor::BaseTextEditor(editor), - m_context(Constants::C_FILESEDITOR) -{ } - -ProjectFilesEditor::~ProjectFilesEditor() -{ } - -Core::Context ProjectFilesEditor::context() const + : TextEditor::BaseTextEditor(editor) { - return m_context; + setContext(Core::Context(Constants::C_FILESEDITOR)); } QString ProjectFilesEditor::id() const diff --git a/src/plugins/genericprojectmanager/genericprojectfileseditor.h b/src/plugins/genericprojectmanager/genericprojectfileseditor.h index f4737413c59..0f15bebae17 100644 --- a/src/plugins/genericprojectmanager/genericprojectfileseditor.h +++ b/src/plugins/genericprojectmanager/genericprojectfileseditor.h @@ -58,7 +58,6 @@ class ProjectFilesFactory: public Core::IEditorFactory public: ProjectFilesFactory(Manager *manager, TextEditor::TextEditorActionHandler *handler); - virtual ~ProjectFilesFactory(); Manager *manager() const; @@ -81,18 +80,11 @@ class ProjectFilesEditor : public TextEditor::BaseTextEditor public: ProjectFilesEditor(ProjectFilesEditorWidget *editorWidget); - virtual ~ProjectFilesEditor(); - virtual Core::Context context() const; virtual QString id() const; - virtual bool duplicateSupported() const; virtual Core::IEditor *duplicate(QWidget *parent); - virtual bool isTemporary() const { return false; } - -private: - Core::Context m_context; }; class ProjectFilesEditorWidget : public TextEditor::BaseTextEditorWidget diff --git a/src/plugins/glsleditor/glsleditor.cpp b/src/plugins/glsleditor/glsleditor.cpp index 79e5a112043..b66036221eb 100644 --- a/src/plugins/glsleditor/glsleditor.cpp +++ b/src/plugins/glsleditor/glsleditor.cpp @@ -213,11 +213,6 @@ bool GLSLEditorEditable::open(const QString &fileName) return b; } -Core::Context GLSLEditorEditable::context() const -{ - return m_context; -} - void GLSLTextEditorWidget::setFontSettings(const TextEditor::FontSettings &fs) { TextEditor::BaseTextEditorWidget::setFontSettings(fs); diff --git a/src/plugins/glsleditor/glsleditor.h b/src/plugins/glsleditor/glsleditor.h index f50821a4d06..0255de77054 100644 --- a/src/plugins/glsleditor/glsleditor.h +++ b/src/plugins/glsleditor/glsleditor.h @@ -121,8 +121,6 @@ private: void setSelectedElements(); QString wordUnderCursor() const; - const Core::Context m_context; - QTimer *m_updateDocumentTimer; QComboBox *m_outlineCombo; Document::Ptr m_glslDocument; diff --git a/src/plugins/glsleditor/glsleditoreditable.cpp b/src/plugins/glsleditor/glsleditoreditable.cpp index 304f76902e9..dc612cc1d33 100644 --- a/src/plugins/glsleditor/glsleditoreditable.cpp +++ b/src/plugins/glsleditor/glsleditoreditable.cpp @@ -50,8 +50,8 @@ namespace Internal { GLSLEditorEditable::GLSLEditorEditable(GLSLTextEditorWidget *editor) : BaseTextEditor(editor) { - m_context.add(GLSLEditor::Constants::C_GLSLEDITOR_ID); - m_context.add(TextEditor::Constants::C_TEXTEDITOR); + setContext(Core::Context(GLSLEditor::Constants::C_GLSLEDITOR_ID, + TextEditor::Constants::C_TEXTEDITOR)); } QString GLSLEditorEditable::preferredModeType() const diff --git a/src/plugins/glsleditor/glsleditoreditable.h b/src/plugins/glsleditor/glsleditoreditable.h index a3455d1ad67..277328242e6 100644 --- a/src/plugins/glsleditor/glsleditoreditable.h +++ b/src/plugins/glsleditor/glsleditoreditable.h @@ -47,17 +47,13 @@ class GLSLEditorEditable : public TextEditor::BaseTextEditor public: explicit GLSLEditorEditable(GLSLTextEditorWidget *); - Core::Context context() const; bool duplicateSupported() const { return true; } Core::IEditor *duplicate(QWidget *parent); QString id() const; bool isTemporary() const { return false; } - virtual bool open(const QString & fileName); + virtual bool open(const QString &fileName); virtual QString preferredModeType() const; - -private: - Core::Context m_context; }; } // namespace Internal diff --git a/src/plugins/helloworld/helloworldplugin.cpp b/src/plugins/helloworld/helloworldplugin.cpp index c6512bb2ac9..23f09f2f711 100644 --- a/src/plugins/helloworld/helloworldplugin.cpp +++ b/src/plugins/helloworld/helloworldplugin.cpp @@ -56,19 +56,18 @@ namespace Internal { class HelloMode : public Core::IMode { public: - HelloMode() : m_widget(new QPushButton(tr("Hello World PushButton!"))) {} + HelloMode() + { + setWidget(new QPushButton(tr("Hello World PushButton!"))); + setContext(Core::Context("HelloWorld.MainView")); + } QString displayName() const { return tr("Hello world!"); } QIcon icon() const { return QIcon(); } int priority() const { return 0; } - QWidget *widget() { return m_widget; } QString id() const { return QLatin1String("HelloWorld.HelloWorldMode"); } QString type() const { return QLatin1String("HelloWorld.HelloWorldMode"); } - Core::Context context() const { return Core::Context("HelloWorld.MainView"); }; QString contextHelpId() const { return QString(); } - -private: - QWidget *m_widget; }; diff --git a/src/plugins/help/helpmode.cpp b/src/plugins/help/helpmode.cpp index 2598925104a..36ade375ab0 100644 --- a/src/plugins/help/helpmode.cpp +++ b/src/plugins/help/helpmode.cpp @@ -41,10 +41,10 @@ using namespace Help::Internal; HelpMode::HelpMode(QObject *parent) : Core::IMode(parent), - m_widget(0), m_icon(QLatin1String(":/fancyactionbar/images/mode_Reference.png")) { setObjectName(QLatin1String("HelpMode")); + setContext(Core::Context(Constants::C_MODE_HELP)); } QString HelpMode::displayName() const @@ -61,8 +61,3 @@ QString HelpMode::id() const { return QLatin1String(Constants::ID_MODE_HELP); } - -Core::Context HelpMode::context() const -{ - return Core::Context(Constants::C_MODE_HELP); -} diff --git a/src/plugins/help/helpmode.h b/src/plugins/help/helpmode.h index e125fd3b281..68c4a2ae919 100644 --- a/src/plugins/help/helpmode.h +++ b/src/plugins/help/helpmode.h @@ -50,12 +50,9 @@ public: QString displayName() const; QIcon icon() const { return m_icon; } int priority() const; - QWidget *widget() { return m_widget; } QString id() const; QString type() const { return QString(); } - Core::Context context() const; QString contextHelpId() const { return QString(); } - void setWidget(QWidget *widget) { m_widget = widget; } private: QWidget *m_widget; diff --git a/src/plugins/imageviewer/imageviewer.cpp b/src/plugins/imageviewer/imageviewer.cpp index 76c383841bd..6101257388d 100644 --- a/src/plugins/imageviewer/imageviewer.cpp +++ b/src/plugins/imageviewer/imageviewer.cpp @@ -54,11 +54,6 @@ namespace Internal { struct ImageViewerPrivate { - ImageViewerPrivate() - : context(Constants::IMAGEVIEWER_ID) - {} - - Core::Context context; QString displayName; ImageViewerFile *file; ImageView *imageView; @@ -71,9 +66,11 @@ ImageViewer::ImageViewer(QWidget *parent) d_ptr(new ImageViewerPrivate) { d_ptr->file = new ImageViewerFile(this); - d_ptr->imageView = new ImageView(); + setContext(Core::Context(Constants::IMAGEVIEWER_ID)); + setWidget(d_ptr->imageView); + // toolbar d_ptr->toolbar = new QWidget(); d_ptr->ui_toolbar.setupUi(d_ptr->toolbar); @@ -114,16 +111,6 @@ ImageViewer::~ImageViewer() delete d_ptr->toolbar; } -Core::Context ImageViewer::context() const -{ - return d_ptr->context; -} - -QWidget *ImageViewer::widget() -{ - return d_ptr->imageView; -} - bool ImageViewer::createNew(const QString &contents) { Q_UNUSED(contents) diff --git a/src/plugins/imageviewer/imageviewer.h b/src/plugins/imageviewer/imageviewer.h index 13bf704c669..f8d9b1e3c6e 100644 --- a/src/plugins/imageviewer/imageviewer.h +++ b/src/plugins/imageviewer/imageviewer.h @@ -56,9 +56,6 @@ public: explicit ImageViewer(QWidget *parent = 0); ~ImageViewer(); - Core::Context context() const; - QWidget *widget(); - bool createNew(const QString &contents = QString()); bool open(const QString &fileName = QString()); Core::IFile *file(); diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 6c923a2cefc..3d8dd464160 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -234,19 +234,20 @@ ProjectExplorerPluginPrivate::ProjectExplorerPluginPrivate() : class ProjectsMode : public Core::IMode { public: - ProjectsMode(QWidget *proWindow) : m_widget(proWindow) {} + ProjectsMode(QWidget *proWindow) + { + setWidget(proWindow); + setContext(Core::Context(Constants::C_PROJECTEXPLORER)); + } QString displayName() const { return QCoreApplication::translate("ProjectExplorer::ProjectsMode", "Projects"); } QIcon icon() const { return QIcon(QLatin1String(":/fancyactionbar/images/mode_Project.png")); } int priority() const { return Constants::P_MODE_SESSION; } - QWidget *widget() { return m_widget; } QString id() const { return QLatin1String(Constants::MODE_SESSION); } QString type() const { return QString(); } - Core::Context context() const { return Core::Context(Constants::C_PROJECTEXPLORER); } QString contextHelpId() const { return QLatin1String("Managing Projects"); } private: - QWidget *m_widget; QIcon m_icon; }; diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp index bdf7d45bd05..51d97aca109 100644 --- a/src/plugins/projectexplorer/projecttreewidget.cpp +++ b/src/plugins/projectexplorer/projecttreewidget.cpp @@ -75,8 +75,8 @@ public: setEditTriggers(QAbstractItemView::EditKeyPressed); setContextMenuPolicy(Qt::CustomContextMenu); // setExpandsOnDoubleClick(false); - Core::Context context(Constants::C_PROJECT_TREE); - m_context = new Core::BaseContext(this, context); + m_context = new Core::IContext(this); + m_context->setContext(Core::Context(Constants::C_PROJECT_TREE)); Core::ICore::instance()->addContextObject(m_context); } ~ProjectTreeView() @@ -86,7 +86,7 @@ public: } private: - Core::BaseContext *m_context; + Core::IContext *m_context; }; /*! diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp index b4ddd79814a..2c99bccb33d 100644 --- a/src/plugins/projectexplorer/taskwindow.cpp +++ b/src/plugins/projectexplorer/taskwindow.cpp @@ -78,11 +78,6 @@ class TaskWindowContext : public Core::IContext { public: TaskWindowContext(QWidget *widget); - virtual Core::Context context() const; - virtual QWidget *widget(); -private: - QWidget *m_taskList; - const Core::Context m_context; }; class TaskModel : public QAbstractItemModel @@ -1145,24 +1140,13 @@ void TaskDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, } TaskWindowContext::TaskWindowContext(QWidget *widget) - : Core::IContext(widget), - m_taskList(widget), - m_context(Core::Constants::C_PROBLEM_PANE) + : Core::IContext(widget) { -} - -Core::Context TaskWindowContext::context() const -{ - return m_context; -} - -QWidget *TaskWindowContext::widget() -{ - return m_taskList; + setWidget(widget); + setContext(Core::Context(Core::Constants::C_PROBLEM_PANE)); } } // namespace Internal - } // namespace ProjectExplorer #include "taskwindow.moc" diff --git a/src/plugins/qmldesigner/designmodecontext.cpp b/src/plugins/qmldesigner/designmodecontext.cpp index d1142045995..65cc850d0fd 100644 --- a/src/plugins/qmldesigner/designmodecontext.cpp +++ b/src/plugins/qmldesigner/designmodecontext.cpp @@ -36,62 +36,32 @@ #include "designmodewidget.h" #include "formeditorwidget.h" -#include - namespace QmlDesigner { namespace Internal { -DesignModeContext::DesignModeContext(DesignModeWidget *widget) - : IContext(widget), - m_widget(widget), - m_context(Constants::C_QMLDESIGNER, Constants::C_QT_QUICK_TOOLS_MENU) +DesignModeContext::DesignModeContext(QWidget *widget) + : IContext(widget) { -} - -DesignModeContext::~DesignModeContext() -{ -} - -Core::Context DesignModeContext::context() const -{ - return m_context; -} - -QWidget *DesignModeContext::widget() -{ - return m_widget; + setWidget(widget); + setContext(Core::Context(Constants::C_QMLDESIGNER, Constants::C_QT_QUICK_TOOLS_MENU)); } QString DesignModeContext::contextHelpId() const { - return m_widget->contextHelpId(); + return qobject_cast(m_widget)->contextHelpId(); } -FormEditorContext::FormEditorContext(FormEditorWidget *widget) - : IContext(widget), - m_widget(widget), - m_context(Constants::C_QMLFORMEDITOR, Constants::C_QT_QUICK_TOOLS_MENU) +FormEditorContext::FormEditorContext(QWidget *widget) + : IContext(widget) { -} - -FormEditorContext::~FormEditorContext() -{ -} - -Core::Context FormEditorContext::context() const -{ - return m_context; -} - -QWidget *FormEditorContext::widget() -{ - return m_widget; + setWidget(widget); + setContext(Core::Context(Constants::C_QMLFORMEDITOR, Constants::C_QT_QUICK_TOOLS_MENU)); } QString FormEditorContext::contextHelpId() const { - return m_widget->contextHelpId(); + return qobject_cast(m_widget)->contextHelpId(); } } diff --git a/src/plugins/qmldesigner/designmodecontext.h b/src/plugins/qmldesigner/designmodecontext.h index 587730bf4f2..2b9f1511d34 100644 --- a/src/plugins/qmldesigner/designmodecontext.h +++ b/src/plugins/qmldesigner/designmodecontext.h @@ -35,53 +35,25 @@ #define DESIGNMODECONTEXT_H #include -#include - -QT_BEGIN_NAMESPACE -class QWidget; -QT_END_NAMESPACE namespace QmlDesigner { - -class FormEditorWidget; - namespace Internal { -class DesignModeWidget; - /** * Bauhaus Design mode context object */ class DesignModeContext : public Core::IContext { public: - DesignModeContext(DesignModeWidget *widget); - ~DesignModeContext(); - - Core::Context context() const; - QWidget *widget(); - + DesignModeContext(QWidget *widget); QString contextHelpId() const; - -private: - DesignModeWidget *m_widget; - const Core::Context m_context; }; class FormEditorContext : public Core::IContext { public: - FormEditorContext(FormEditorWidget *widget); - ~FormEditorContext(); - - Core::Context context() const; - QWidget *widget(); - + FormEditorContext(QWidget *widget); QString contextHelpId() const; - -private: - FormEditorWidget *m_widget; - const Core::Context m_context; }; } diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp index 3ff3d2a6630..4c7df37f930 100644 --- a/src/plugins/qmljseditor/qmljseditor.cpp +++ b/src/plugins/qmljseditor/qmljseditor.cpp @@ -748,11 +748,6 @@ bool QmlJSEditorEditable::open(const QString &fileName) return b; } -Core::Context QmlJSEditorEditable::context() const -{ - return m_context; -} - void QmlJSTextEditorWidget::updateDocument() { m_updateDocumentTimer->start(UPDATE_DOCUMENT_DEFAULT_INTERVAL); diff --git a/src/plugins/qmljseditor/qmljseditoreditable.h b/src/plugins/qmljseditor/qmljseditoreditable.h index 7df03f7b4e8..02c1863a7c4 100644 --- a/src/plugins/qmljseditor/qmljseditoreditable.h +++ b/src/plugins/qmljseditor/qmljseditoreditable.h @@ -46,7 +46,6 @@ class QMLJSEDITOR_EXPORT QmlJSEditorEditable : public TextEditor::BaseTextEditor public: explicit QmlJSEditorEditable(QmlJSTextEditorWidget *); - Core::Context context() const; bool duplicateSupported() const { return true; } Core::IEditor *duplicate(QWidget *parent); @@ -55,10 +54,6 @@ public: virtual bool open(const QString & fileName); virtual QString preferredModeType() const; void setTextCodec(QTextCodec *codec, TextCodecReason = TextCodecOtherReason); - - -private: - Core::Context m_context; }; } // namespace QmlJSEditor diff --git a/src/plugins/qt4projectmanager/profileeditor.cpp b/src/plugins/qt4projectmanager/profileeditor.cpp index b341331ae7d..59eaf7e6998 100644 --- a/src/plugins/qt4projectmanager/profileeditor.cpp +++ b/src/plugins/qt4projectmanager/profileeditor.cpp @@ -59,18 +59,13 @@ using namespace Qt4ProjectManager::Internal; // ProFileEditor::ProFileEditor(ProFileEditorWidget *editor) - : BaseTextEditor(editor), - m_context(Qt4ProjectManager::Constants::C_PROFILEEDITOR, - TextEditor::Constants::C_TEXTEDITOR) + : BaseTextEditor(editor) { + setContext(Core::Context(Qt4ProjectManager::Constants::C_PROFILEEDITOR, + TextEditor::Constants::C_TEXTEDITOR)); // m_contexts << uidm->uniqueIdentifier(Qt4ProjectManager::Constants::PROJECT_KIND); } -Core::Context ProFileEditor::context() const -{ - return m_context; -} - Core::IEditor *ProFileEditor::duplicate(QWidget *parent) { ProFileEditorWidget *ret = new ProFileEditorWidget(parent, qobject_cast(editorWidget())->factory(), @@ -103,10 +98,6 @@ ProFileEditorWidget::ProFileEditorWidget(QWidget *parent, ProFileEditorFactory * m_commentDefinition.setSingleLine(QString(QLatin1Char('#'))); } -ProFileEditorWidget::~ProFileEditorWidget() -{ -} - void ProFileEditorWidget::unCommentSelection() { Utils::unCommentSelection(this, m_commentDefinition); diff --git a/src/plugins/qt4projectmanager/profileeditor.h b/src/plugins/qt4projectmanager/profileeditor.h index b746672fa61..b3a4d1bb6f0 100644 --- a/src/plugins/qt4projectmanager/profileeditor.h +++ b/src/plugins/qt4projectmanager/profileeditor.h @@ -61,14 +61,11 @@ class ProFileEditor : public TextEditor::BaseTextEditor public: ProFileEditor(ProFileEditorWidget *); - Core::Context context() const; bool duplicateSupported() const { return true; } Core::IEditor *duplicate(QWidget *parent); QString id() const; bool isTemporary() const { return false; } -private: - const Core::Context m_context; }; class ProFileEditorWidget : public TextEditor::BaseTextEditorWidget @@ -78,11 +75,9 @@ class ProFileEditorWidget : public TextEditor::BaseTextEditorWidget public: ProFileEditorWidget(QWidget *parent, ProFileEditorFactory *factory, TextEditor::TextEditorActionHandler *ah); - ~ProFileEditorWidget(); bool save(const QString &fileName = QString()); - ProFileEditorFactory *factory() { return m_factory; } TextEditor::TextEditorActionHandler *actionHandler() const { return m_ah; } diff --git a/src/plugins/resourceeditor/resourceeditorfactory.cpp b/src/plugins/resourceeditor/resourceeditorfactory.cpp index 60dba523028..dcfbfd77c56 100644 --- a/src/plugins/resourceeditor/resourceeditorfactory.cpp +++ b/src/plugins/resourceeditor/resourceeditorfactory.cpp @@ -48,7 +48,6 @@ using namespace ResourceEditor::Constants; ResourceEditorFactory::ResourceEditorFactory(ResourceEditorPlugin *plugin) : Core::IEditorFactory(plugin), m_mimeTypes(QStringList(QLatin1String("application/vnd.nokia.xml.qt.resource"))), - m_context(ResourceEditor::Constants::C_RESOURCEEDITOR), m_plugin(plugin) { Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance(); @@ -78,7 +77,8 @@ Core::IFile *ResourceEditorFactory::open(const QString &fileName) Core::IEditor *ResourceEditorFactory::createEditor(QWidget *parent) { - return new ResourceEditorW(m_context, m_plugin, parent); + Core::Context context(ResourceEditor::Constants::C_RESOURCEEDITOR); + return new ResourceEditorW(context, m_plugin, parent); } QStringList ResourceEditorFactory::mimeTypes() const diff --git a/src/plugins/resourceeditor/resourceeditorfactory.h b/src/plugins/resourceeditor/resourceeditorfactory.h index b364e60fb24..30fce181e6c 100644 --- a/src/plugins/resourceeditor/resourceeditorfactory.h +++ b/src/plugins/resourceeditor/resourceeditorfactory.h @@ -61,8 +61,6 @@ public: private: const QStringList m_mimeTypes; - const Core::Context m_context; - ResourceEditorPlugin *m_plugin; }; diff --git a/src/plugins/resourceeditor/resourceeditorw.cpp b/src/plugins/resourceeditor/resourceeditorw.cpp index 67683eb82ac..456a8f0c164 100644 --- a/src/plugins/resourceeditor/resourceeditorw.cpp +++ b/src/plugins/resourceeditor/resourceeditorw.cpp @@ -73,11 +73,13 @@ QString ResourceEditorFile::mimeType() const ResourceEditorW::ResourceEditorW(const Core::Context &context, ResourceEditorPlugin *plugin, QWidget *parent) - : m_context(context), - m_resourceEditor(new SharedTools::QrcEditor(parent)), + : m_resourceEditor(new SharedTools::QrcEditor(parent)), m_resourceFile(new ResourceEditorFile(this)), m_plugin(plugin) { + setContext(context); + setWidget(m_resourceEditor); + m_resourceEditor->setResourceDragEnabled(true); connect(m_resourceEditor, SIGNAL(dirtyChanged(bool)), this, SLOT(dirtyChanged(bool))); @@ -242,11 +244,6 @@ void ResourceEditorW::dirtyChanged(bool dirty) emit changed(); } -QWidget *ResourceEditorW::widget() -{ - return m_resourceEditor; /* we know it's a subclass of QWidget...*/ -} - void ResourceEditorW::onUndoStackChanged(bool canUndo, bool canRedo) { m_plugin->onUndoStackChanged(this, canUndo, canRedo); diff --git a/src/plugins/resourceeditor/resourceeditorw.h b/src/plugins/resourceeditor/resourceeditorw.h index a22c6d830b9..7d625e77930 100644 --- a/src/plugins/resourceeditor/resourceeditorw.h +++ b/src/plugins/resourceeditor/resourceeditorw.h @@ -98,10 +98,6 @@ public: QByteArray saveState() const { return QByteArray(); } bool restoreState(const QByteArray &/*state*/) { return true; } - // ContextInterface - Core::Context context() const { return m_context; } - QWidget *widget(); - void setSuggestedFileName(const QString &fileName); bool isTemporary() const { return false; } @@ -114,7 +110,6 @@ private: const QString m_fileFilter; QString m_displayName; QString m_suggestedName; - const Core::Context m_context; QPointer m_resourceEditor; ResourceEditorFile *m_resourceFile; ResourceEditorPlugin *m_plugin; diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index b80e08612de..5d08ddc8e97 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -5781,6 +5781,7 @@ void BaseTextEditorWidget::appendStandardContextMenuActions(QMenu *menu) BaseTextEditor::BaseTextEditor(BaseTextEditorWidget *editor) : e(editor) { + setWidget(e); using namespace Find; Aggregation::Aggregate *aggregate = new Aggregation::Aggregate; BaseTextFind *baseTextFind = new BaseTextFind(editor); diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h index 2adedbee5d4..30ec2aec345 100644 --- a/src/plugins/texteditor/basetexteditor.h +++ b/src/plugins/texteditor/basetexteditor.h @@ -558,7 +558,7 @@ public: BaseTextEditorWidget *editorWidget() const { return e; } // EditorInterface - QWidget *widget() { return e; } + //QWidget *widget() { return e; } Core::IFile * file() { return e->file(); } bool createNew(const QString &contents) { return e->createNew(contents); } bool open(const QString &fileName = QString()) { return e->open(fileName); } diff --git a/src/plugins/texteditor/plaintexteditor.cpp b/src/plugins/texteditor/plaintexteditor.cpp index 977f4e9c9da..7eecb9a7f4f 100644 --- a/src/plugins/texteditor/plaintexteditor.cpp +++ b/src/plugins/texteditor/plaintexteditor.cpp @@ -59,9 +59,10 @@ using namespace TextEditor; using namespace TextEditor::Internal; PlainTextEditor::PlainTextEditor(PlainTextEditorWidget *editor) - : BaseTextEditor(editor), - m_context(Core::Constants::K_DEFAULT_TEXT_EDITOR_ID, TextEditor::Constants::C_TEXTEDITOR) + : BaseTextEditor(editor) { + setContext(Core::Context(Core::Constants::K_DEFAULT_TEXT_EDITOR_ID, + TextEditor::Constants::C_TEXTEDITOR)); } PlainTextEditorWidget::PlainTextEditorWidget(QWidget *parent) @@ -84,14 +85,6 @@ PlainTextEditorWidget::PlainTextEditorWidget(QWidget *parent) connect(Manager::instance(), SIGNAL(mimeTypesRegistered()), this, SLOT(configure())); } -PlainTextEditorWidget::~PlainTextEditorWidget() -{} - -Core::Context PlainTextEditor::context() const -{ - return m_context; -} - Core::IEditor *PlainTextEditor::duplicate(QWidget *parent) { PlainTextEditorWidget *newWidget = new PlainTextEditorWidget(parent); diff --git a/src/plugins/texteditor/plaintexteditor.h b/src/plugins/texteditor/plaintexteditor.h index f440f38e725..26262fcadc9 100644 --- a/src/plugins/texteditor/plaintexteditor.h +++ b/src/plugins/texteditor/plaintexteditor.h @@ -55,15 +55,11 @@ class TEXTEDITOR_EXPORT PlainTextEditor : public BaseTextEditor Q_OBJECT public: PlainTextEditor(PlainTextEditorWidget *); - Core::Context context() const; bool duplicateSupported() const { return true; } Core::IEditor *duplicate(QWidget *parent); bool isTemporary() const { return false; } virtual QString id() const; - -private: - const Core::Context m_context; }; class TEXTEDITOR_EXPORT PlainTextEditorWidget : public BaseTextEditorWidget @@ -72,7 +68,6 @@ class TEXTEDITOR_EXPORT PlainTextEditorWidget : public BaseTextEditorWidget public: PlainTextEditorWidget(QWidget *parent); - ~PlainTextEditorWidget(); void configure(const Core::MimeType &mimeType); bool isMissingSyntaxDefinition() const; diff --git a/src/plugins/texteditor/snippets/snippeteditor.cpp b/src/plugins/texteditor/snippets/snippeteditor.cpp index 92c1b05344c..0ff9bfb507e 100644 --- a/src/plugins/texteditor/snippets/snippeteditor.cpp +++ b/src/plugins/texteditor/snippets/snippeteditor.cpp @@ -42,13 +42,11 @@ using namespace TextEditor; -SnippetEditor::SnippetEditor(SnippetEditorWidget *editor) : - BaseTextEditor(editor), - m_context(Constants::SNIPPET_EDITOR_ID, Constants::C_TEXTEDITOR) -{} - -SnippetEditor::~SnippetEditor() -{} +SnippetEditor::SnippetEditor(SnippetEditorWidget *editor) + : BaseTextEditor(editor) +{ + setContext(Core::Context(Constants::SNIPPET_EDITOR_ID, Constants::C_TEXTEDITOR)); +} QString SnippetEditor::id() const { @@ -63,9 +61,6 @@ SnippetEditorWidget::SnippetEditorWidget(QWidget *parent) : BaseTextEditorWidget setParenthesesMatchingEnabled(true); } -SnippetEditorWidget::~SnippetEditorWidget() -{} - void SnippetEditorWidget::setSyntaxHighlighter(TextEditor::SyntaxHighlighter *highlighter) { baseTextDocument()->setSyntaxHighlighter(highlighter); diff --git a/src/plugins/texteditor/snippets/snippeteditor.h b/src/plugins/texteditor/snippets/snippeteditor.h index 4e6a12052fd..9b70e85208c 100644 --- a/src/plugins/texteditor/snippets/snippeteditor.h +++ b/src/plugins/texteditor/snippets/snippeteditor.h @@ -55,17 +55,11 @@ class TEXTEDITOR_EXPORT SnippetEditor : public BaseTextEditor public: SnippetEditor(SnippetEditorWidget *editorWidget); - virtual ~SnippetEditor(); - - Core::Context context() const { return m_context; } bool duplicateSupported() const { return false; } Core::IEditor *duplicate(QWidget * /* parent */ ) { return 0; } bool isTemporary() const { return false; } virtual QString id() const; - -private: - const Core::Context m_context; }; class TEXTEDITOR_EXPORT SnippetEditorWidget : public BaseTextEditorWidget @@ -74,7 +68,6 @@ class TEXTEDITOR_EXPORT SnippetEditorWidget : public BaseTextEditorWidget public: SnippetEditorWidget(QWidget *parent); - virtual ~SnippetEditorWidget(); void setSyntaxHighlighter(SyntaxHighlighter *highlighter); diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp index f735fb7fe76..f31d6c02d39 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.cpp +++ b/src/plugins/vcsbase/vcsbaseeditor.cpp @@ -134,9 +134,7 @@ class VCSBaseEditor : public TextEditor::BaseTextEditor { Q_OBJECT public: - VCSBaseEditor(VCSBaseEditorWidget *, - const VCSBaseEditorParameters *type); - Core::Context context() const; + VCSBaseEditor(VCSBaseEditorWidget *, const VCSBaseEditorParameters *type); bool duplicateSupported() const { return false; } Core::IEditor *duplicate(QWidget * /*parent*/) { return 0; } @@ -151,7 +149,6 @@ signals: private: QString m_id; - Core::Context m_context; bool m_temporary; }; @@ -159,14 +156,9 @@ VCSBaseEditor::VCSBaseEditor(VCSBaseEditorWidget *widget, const VCSBaseEditorParameters *type) : BaseTextEditor(widget), m_id(type->id), - m_context(type->context, TextEditor::Constants::C_TEXTEDITOR), m_temporary(false) { -} - -Core::Context VCSBaseEditor::context() const -{ - return m_context; + setContext(Core::Context(type->context, TextEditor::Constants::C_TEXTEDITOR)); } // Diff editor: creates a browse combo in the toolbar for diff output. diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp index e178f22b69c..134acf69fdb 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp @@ -136,7 +136,6 @@ struct VCSBaseSubmitEditorPrivate QPointer m_submitAction; Internal::NickNameDialog *m_nickNameDialog; - Core::Context m_contexts; }; VCSBaseSubmitEditorPrivate::VCSBaseSubmitEditorPrivate(const VCSBaseSubmitEditorParameters *parameters, @@ -146,8 +145,7 @@ VCSBaseSubmitEditorPrivate::VCSBaseSubmitEditorPrivate(const VCSBaseSubmitEditor m_toolWidget(0), m_parameters(parameters), m_file(new VCSBase::Internal::SubmitEditorFile(QLatin1String(parameters->mimeType), q)), - m_nickNameDialog(0), - m_contexts(parameters->context) + m_nickNameDialog(0) { } @@ -155,6 +153,9 @@ VCSBaseSubmitEditor::VCSBaseSubmitEditor(const VCSBaseSubmitEditorParameters *pa Utils::SubmitEditorWidget *editorWidget) : m_d(new VCSBaseSubmitEditorPrivate(parameters, editorWidget, this)) { + setContext(Core::Context(parameters->context)); + setWidget(m_d->m_widget); + // Message font according to settings const TextEditor::FontSettings fs = TextEditor::TextEditorSettings::instance()->fontSettings(); QFont font = editorWidget->descriptionEdit()->font(); @@ -427,16 +428,6 @@ QWidget *VCSBaseSubmitEditor::toolBar() return m_d->m_toolWidget; } -Core::Context VCSBaseSubmitEditor::context() const -{ - return m_d->m_contexts; -} - -QWidget *VCSBaseSubmitEditor::widget() -{ - return m_d->m_widget; -} - QByteArray VCSBaseSubmitEditor::saveState() const { return QByteArray(); diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.h b/src/plugins/vcsbase/vcsbasesubmiteditor.h index cfd14202d5d..34e92305079 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.h +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.h @@ -129,8 +129,6 @@ public: virtual QString id() const; virtual QWidget *toolBar(); - virtual Core::Context context() const; - virtual QWidget *widget(); virtual QByteArray saveState() const; virtual bool restoreState(const QByteArray &state); diff --git a/src/plugins/welcome/welcomemode.cpp b/src/plugins/welcome/welcomemode.cpp index a95496b302a..8865a69d89c 100644 --- a/src/plugins/welcome/welcomemode.cpp +++ b/src/plugins/welcome/welcomemode.cpp @@ -116,6 +116,9 @@ WelcomeMode::WelcomeMode() : m_d->m_scrollArea->setWidget(m_d->m_widget); m_d->m_scrollArea->setWidgetResizable(true); + setContext(Core::Context(Core::Constants::C_WELCOME_MODE)); + setWidget(m_d->m_scrollArea); + PluginManager *pluginManager = PluginManager::instance(); connect(pluginManager, SIGNAL(objectAdded(QObject*)), SLOT(welcomePluginAdded(QObject*))); @@ -145,11 +148,6 @@ int WelcomeMode::priority() const return Core::Constants::P_MODE_WELCOME; } -QWidget* WelcomeMode::widget() -{ - return m_d->m_scrollArea; -} - QString WelcomeMode::id() const { return QLatin1String(Core::Constants::MODE_WELCOME); @@ -160,12 +158,6 @@ QString WelcomeMode::type() const return QLatin1String(Core::Constants::MODE_WELCOME_TYPE); } -Core::Context WelcomeMode::context() const -{ - static Core::Context contexts(Core::Constants::C_WELCOME_MODE); - return contexts; -} - bool sortFunction(Utils::IWelcomePage * a, Utils::IWelcomePage *b) { return a->priority() < b->priority(); diff --git a/src/plugins/welcome/welcomemode.h b/src/plugins/welcome/welcomemode.h index 1bdc3abd5d5..119ee34b6c6 100644 --- a/src/plugins/welcome/welcomemode.h +++ b/src/plugins/welcome/welcomemode.h @@ -39,7 +39,6 @@ #include QT_BEGIN_NAMESPACE -class QWidget; class QToolButton; QT_END_NAMESPACE @@ -62,10 +61,8 @@ public: QString displayName() const; QIcon icon() const; int priority() const; - QWidget *widget(); QString id() const; QString type() const; - Core::Context context() const; void activated(); QString contextHelpId() const; void initPlugins();