Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-13 09:22:50

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // Copyright (C) 2013 Ivan Komissarov.
0003 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0004 // Qt-Security score:significant reason:default
0005 
0006 #ifndef QKEYSEQUENCEEDIT_H
0007 #define QKEYSEQUENCEEDIT_H
0008 
0009 #include <QtWidgets/qtwidgetsglobal.h>
0010 #include <QtWidgets/qwidget.h>
0011 
0012 QT_REQUIRE_CONFIG(keysequenceedit);
0013 
0014 QT_BEGIN_NAMESPACE
0015 
0016 class QKeySequenceEditPrivate;
0017 class Q_WIDGETS_EXPORT QKeySequenceEdit : public QWidget
0018 {
0019     Q_OBJECT
0020     Q_PROPERTY(QKeySequence keySequence READ keySequence WRITE setKeySequence
0021                NOTIFY keySequenceChanged USER true)
0022     Q_PROPERTY(bool clearButtonEnabled READ isClearButtonEnabled WRITE setClearButtonEnabled)
0023     Q_PROPERTY(qsizetype maximumSequenceLength READ maximumSequenceLength WRITE setMaximumSequenceLength)
0024     Q_PROPERTY(QList<QKeyCombination> finishingKeyCombinations READ finishingKeyCombinations WRITE setFinishingKeyCombinations)
0025 
0026 public:
0027     explicit QKeySequenceEdit(QWidget *parent = nullptr);
0028     explicit QKeySequenceEdit(const QKeySequence &keySequence, QWidget *parent = nullptr);
0029     ~QKeySequenceEdit();
0030 
0031     QKeySequence keySequence() const;
0032     qsizetype maximumSequenceLength() const;
0033 
0034     void setClearButtonEnabled(bool enable);
0035     bool isClearButtonEnabled() const;
0036 
0037     void setFinishingKeyCombinations(const QList<QKeyCombination> &finishingKeyCombinations);
0038     QList<QKeyCombination> finishingKeyCombinations() const;
0039 
0040 public Q_SLOTS:
0041     void setKeySequence(const QKeySequence &keySequence);
0042     void clear();
0043     void setMaximumSequenceLength(qsizetype count);
0044 
0045 Q_SIGNALS:
0046     void editingFinished();
0047     void keySequenceChanged(const QKeySequence &keySequence);
0048 
0049 protected:
0050     QKeySequenceEdit(QKeySequenceEditPrivate &d, QWidget *parent, Qt::WindowFlags f);
0051 
0052     bool event(QEvent *) override;
0053     void keyPressEvent(QKeyEvent *) override;
0054     void keyReleaseEvent(QKeyEvent *) override;
0055     void timerEvent(QTimerEvent *) override;
0056     void focusOutEvent(QFocusEvent *) override;
0057 
0058 private:
0059     Q_DISABLE_COPY(QKeySequenceEdit)
0060     Q_DECLARE_PRIVATE(QKeySequenceEdit)
0061 };
0062 
0063 QT_END_NAMESPACE
0064 
0065 #endif // QKEYSEQUENCEEDIT_H