From f65092bd56d6456a17222d1ec3e796cb19412a53 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@nokia.com> 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 | 33 ++++++++--------------- src/plugins/designer/formeditorplugin.h | 3 +++ 2 files changed, 14 insertions(+), 22 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 <QDesignerFormWindowInterface> #include <coreplugin/icore.h> #include <coreplugin/mimedatabase.h> #include <coreplugin/coreconstants.h> #include <coreplugin/uniqueidmanager.h> #include <extensionsystem/pluginmanager.h> -#include <coreplugin/editormanager/ieditor.h> -#include <coreplugin/editormanager/editormanager.h> -#include <coreplugin/modemanager.h> -#include <coreplugin/designmode.h> -#include <texteditor/basetextdocument.h> - -#include <QtCore/QPointer> -#include <QtCore/QCoreApplication> -#include <QtCore/QtPlugin> + #include <QtCore/QDebug> -#include <QtCore/QProcess> #include <QtCore/QLibraryInfo> #include <QtCore/QTranslator> - -#include <QtGui/QTextDocument> +#include <QtCore/QtPlugin> #ifdef CPP_ENABLED -# include <QtGui/QAction> # include <QtGui/QWizard> # include <QtGui/QMainWindow> #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(); -- GitLab