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 OPENPAGESSWITCHER_H |
5 | #define OPENPAGESSWITCHER_H |
6 | |
7 | #include <QtWidgets/QFrame> |
8 | |
9 | QT_BEGIN_NAMESPACE |
10 | |
11 | class OpenPagesModel; |
12 | class OpenPagesWidget; |
13 | class QModelIndex; |
14 | |
15 | class OpenPagesSwitcher : public QFrame |
16 | { |
17 | Q_OBJECT |
18 | |
19 | public: |
20 | OpenPagesSwitcher(OpenPagesModel *model); |
21 | ~OpenPagesSwitcher() override; |
22 | |
23 | void gotoNextPage(); |
24 | void gotoPreviousPage(); |
25 | |
26 | void selectAndHide(); |
27 | void selectCurrentPage(); |
28 | |
29 | void setVisible(bool visible) override; |
30 | void focusInEvent(QFocusEvent *event) override; |
31 | bool eventFilter(QObject *object, QEvent *event) override; |
32 | |
33 | signals: |
34 | void closePage(const QModelIndex &index); |
35 | void setCurrentPage(const QModelIndex &index); |
36 | |
37 | private: |
38 | void selectPageUpDown(int summand); |
39 | |
40 | private: |
41 | OpenPagesModel *m_openPagesModel; |
42 | OpenPagesWidget *m_openPagesWidget; |
43 | }; |
44 | |
45 | QT_END_NAMESPACE |
46 | |
47 | #endif // OPENPAGESSWITCHER_H |
48 | |