Deskflow 1.22.0.197
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
KeySequenceWidget.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2012 - 2016 Symless Ltd.
4 * SPDX-FileCopyrightText: (C) 2008 Volker Lanz <vl@fidra.de>
5 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
6 */
7
8#pragma once
9
10#include <QPushButton>
11
12#include "KeySequence.h"
13
14class KeySequenceWidget : public QPushButton
15{
16 Q_OBJECT
17
18public:
19 KeySequenceWidget(QWidget *parent, const KeySequence &seq = KeySequence());
20
21Q_SIGNALS:
23
24public:
25 const QString &mousePrefix() const
26 {
27 return m_MousePrefix;
28 }
29 const QString &mousePostfix() const
30 {
31 return m_MousePostfix;
32 }
33 const QString &keyPrefix() const
34 {
35 return m_KeyPrefix;
36 }
37 const QString &keyPostfix() const
38 {
39 return m_KeyPostfix;
40 }
41
42 void setMousePrefix(const QString &s)
43 {
44 m_MousePrefix = s;
45 }
46 void setMousePostfix(const QString &s)
47 {
48 m_MousePostfix = s;
49 }
50 void setKeyPrefix(const QString &s)
51 {
52 m_KeyPrefix = s;
53 }
54 void setKeyPostfix(const QString &s)
55 {
56 m_KeyPostfix = s;
57 }
58
59 const KeySequence &keySequence() const
60 {
61 return m_KeySequence;
62 }
64 {
65 return m_BackupSequence;
66 }
67 void setKeySequence(const KeySequence &seq);
68
69 bool valid() const
70 {
71 return keySequence().valid();
72 }
73
74protected:
75 void mousePressEvent(QMouseEvent *) override;
76 void keyPressEvent(QKeyEvent *) override;
77 bool event(QEvent *event) override;
79 void updateOutput();
80 void startRecording();
81 void stopRecording();
82
83private:
84 enum Status
85 {
86 Stopped,
87 Recording
88 };
89 void setStatus(Status s)
90 {
91 m_Status = s;
92 }
93 Status status() const
94 {
95 return m_Status;
96 }
97
98private:
99 KeySequence m_KeySequence;
100 KeySequence m_BackupSequence;
101 Status m_Status = Status::Stopped;
102 QString m_MousePrefix = QStringLiteral("mousebutton(");
103 QString m_MousePostfix = QStringLiteral(")");
104 QString m_KeyPrefix = QStringLiteral("keystroke(");
105 QString m_KeyPostfix = QStringLiteral(")");
106};
int key
Definition KeySequence.cpp:15
const QString & keyPostfix() const
Definition KeySequenceWidget.h:37
const KeySequence & keySequence() const
Definition KeySequenceWidget.h:59
const KeySequence & backupSequence() const
Definition KeySequenceWidget.h:63
void keySequenceChanged()
void setMousePostfix(const QString &s)
Definition KeySequenceWidget.h:46
void stopRecording()
Definition KeySequenceWidget.cpp:55
KeySequenceWidget(QWidget *parent, const KeySequence &seq=KeySequence())
Definition KeySequenceWidget.cpp:13
void updateOutput()
Definition KeySequenceWidget.cpp:114
void mousePressEvent(QMouseEvent *) override
Definition KeySequenceWidget.cpp:31
void setKeySequence(const KeySequence &seq)
Definition KeySequenceWidget.cpp:22
void startRecording()
Definition KeySequenceWidget.cpp:46
void setKeyPrefix(const QString &s)
Definition KeySequenceWidget.h:50
bool event(QEvent *event) override
Definition KeySequenceWidget.cpp:69
void keyPressEvent(QKeyEvent *) override
Definition KeySequenceWidget.cpp:101
const QString & keyPrefix() const
Definition KeySequenceWidget.h:33
void setKeyPostfix(const QString &s)
Definition KeySequenceWidget.h:54
void setMousePrefix(const QString &s)
Definition KeySequenceWidget.h:42
bool valid() const
Definition KeySequenceWidget.h:69
const QString & mousePrefix() const
Definition KeySequenceWidget.h:25
void appendToSequence(int key)
const QString & mousePostfix() const
Definition KeySequenceWidget.h:29
Definition KeySequence.h:16
bool valid() const
Definition KeySequence.h:24