Index: tools/assistant/tools/assistant/main.cpp =================================================================== RCS file: /ThirdParty/Qt/tools/assistant/tools/assistant/main.cpp,v retrieving revision 1.2 diff -u -r1.2 main.cpp --- tools/assistant/tools/assistant/main.cpp 17 Feb 2010 09:51:57 -0000 1.2 +++ tools/assistant/tools/assistant/main.cpp 17 Aug 2010 16:39:04 -0000 @@ -156,6 +156,10 @@ caller.customValue(QLatin1String("AboutImages"))); user.setCustomValue(QLatin1String("defaultHomepage"), caller.customValue(QLatin1String("defaultHomepage"))); + user.setCustomValue(QLatin1String("EnableSearchFallback"), + caller.customValue(QLatin1String("EnableSearchFallback"))); + user.setCustomValue(QLatin1String("SearchFallbackFieldName"), + caller.customValue(QLatin1String("SearchFallbackFieldName"))); return true; } Index: tools/assistant/tools/assistant/remotecontrol.cpp =================================================================== RCS file: /ThirdParty/Qt/tools/assistant/tools/assistant/remotecontrol.cpp,v retrieving revision 1.3 diff -u -r1.3 remotecontrol.cpp --- tools/assistant/tools/assistant/remotecontrol.cpp 13 Apr 2010 08:31:09 -0000 1.3 +++ tools/assistant/tools/assistant/remotecontrol.cpp 17 Aug 2010 17:43:36 -0000 @@ -53,6 +53,7 @@ #include #include +#include #ifdef Q_OS_WIN # include "remotecontrol_win.h" @@ -211,8 +212,34 @@ m_activateKeyword = arg; } else { m_mainWindow->setIndexString(arg); - if (!arg.isEmpty()) + if (!arg.isEmpty()) { + bool searchFallbackEnabled = m_helpEngine->customValue(QLatin1String("EnableSearchFallback"), false).toBool(); + if (!m_helpEngine->indexWidget()->currentIndex().isValid() && searchFallbackEnabled) { + m_mainWindow->showSearch(); + QString searchFallbackFieldName = m_helpEngine->customValue(QLatin1String("SearchFallbackFieldName"), QLatin1String("DEFAULT")).toString(); + QHelpSearchQuery::FieldName field; + if (searchFallbackFieldName == "DEFAULT") + field = QHelpSearchQuery::DEFAULT; + else if (searchFallbackFieldName == "FUZZY") + field = QHelpSearchQuery::FUZZY; + else if (searchFallbackFieldName == "WITHOUT") + field = QHelpSearchQuery::WITHOUT; + else if (searchFallbackFieldName == "PHRASE") + field = QHelpSearchQuery::PHRASE; + else if (searchFallbackFieldName == "ALL") + field = QHelpSearchQuery::ALL; + else if (searchFallbackFieldName == "ATLEAST") + field = QHelpSearchQuery::ATLEAST; + QList queryList; + queryList << QHelpSearchQuery(field, QStringList(arg)); + m_helpEngine->searchEngine()->search(queryList); + // how to get search term into QHelpSearchQueryWidget? + //m_helpEngine->searchEngine()->queryWidget()->??? + } + else { m_helpEngine->indexWidget()->activateCurrentItem(); + } + } } } else if (cmd == QLatin1String("activateidentifier")) { if (m_caching) { Index: tools/assistant/tools/qcollectiongenerator/main.cpp =================================================================== RCS file: /ThirdParty/Qt/tools/assistant/tools/qcollectiongenerator/main.cpp,v retrieving revision 1.2 diff -u -r1.2 main.cpp --- tools/assistant/tools/qcollectiongenerator/main.cpp 17 Feb 2010 09:51:58 -0000 1.2 +++ tools/assistant/tools/qcollectiongenerator/main.cpp 17 Aug 2010 16:22:37 -0000 @@ -74,6 +74,10 @@ bool hideAddressBar() const { return m_hideAddressBar; } bool enableDocumentationManager() const { return m_enableDocumentationManager; } + bool enableSearchFallback() const + { return m_enableSearchFallback; } + QString searchFallbackFieldName() const + { return m_searchFallbackFieldName; } QMap aboutMenuTexts() const { return m_aboutMenuTexts; } @@ -109,6 +113,8 @@ bool m_enableAddressBar; bool m_hideAddressBar; bool m_enableDocumentationManager; + bool m_enableSearchFallback; + QString m_searchFallbackFieldName; QMap m_aboutMenuTexts; QString m_aboutIcon; QMap m_aboutTextFiles; @@ -130,6 +136,7 @@ m_enableAddressBar = true; m_hideAddressBar = true; m_enableDocumentationManager = true; + m_enableSearchFallback = false; addData(contents); while (!atEnd()) { @@ -188,6 +195,11 @@ } else if (name() == QLatin1String("enableDocumentationManager")) { if (readElementText() == QLatin1String("false")) m_enableDocumentationManager = false; + } else if (name() == QLatin1String("enableSearchFallback")) { + if (!attributes().value(QLatin1String("fieldName")).toString().isEmpty()) + m_searchFallbackFieldName = attributes().value(QLatin1String("fieldName")).toString(); + if (readElementText() == QLatin1String("true")) + m_enableSearchFallback = true; } else if (name() == QLatin1String("enableAddressBar")) { if (attributes().value(QLatin1String("visible")) == QLatin1String("true")) m_hideAddressBar = false; @@ -466,6 +478,10 @@ config.enableAddressBar()); helpEngine.setCustomValue(QLatin1String("HideAddressBar"), config.hideAddressBar()); + helpEngine.setCustomValue(QLatin1String("EnableSearchFallback"), + config.enableSearchFallback()); + helpEngine.setCustomValue(QLatin1String("SearchFallbackFieldName"), + config.searchFallbackFieldName()); helpEngine.setCustomValue(QLatin1String("CreationTime"), QDateTime::currentDateTime().toTime_t());