From f65092bd56d6456a17222d1ec3e796cb19412a53 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 10 Mar 2010 12:49:30 +0100 Subject: [PATCH] Profiling: Re-introduce delayed loading of Designer from options dialog and editor factory. --- src/plugins/designer/formeditorplugin.cpp | 31 ++++++++--------------- src/plugins/designer/formeditorplugin.h | 3 +++ 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/src/plugins/designer/formeditorplugin.cpp b/src/plugins/designer/formeditorplugin.cpp index ee8bfa59665..b02f0aca740 100644 --- a/src/plugins/designer/formeditorplugin.cpp +++ b/src/plugins/designer/formeditorplugin.cpp @@ -31,7 +31,6 @@ #include "formeditorfactory.h" #include "formeditorw.h" #include "formwizard.h" -#include "formeditorstack.h" #ifdef CPP_ENABLED # include "formclasswizard.h" @@ -40,35 +39,19 @@ #endif #include "designerconstants.h" -#include "formwindoweditor.h" -#include "designerxmleditor.h" -#include "formwindowfile.h" - -#include #include #include #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include #include #include - -#include +#include #ifdef CPP_ENABLED -# include # include # include #endif @@ -114,13 +97,19 @@ bool FormEditorPlugin::initialize(const QStringList &arguments, QString *error) if (qtr->load(trFile, qtTrPath) || qtr->load(trFile, creatorTrPath)) qApp->installTranslator(qtr); } - - FormEditorW::ensureInitStage(FormEditorW::RegisterPlugins); - error->clear(); + // Delayed loading: Make sure settings pages are there if options + // dialog is requested. + connect(Core::ICore::instance(), SIGNAL(optionsDialogRequested()), + this, SLOT(ensurePluginInitialized())); return true; } +void FormEditorPlugin::ensurePluginInitialized() +{ + FormEditorW::instance()->ensureInitStage(FormEditorW::RegisterPlugins); +} + void FormEditorPlugin::extensionsInitialized() { // 4) test and make sure everything works (undo, saving, editors, opening/closing multiple files, dirtiness etc) diff --git a/src/plugins/designer/formeditorplugin.h b/src/plugins/designer/formeditorplugin.h index 7ee2afa0802..47ce3d39497 100644 --- a/src/plugins/designer/formeditorplugin.h +++ b/src/plugins/designer/formeditorplugin.h @@ -57,6 +57,9 @@ public: bool initialize(const QStringList &arguments, QString *error_message = 0); void extensionsInitialized(); +public slots: + void ensurePluginInitialized(); + private: void initializeTemplates();