From 5234c775f765a2c6293da9bcf960a6f4edec46dc Mon Sep 17 00:00:00 2001 From: Christian Kamm <christian.d.kamm@nokia.com> Date: Thu, 3 Jun 2010 10:25:17 +0200 Subject: [PATCH] Make the QmlJSEditor work when Qml support is disabled. - Enable qmlprojectplugin even if Qml support is disabled. - But disable its wizards in that case. - Disable the Qml file wizard if the support is off. Reviewed-by: Kai Koehne --- qtcreator.pri | 6 ++++++ src/plugins/plugins.pro | 14 ++++++-------- src/plugins/qmljseditor/qmljseditorplugin.cpp | 2 ++ src/plugins/qmlprojectmanager/qmlprojectplugin.cpp | 2 ++ 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/qtcreator.pri b/qtcreator.pri index b4ca541b0f2..73b2e73d8bb 100644 --- a/qtcreator.pri +++ b/qtcreator.pri @@ -117,3 +117,9 @@ win32-msvc* { # Handle S60 support: default on Windows, conditionally built on other platforms. macx:SUPPORT_QT_S60 = $$(QTCREATOR_WITH_S60) else:SUPPORT_QT_S60=1 + +# Define QTCREATOR_WITH_QML if building with Qml support +SUPPORT_QT_QML = $$(QTCREATOR_WITH_QML) +!isEmpty(SUPPORT_QT_QML) { + DEFINES += QTCREATOR_WITH_QML +} diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro index c8bbb792ed5..e358fa1af05 100644 --- a/src/plugins/plugins.pro +++ b/src/plugins/plugins.pro @@ -37,13 +37,11 @@ SUBDIRS = plugin_coreplugin \ SUPPORT_QT_QML = $$(QTCREATOR_WITH_QML) -!isEmpty(SUPPORT_QT_QML) { - message("Adding support for Qt/QML projects.") - DEFINES += QTCREATOR_WITH_QML +contains(QT_CONFIG, declarative) { + SUBDIRS += plugin_qmlprojectmanager - contains(QT_CONFIG, declarative) { - - SUBDIRS += plugin_qmlprojectmanager + !isEmpty(SUPPORT_QT_QML) { + message("Adding support for QmlDesigner, QmlInspector and Qml wizards.") include(private_headers.pri) exists($${QT_PRIVATE_HEADERS}/QtDeclarative/private/qdeclarativecontext_p.h) { @@ -55,8 +53,8 @@ SUPPORT_QT_QML = $$(QTCREATOR_WITH_QML) warning("The plugins depend on on private headers from QtDeclarative module.") warning("To enable them, pass 'QT_PRIVATE_HEADERS=$QTDIR/include' to qmake, where $QTDIR is the source directory of qt.") warning() - } - } + } + } } plugin_coreplugin.subdir = coreplugin diff --git a/src/plugins/qmljseditor/qmljseditorplugin.cpp b/src/plugins/qmljseditor/qmljseditorplugin.cpp index f998309ac17..20ae4bf1151 100644 --- a/src/plugins/qmljseditor/qmljseditorplugin.cpp +++ b/src/plugins/qmljseditor/qmljseditorplugin.cpp @@ -105,6 +105,7 @@ bool QmlJSEditorPlugin::initialize(const QStringList & /*arguments*/, QString *e m_editor = new QmlJSEditorFactory(this); addObject(m_editor); +#ifdef QTCREATOR_WITH_QML Core::BaseFileWizardParameters wizardParameters(Core::IWizard::FileWizard); wizardParameters.setCategory(QLatin1String(Core::Constants::WIZARD_CATEGORY_QT)); wizardParameters.setDisplayCategory(QCoreApplication::translate("Core", Core::Constants::WIZARD_TR_CATEGORY_QT)); @@ -112,6 +113,7 @@ bool QmlJSEditorPlugin::initialize(const QStringList & /*arguments*/, QString *e wizardParameters.setDisplayName(tr("Qt QML File")); wizardParameters.setId(QLatin1String("Q.Qml")); addAutoReleasedObject(new QmlFileWizard(wizardParameters, core)); +#endif m_actionHandler = new TextEditor::TextEditorActionHandler(QmlJSEditor::Constants::C_QMLJSEDITOR_ID, TextEditor::TextEditorActionHandler::Format diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp index 144d5d00880..3a321bfc8fa 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp @@ -82,8 +82,10 @@ bool QmlProjectPlugin::initialize(const QStringList &, QString *errorMessage) addAutoReleasedObject(manager); addAutoReleasedObject(new Internal::QmlProjectRunConfigurationFactory); addAutoReleasedObject(new Internal::QmlRunControlFactory); +#ifdef QTCREATOR_WITH_QML addAutoReleasedObject(new QmlProjectApplicationWizard); addAutoReleasedObject(new QmlProjectImportWizard); +#endif QmlProjectFileFormat::registerDeclarativeTypes(); -- GitLab