summaryrefslogtreecommitdiff
path: root/src/plugins/designer/formeditorw.cpp
diff options
context:
space:
mode:
authorcon <qtc-committer@nokia.com>2010-12-02 18:28:16 +0100
committercon <qtc-committer@nokia.com>2010-12-06 11:18:58 +0100
commit773343f396adb765e3b1837b3d961045e2a10056 (patch)
treef0708f1718a47185e9da54f649d42d568a08944b /src/plugins/designer/formeditorw.cpp
parent5c99316624d59463d24096ff5ffadd1e58e4d12e (diff)
downloadqt-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.cpp12
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)