diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp index 4baa482b7bb..39794f3f671 100644 --- a/src/plugins/help/helpplugin.cpp +++ b/src/plugins/help/helpplugin.cpp @@ -100,7 +100,6 @@ using namespace Help::Internal; const char SB_INDEX[] = QT_TRANSLATE_NOOP("Help::Internal::HelpPlugin", "Index"); const char SB_CONTENTS[] = QT_TRANSLATE_NOOP("Help::Internal::HelpPlugin", "Contents"); const char SB_BOOKMARKS[] = QT_TRANSLATE_NOOP("Help::Internal::HelpPlugin", "Bookmarks"); -const char SB_SEARCH[] = QT_TRANSLATE_NOOP("Help::Internal::HelpPlugin", "Search"); const char SB_OPENPAGES[] = "OpenPages"; @@ -438,17 +437,15 @@ void HelpPlugin::setupUi() connect(action, SIGNAL(triggered()), this, SLOT(activateContents())); shortcutMap.insert(QLatin1String(SB_CONTENTS), cmd); - SearchWidget *searchWidget = new SearchWidget(); - searchWidget->setWindowTitle(tr(SB_SEARCH)); - m_searchItem = new SideBarItem(searchWidget, QLatin1String(SB_SEARCH)); - connect(searchWidget, SIGNAL(linkActivated(QUrl)), m_centralWidget, + m_searchItem = new SearchSideBarItem; + connect(m_searchItem, SIGNAL(linkActivated(QUrl)), m_centralWidget, SLOT(setSourceFromSearch(QUrl))); action = new QAction(tr("Activate Search in Help mode"), m_splitter); cmd = ActionManager::registerAction(action, "Help.SearchShortcut", modecontext); cmd->setDefaultKeySequence(QKeySequence(UseMacShortcuts ? tr("Meta+/") : tr("Ctrl+Shift+/"))); connect(action, SIGNAL(triggered()), this, SLOT(activateSearch())); - shortcutMap.insert(QLatin1String(SB_SEARCH), cmd); + shortcutMap.insert(m_searchItem->id(), cmd); BookmarkManager *manager = &LocalHelpManager::bookmarkManager(); BookmarkWidget *bookmarkWidget = new BookmarkWidget(manager, 0, false); diff --git a/src/plugins/help/searchwidget.cpp b/src/plugins/help/searchwidget.cpp index fbfeccb058f..53a7305d544 100644 --- a/src/plugins/help/searchwidget.cpp +++ b/src/plugins/help/searchwidget.cpp @@ -31,25 +31,27 @@ #include "localhelpmanager.h" #include "openpagesmanager.h" +#include #include #include #include -#include -#include -#include - -#include -#include -#include -#include #include -#include - +#include #include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include + +static const char SB_SEARCH[] = QT_TRANSLATE_NOOP("Help::Internal::HelpPlugin", "Search"); using namespace Help::Internal; @@ -265,3 +267,22 @@ void SearchWidget::contextMenuEvent(QContextMenuEvent *contextMenuEvent) else if (usedAction == copyAnchorAction) QApplication::clipboard()->setText(link.toString()); } + +// #pragma mark -- SearchSideBarItem + +SearchSideBarItem::SearchSideBarItem() + : SideBarItem(new SearchWidget, QLatin1String(SB_SEARCH)) +{ + widget()->setWindowTitle(tr(SB_SEARCH)); + connect(widget(), SIGNAL(linkActivated(QUrl)), this, SIGNAL(linkActivated(QUrl))); +} + +QList SearchSideBarItem::createToolBarWidgets() +{ + QToolButton *reindexButton = new QToolButton; + reindexButton->setIcon(QIcon(QLatin1String(Core::Constants::ICON_RELOAD_GRAY))); + reindexButton->setToolTip(tr("Regenerate Index")); + connect(reindexButton, SIGNAL(clicked()), + LocalHelpManager::helpEngine().searchEngine(), SLOT(reindexDocumentation())); + return QList() << reindexButton; +} diff --git a/src/plugins/help/searchwidget.h b/src/plugins/help/searchwidget.h index 5750f178558..be3101cd8c2 100644 --- a/src/plugins/help/searchwidget.h +++ b/src/plugins/help/searchwidget.h @@ -30,9 +30,10 @@ #ifndef SEARCHWIDGET_H #define SEARCHWIDGET_H +#include + #include #include - #include QT_BEGIN_NAMESPACE @@ -45,6 +46,19 @@ QT_END_NAMESPACE namespace Help { namespace Internal { +class SearchSideBarItem : public Core::SideBarItem +{ + Q_OBJECT + +public: + SearchSideBarItem(); + + QList createToolBarWidgets(); + +signals: + void linkActivated(const QUrl &url); +}; + class SearchWidget : public QWidget { Q_OBJECT