QT_BEGIN_NAMESPACE SearchWidget::SearchWidget(QHelpSearchEngine *engine, QWidget *parent) : QWidget(parent) , zoomCount(0) , searchEngine(engine) { TRACE_OBJ QVBoxLayout *vLayout = new QVBoxLayout(this); resultWidget = searchEngine->resultWidget(); QHelpSearchQueryWidget *queryWidget = searchEngine->queryWidget(); vLayout->addWidget(queryWidget); vLayout->addWidget(resultWidget); setFocusProxy(queryWidget); connect(queryWidget, SIGNAL(search()), this, SLOT(search())); connect(resultWidget, SIGNAL(requestShowLink(QUrl)), this, SIGNAL(requestShowLink(QUrl))); connect(searchEngine, SIGNAL(searchingStarted()), this, SLOT(searchingStarted())); connect(searchEngine, SIGNAL(searchingFinished(int)), this, SLOT(searchingFinished(int))); QTextBrowser* browser = resultWidget->findChild<QTextBrowser*>(); if (browser) // Will be null if lib was configured not to use CLucene. browser->viewport()->installEventFilter(this); }
void HelpSearchView::CreateQtPartControl(QWidget* parent) { if (m_ResultWidget == nullptr) { m_Parent = parent; auto vLayout = new QVBoxLayout(parent); // This will be lead to strange behavior when using multiple instances of this view // because the QHelpSearchResultWidget instance is shared. The new view will // reparent the widget. m_ResultWidget = m_SearchEngine->resultWidget(); m_QueryWidget = new QHelpSearchQueryWidget(); vLayout->addWidget(m_QueryWidget); vLayout->addWidget(m_ResultWidget); connect(m_QueryWidget, SIGNAL(search()), this, SLOT(search())); connect(m_ResultWidget, SIGNAL(requestShowLink(QUrl)), this, SLOT(requestShowLink(QUrl))); connect(m_SearchEngine, SIGNAL(searchingStarted()), this, SLOT(searchingStarted())); connect(m_SearchEngine, SIGNAL(searchingFinished(int)), this, SLOT(searchingFinished(int))); QTextBrowser* browser = m_ResultWidget->findChild<QTextBrowser*>(); if (browser) // Will be null if QtHelp was configured not to use CLucene. { browser->viewport()->installEventFilter(this); browser->setContextMenuPolicy(Qt::CustomContextMenu); connect(browser, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showContextMenu(QPoint))); } }
HelpSearchWidget::HelpSearchWidget(HelpEnginePtr engine, QWidget* parent) : QWidget(parent), mVerticalLayout(new QVBoxLayout(this)), mEngine(engine) { this->setLayout(mVerticalLayout); mVerticalLayout->setMargin(0); helpSearchEngine = new QHelpSearchEngine(mEngine->engine()); connect(helpSearchEngine, SIGNAL(indexingStarted()), this, SLOT(indexingStarted())); connect(helpSearchEngine, SIGNAL(indexingFinished()), this, SLOT(indexingFinished())); connect(helpSearchEngine, SIGNAL(searchingStarted()), this, SLOT(searchingIsStarted())); connect(helpSearchEngine, SIGNAL(searchingFinished(int)), this, SLOT(searchingIsFinished(int))); mVerticalLayout->addWidget(helpSearchEngine->queryWidget()); mVerticalLayout->addWidget(helpSearchEngine->resultWidget()); connect(helpSearchEngine->queryWidget(), SIGNAL(search()), this, SLOT(search())); helpSearchEngine->reindexDocumentation(); connect(helpSearchEngine->resultWidget(), SIGNAL(requestShowLink(const QUrl&)), this, SIGNAL(requestShowLink(const QUrl&))); }