diff options
author | con <qtc-committer@nokia.com> | 2010-12-02 18:28:16 +0100 |
---|---|---|
committer | con <qtc-committer@nokia.com> | 2010-12-06 11:18:58 +0100 |
commit | 773343f396adb765e3b1837b3d961045e2a10056 (patch) | |
tree | f0708f1718a47185e9da54f649d42d568a08944b /src/plugins/designer/formeditorw.cpp | |
parent | 5c99316624d59463d24096ff5ffadd1e58e4d12e (diff) | |
download | qt-creator-773343f396adb765e3b1837b3d961045e2a10056.tar.gz |
Delay widget creation of options pages till their category is shown
Also add the alternative way: IOptionsPageProvider, which states
a category, and is asked for a list of options pages for that
category when it is shown.
Task-number: QTCREATORBUG-3131
Diffstat (limited to 'src/plugins/designer/formeditorw.cpp')
-rw-r--r-- | src/plugins/designer/formeditorw.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/plugins/designer/formeditorw.cpp b/src/plugins/designer/formeditorw.cpp index 86b6a989a6..012fa46b49 100644 --- a/src/plugins/designer/formeditorw.cpp +++ b/src/plugins/designer/formeditorw.cpp @@ -186,7 +186,6 @@ FormEditorW::FormEditorW() : foreach (QDesignerOptionsPageInterface *designerPage, m_formeditor->optionsPages()) { SettingsPage *settingsPage = new SettingsPage(designerPage); - ExtensionSystem::PluginManager::instance()->addObject(settingsPage); m_settingsPages.append(settingsPage); } @@ -213,10 +212,8 @@ FormEditorW::~FormEditorW() } delete m_formeditor; - foreach (SettingsPage *settingsPage, m_settingsPages) { - ExtensionSystem::PluginManager::instance()->removeObject(settingsPage); - delete settingsPage; - } + qDeleteAll(m_settingsPages); + m_settingsPages.clear(); delete m_integration; m_self = 0; @@ -389,6 +386,11 @@ void FormEditorW::initDesignerSubWindows() m_designerSubWindows[ActionEditorSubWindow] = ae; } +QList<Core::IOptionsPage *> FormEditorW::optionsPages() const +{ + return m_settingsPages; +} + void FormEditorW::ensureInitStage(InitializationStage s) { if (Designer::Constants::Internal::debug) |