Q3270
A Qt-based 3270 Terminal Emulator
Loading...
Searching...
No Matches
KeyboardSequenceEdit.h
1/*
2 * Q3270 Terminal Emulator
3 *
4 * Copyright (c) 2020–2025 Andy Styles
5 * SPDX-License-Identifier: BSD-3-Clause
6 *
7 * This file is part of Q3270.
8 * See the LICENSE file in the project root for full license information.
9 */
10
11#ifndef KEYBOARDSEQUENCEEDIT_H
12#define KEYBOARDSEQUENCEEDIT_H
13
14#include <QKeySequenceEdit>
15#include <QKeyEvent>
16
17class KeyboardSequenceEdit : public QKeySequenceEdit
18{
19 Q_OBJECT
20
21 public:
22 explicit KeyboardSequenceEdit(QWidget *parent = nullptr);
23
24 signals:
25 void specialKeyCaptured(const QString &symbolic);
26
27 protected:
28 void keyPressEvent(QKeyEvent *event) override;
29 void keyReleaseEvent(QKeyEvent *event) override;
30 void focusInEvent(QFocusEvent *event) override;
31 void focusOutEvent(QFocusEvent *event) override;
32
33 private:
34
35 bool ctrlPending;
36 QString pendingCtrlText;
37
38};
39
40#endif // KEYBOARDSEQUENCEEDIT_H
Definition KeyboardSequenceEdit.h:18
void keyPressEvent(QKeyEvent *event) override
KeyboardSequenceEdit::keyPressEvent - react to a keypress.
Definition KeyboardSequenceEdit.cpp:46
void focusInEvent(QFocusEvent *event) override
KeyboardSequenceEdit::focusInEvent - react to the field gaining focus.
Definition KeyboardSequenceEdit.cpp:150
void focusOutEvent(QFocusEvent *event) override
KeyboardSequenceEdit::focusOutEvent - react to the field losing focus.
Definition KeyboardSequenceEdit.cpp:166
void keyReleaseEvent(QKeyEvent *event) override
KeyboardSequenceEdit::keyReleaseEvent - react to a key release.
Definition KeyboardSequenceEdit.cpp:118