Help: Provide a button for re-indexing the documentation

It sometimes just breaks, so having a simple way for re-indexing seems
appropriate.

Task-number: QTCREATORBUG-11484
Change-Id: I4010d31cbe04f9ef57ebe772610118d8aa7a2ea2
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
This commit is contained in:
Alessandro Portale
2014-06-12 18:01:43 +02:00
committed by Eike Ziller
parent ff2c4a28f2
commit 9cca576703
3 changed files with 49 additions and 17 deletions

View File

@@ -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);

View File

@@ -31,25 +31,27 @@
#include "localhelpmanager.h"
#include "openpagesmanager.h"
#include <coreplugin/coreconstants.h>
#include <coreplugin/icore.h>
#include <coreplugin/progressmanager/progressmanager.h>
#include <utils/styledbar.h>
#include <QMap>
#include <QString>
#include <QStringList>
#include <QMenu>
#include <QLayout>
#include <QKeyEvent>
#include <QClipboard>
#include <QApplication>
#include <QTextBrowser>
#include <QClipboard>
#include <QHelpEngine>
#include <QHelpSearchEngine>
#include <QHelpSearchQueryWidget>
#include <QHelpSearchResultWidget>
#include <QKeyEvent>
#include <QLayout>
#include <QMap>
#include <QMenu>
#include <QString>
#include <QStringList>
#include <QTextBrowser>
#include <QToolButton>
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<QToolButton *> 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<QToolButton *>() << reindexButton;
}

View File

@@ -30,9 +30,10 @@
#ifndef SEARCHWIDGET_H
#define SEARCHWIDGET_H
#include <coreplugin/sidebar.h>
#include <QFutureInterface>
#include <QFutureWatcher>
#include <QWidget>
QT_BEGIN_NAMESPACE
@@ -45,6 +46,19 @@ QT_END_NAMESPACE
namespace Help {
namespace Internal {
class SearchSideBarItem : public Core::SideBarItem
{
Q_OBJECT
public:
SearchSideBarItem();
QList<QToolButton *> createToolBarWidgets();
signals:
void linkActivated(const QUrl &url);
};
class SearchWidget : public QWidget
{
Q_OBJECT