1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2016 The Qt Company Ltd. 4 ** Contact: https://www.qt.io/licensing/ 5 ** 6 ** This file is part of the Qt Assistant of the Qt Toolkit. 7 ** 8 ** $QT_BEGIN_LICENSE:GPL-EXCEPT$ 9 ** Commercial License Usage 10 ** Licensees holding valid commercial Qt licenses may use this file in 11 ** accordance with the commercial license agreement provided with the 12 ** Software or, alternatively, in accordance with the terms contained in 13 ** a written agreement between you and The Qt Company. For licensing terms 14 ** and conditions see https://www.qt.io/terms-conditions. For further 15 ** information use the contact form at https://www.qt.io/contact-us. 16 ** 17 ** GNU General Public License Usage 18 ** Alternatively, this file may be used under the terms of the GNU 19 ** General Public License version 3 as published by the Free Software 20 ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT 21 ** included in the packaging of this file. Please review the following 22 ** information to ensure the GNU General Public License requirements will 23 ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 24 ** 25 ** $QT_END_LICENSE$ 26 ** 27 ****************************************************************************/ 28 29 #ifndef INDEXWINDOW_H 30 #define INDEXWINDOW_H 31 32 #include <QtCore/QUrl> 33 #include <QtWidgets/QWidget> 34 #include <QtWidgets/QLineEdit> 35 36 QT_BEGIN_NAMESPACE 37 38 class QHelpIndexWidget; 39 class QModelIndex; 40 struct QHelpLink; 41 42 class IndexWindow : public QWidget 43 { 44 Q_OBJECT 45 46 public: 47 IndexWindow(QWidget *parent = nullptr); 48 ~IndexWindow() override; 49 50 void setSearchLineEditText(const QString &text); searchLineEditText()51 QString searchLineEditText() const 52 { 53 return m_searchLineEdit->text(); 54 } 55 56 signals: 57 void linkActivated(const QUrl &link); 58 void documentsActivated(const QList<QHelpLink> &documents, const QString &keyword); 59 void escapePressed(); 60 61 private slots: 62 void filterIndices(const QString &filter); 63 void enableSearchLineEdit(); 64 void disableSearchLineEdit(); 65 66 private: 67 bool eventFilter(QObject *obj, QEvent *e) override; 68 void focusInEvent(QFocusEvent *e) override; 69 void open(QHelpIndexWidget *indexWidget, const QModelIndex &index); 70 71 QLineEdit *m_searchLineEdit; 72 QHelpIndexWidget *m_indexWidget; 73 }; 74 75 QT_END_NAMESPACE 76 77 #endif // INDEXWINDOW_H 78