diff --git a/share/share.pro b/share/share.pro index 0ea55635f06..3fe6c8b32c1 100644 --- a/share/share.pro +++ b/share/share.pro @@ -1,5 +1,20 @@ TEMPLATE = subdirs -SUBDIRS = qtcreator/static.pro \ - qtcreator/translations +SUBDIRS = qtcreator/static.pro + +defineTest(hasLupdate) { + cmd = $$eval(QT_TOOL.lupdate.binary) + isEmpty(cmd) { + cmd = $$[QT_HOST_BINS]/lupdate + contains(QMAKE_HOST.os, Windows):exists($${cmd}.exe): return(true) + contains(QMAKE_HOST.os, Darwin):exists($${cmd}.app/Contents/MacOS/lupdate): return(true) + exists($$cmd): return(true) + } else { + exists($$last(cmd)): return(true) + } + return(false) +} + +hasLupdate(): SUBDIRS += qtcreator/translations + DISTFILES += share.qbs \ ../src/share/share.qbs diff --git a/src/plugins/coreplugin/coreplugin.pro b/src/plugins/coreplugin/coreplugin.pro index 035316e5d0f..c3aa5581e8a 100644 --- a/src/plugins/coreplugin/coreplugin.pro +++ b/src/plugins/coreplugin/coreplugin.pro @@ -1,11 +1,12 @@ DEFINES += CORE_LIBRARY QT += \ - help \ network \ printsupport \ qml \ sql +qtHaveModule(help): QT += help + # embedding build time information prevents repeatedly binary exact versions from same source code isEmpty(QTC_SHOW_BUILD_DATE): QTC_SHOW_BUILD_DATE = $$(QTC_SHOW_BUILD_DATE) !isEmpty(QTC_SHOW_BUILD_DATE): DEFINES += QTC_SHOW_BUILD_DATE diff --git a/src/plugins/coreplugin/helpmanager.cpp b/src/plugins/coreplugin/helpmanager.cpp index 4cb07ed2bdb..f5d457fbf5a 100644 --- a/src/plugins/coreplugin/helpmanager.cpp +++ b/src/plugins/coreplugin/helpmanager.cpp @@ -35,6 +35,9 @@ #include #include #include +#include + +#ifdef QT_HELP_LIB #include @@ -452,3 +455,50 @@ void HelpManagerPrivate::writeSettings() } } // Core + +#else // QT_HELP_LIB + +namespace Core { + +HelpManager *HelpManager::instance() { return 0; } + +QString HelpManager::collectionFilePath() { return QString(); } + +void HelpManager::registerDocumentation(const QStringList &) {} +void HelpManager::unregisterDocumentation(const QStringList &) {} + +void HelpManager::registerUserDocumentation(const QStringList &) {} +QSet HelpManager::userDocumentationPaths() { return {}; } + +QMap HelpManager::linksForKeyword(const QString &) { return {}; } +QMap HelpManager::linksForIdentifier(const QString &) { return {}; } + +QUrl HelpManager::findFile(const QUrl &) { return QUrl();} +QByteArray HelpManager::fileData(const QUrl &) { return QByteArray();} + +QStringList HelpManager::registeredNamespaces() { return {}; } +QString HelpManager::namespaceFromFile(const QString &) { return QString(); } +QString HelpManager::fileFromNamespace(const QString &) { return QString(); } + +void HelpManager::setCustomValue(const QString &, const QVariant &) {} +QVariant HelpManager::customValue(const QString &, const QVariant &) { return QVariant(); } + +HelpManager::Filters filters() { return {}; } +HelpManager::Filters fixedFilters() { return {}; } + +HelpManager::Filters userDefinedFilters() { return {}; } + +void HelpManager::removeUserDefinedFilter(const QString &) {} +void HelpManager::addUserDefinedFilter(const QString &, const QStringList &) {} + +void HelpManager::handleHelpRequest(const QUrl &, HelpManager::HelpViewerLocation) {} +void HelpManager::handleHelpRequest(const QString &, HelpViewerLocation) {} + +HelpManager::HelpManager(QObject *) {} +HelpManager::~HelpManager() {} + +void HelpManager::setupHelpManager() {} + +} // namespace Core + +#endif // QT_HELP_LIB diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro index 2826ea3e2ed..e995bd0442c 100644 --- a/src/plugins/plugins.pro +++ b/src/plugins/plugins.pro @@ -22,13 +22,11 @@ SUBDIRS = \ qtsupport \ qmakeprojectmanager \ debugger \ - help \ cpaster \ cmakeprojectmanager \ autotoolsprojectmanager \ fakevim \ emacskeys \ - designer \ resourceeditor \ genericprojectmanager \ qmljseditor \ @@ -59,6 +57,18 @@ SUBDIRS = \ scxmleditor \ welcome +qtHaveModule(help) { + SUBDIRS += help +} else { + warning("Help plugin has been disabled.") +} + +qtHaveModule(designercomponents_private) { + SUBDIRS += designer +} else { + warning("Qt Widget Designer plugin has been disabled.") +} + DO_NOT_BUILD_QMLDESIGNER = $$(DO_NOT_BUILD_QMLDESIGNER) isEmpty(DO_NOT_BUILD_QMLDESIGNER) { SUBDIRS += qmldesigner diff --git a/src/plugins/qtsupport/exampleslistmodel.cpp b/src/plugins/qtsupport/exampleslistmodel.cpp index a87b7c39878..24fb034746f 100644 --- a/src/plugins/qtsupport/exampleslistmodel.cpp +++ b/src/plugins/qtsupport/exampleslistmodel.cpp @@ -104,8 +104,11 @@ ExampleSetModel::ExampleSetModel() connect(QtVersionManager::instance(), &QtVersionManager::qtVersionsLoaded, this, &ExampleSetModel::qtVersionManagerLoaded); - connect(Core::HelpManager::instance(), &Core::HelpManager::setupFinished, - this, &ExampleSetModel::helpManagerInitialized); + + if (auto helpManager = Core::HelpManager::instance()) { + connect(helpManager, &Core::HelpManager::setupFinished, + this, &ExampleSetModel::helpManagerInitialized); + } } void ExampleSetModel::recreateModel()