Revision control

++ // Copyright (C) 2016 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
++ // Qt-Security score:significant reason:default
++
++ //
++ // W A R N I N G
++ // -------------
++ //
++ // This file is not part of the Qt API. It exists for the convenience
++ // of Qt Designer. This header file may change from version to version
++ // without notice, or even be removed.
++ //
++ // We mean it.
++ //
++
++ #ifndef ABSTRACTFINDWIDGET_H
++ #define ABSTRACTFINDWIDGET_H
++
++ #include <QtGui/qicon.h>
++ #include <QtWidgets/qwidget.h>
++
++ QT_BEGIN_NAMESPACE
++
++ class QAction;
++ class QCheckBox;
++ class QEvent;
++ class QKeyEvent;
++ class QLabel;
++ class QLineEdit;
++ class QObject;
++ class QToolButton;
++
++ class AbstractFindWidget : public QWidget
++ {
++ Q_OBJECT
++
++ public:
++ enum FindFlag {
++ /// Use a layout that is roughly half as wide and twice as high as the regular one.
++ NarrowLayout = 1,
++ /// Do not show the "Whole words" checkbox.
++ NoWholeWords = 2,
++ /// Do not show the "Case sensitive" checkbox.
++ NoCaseSensitive = 4
++ };
++ Q_DECLARE_FLAGS(FindFlags, FindFlag)
++
++ explicit AbstractFindWidget(FindFlags flags = FindFlags(), QWidget *parent = nullptr);
++ ~AbstractFindWidget() override;
++
++ bool eventFilter(QObject *object, QEvent *e) override;
++
++ static QIcon findIconSet();
++ QAction *createFindAction(QObject *parent);
++
++ public slots:
++ void activate();
++ virtual void deactivate();
++ void findNext();
++ void findPrevious();
++ void findCurrentText();
++
++ protected:
++ void keyPressEvent(QKeyEvent *event) override;
++
++ private slots:
++ void updateButtons();
++
++ protected:
++ virtual void find(const QString &textToFind, bool skipCurrent, bool backward, bool *found, bool *wrapped) = 0;
++
++ bool caseSensitive() const;
++ bool wholeWords() const;
++
++ private:
++ void findInternal(const QString &textToFind, bool skipCurrent, bool backward);
++
++ QLineEdit *m_editFind;
++ QLabel *m_labelWrapped;
++ QToolButton *m_toolNext;
++ QToolButton *m_toolClose;
++ QToolButton *m_toolPrevious;
++ QCheckBox *m_checkCase;
++ QCheckBox *m_checkWholeWords;
++ };
++
++ Q_DECLARE_OPERATORS_FOR_FLAGS(AbstractFindWidget::FindFlags)
++
++ QT_END_NAMESPACE
++
++ #endif // ABSTRACTFINDWIDGET_H