diff --git a/src/plugins/designer/formeditorplugin.cpp b/src/plugins/designer/formeditorplugin.cpp index ee8bfa5966551f30400a562c69aa9a24d514a4d0..b02f0aca7403ad551b7b90c1bc97cdaa32534266 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 7ee2afa0802fdfd9e5bf853261bea3093ce9810c..47ce3d3949780bf0aff1cfdd2aace82aa36c8731 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();