1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef SEARCHWIDGET_H
5#define SEARCHWIDGET_H
6
7#include <QtCore/QUrl>
8#include <QtCore/QPoint>
9
10#include <QtWidgets/QWidget>
11
12QT_BEGIN_NAMESPACE
13
14class QMouseEvent;
15class QHelpSearchEngine;
16class QHelpSearchResultWidget;
17
18class SearchWidget : public QWidget
19{
20 Q_OBJECT
21
22public:
23 explicit SearchWidget(QHelpSearchEngine *engine, QWidget *parent = nullptr);
24 ~SearchWidget() override;
25
26 void zoomIn();
27 void zoomOut();
28 void resetZoom();
29
30signals:
31 void requestShowLink(const QUrl &url);
32 void requestShowLinkInNewTab(const QUrl &url);
33
34private slots:
35 void search() const;
36 void searchingStarted();
37 void searchingFinished(int searchResultCount);
38
39private:
40 bool eventFilter(QObject* o, QEvent *e) override;
41 void keyPressEvent(QKeyEvent *keyEvent) override;
42 void contextMenuEvent(QContextMenuEvent *contextMenuEvent) override;
43
44private:
45 int zoomCount;
46 QHelpSearchEngine *searchEngine;
47 QHelpSearchResultWidget *resultWidget;
48};
49
50QT_END_NAMESPACE
51
52#endif // SEARCHWIDGET_H
53

source code of qttools/src/assistant/assistant/searchwidget.h