-
Notifications
You must be signed in to change notification settings - Fork 25
/
sendkeys.cpp
108 lines (95 loc) · 3.26 KB
/
sendkeys.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/**************************************************************************
* Copyright (c) 2012-2015 Raffaele Pertile <[email protected]>
* This file is part of touchegg-gce.
*
* touchegg-gce is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* touchegg-gce is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with touchegg-gce. If not, see <http://www.gnu.org/licenses/>.
**************************************************************************/
#include "sendkeys.h"
#include "ui_sendkeys.h"
//#include <QDebug>
SendKeys::SendKeys(QWidget *parent) :
QFrame(parent),
ui(new Ui::SendKeys)
{
ui->setupUi(this);
superBox = findChild<QCheckBox *>("superBox");
ctrlBox = findChild<QCheckBox *>("ctrlBox");
altBox = findChild<QCheckBox *>("altBox");
altGrBox = findChild<QCheckBox *>("altGrBox");
shiftBox = findChild<QCheckBox *>("shiftBox");
keyBox = findChild<QLineEdit *>("keyBox");
}
SendKeys::~SendKeys()
{
delete ui;
}
void SendKeys::setKeys(QString keys){
int k = 0;
while (true){
QString part = keys.section('+',k,k,QString::SectionSkipEmpty);
if (part.isEmpty()) break;
while (part.startsWith(" ")) part.remove(0,1);
while (part.endsWith(" ")) part.chop(1);
if (!part.isEmpty()){
if (part == "Super") superBox->setChecked(true);
else if (part == "Shift") shiftBox->setChecked(true);
else if (part == "Control") ctrlBox->setChecked(true);
else if (part == "Alt") altBox->setChecked(true);
else if (part == "AltGr") altGrBox->setChecked(true);
else keyBox->setText(keyBox->text().append(keyBox->text().isEmpty()?"":"+").append(part));
}
k++;
}
}
QString SendKeys::getKeys(){
QString ret = QString("");
if (superBox->isChecked()) ret.append("Super");
if (ctrlBox->isChecked()){
if (!ret.isEmpty()) ret.append("+");
ret.append("Control");
}
if (altBox->isChecked()){
if (!ret.isEmpty()) ret.append("+");
ret.append("Alt");
}
if (altGrBox->isChecked()){
if (!ret.isEmpty()) ret.append("+");
ret.append("AltGr");
}
if (shiftBox->isChecked()){
if (!ret.isEmpty()) ret.append("+");
ret.append("Shift");
}
if (!keyBox->text().isEmpty()){
if (!ret.isEmpty()) ret.append("+");
ret.append(keyBox->text());
}
return ret;
}
void SendKeys::on_keyBox_textChanged(const QString &/*arg1*/)
{
}
void SendKeys::on_keyBox_textEdited(const QString &/*arg1*/)
{
// QLineEdit *keyBox = findChild<QLineEdit *>("keyBox");
}
void SendKeys::on_keyBox_keyCatched(const QString & /*text*/)
{
//qDebug() << text;
}
void SendKeys::on_pushButton_clicked()
{
// QLineEdit *keyBox = findChild<QLineEdit *>("keyBox");
keyBox->clear();
}