forked from AntiMicroX/antimicrox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtestquicksetdialog.cpp
129 lines (95 loc) · 4.03 KB
/
testquicksetdialog.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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/* antimicrox Gamepad to KB+M event mapper
* Copyright (C) 2015 Travis Nickles <nickles.travis@gmail.com>
* Copyright (C) 2020 Jagoda Górska <juliagoda.pl@protonmail>
* Copyright (C) 2020 Paweł Kotiuk <kotiuk@zohomail.eu>
*
* This program 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.
* This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "quicksetdialog.h"
#include <QtTest/QtTest>
/*
buttonBox->Close cannot be disabled
joystickDialogLabel->text() cannot be empty
getJoystick() cannot be null pointer
if joystickDialogLabel->text() == ui->joystickDialogLabel->text().arg(joystick->getSDLName()).arg(joystick->getName())
QListIterator<JoyControlStick*> sticksList = currentset->getSticks().values();
if sticksList.hasNext() then device has sticks (amount = currentset->getSticks().values().count())
QListIterator<JoyAxis*> axesList = currentset->getAxes()->values();;
if axesList.hasNext() then device has axes (amount = currentset->getAxes()->values().count())
QListIterator<JoyDPad*> dpadsList = currentset->getHats().values();
if dpadsList.hasNext() then device has dpads (amount = currentset->getHats().values().count())
QListIterator<VDPad*> vdpadsList = currentset->getVdpads().values();
if vdpadsList.hasNext() then device has vdpads (amount = currentset->getVdpads().values().count())
QListIterator<JoyButton*> btnsList = currentset->getButtons().values();
if btnsList.hasNext() then device has buttons (amount = currentset->getButtons().values().count())
emit pressed stick
qobject_cast<JoyControlStick*>(getLastPressedButton()) != nullptr
add thread to list
emit pressed axis
possibleAxisAction && qobject_cast<JoyAxis*>(getLastPressedButton()) != nullptr
add thread to list
emit pressed dpad
qobject_cast<JoyDPad*>(getLastPressedButton()) != nullptr
add thread to list
emit pressed vdpad
qobject_cast<VDPad*>(getLastPressedButton()) != nullptr
add thread to list
emit pressed button
qobject_cast<JoyButton*>(getLastPressedButton()) != nullptr
add thread to list
emit pressed any button
getHelper() cannot be nullptr
add thread to list
all threads should be different
run restoreJoystickState (below connections don't exist anymore):
for each stickbutton
connect(stickbutton, &JoyControlStickButton::clicked, this, [this, stickbutton]() {
showStickButtonDialog(stickbutton);
});
for each naxisbutton
connect(naxisbutton, &JoyAxisButton::clicked, this, [this, naxisbutton]() {
showAxisButtonDialog(naxisbutton);
});
for each paxisbutton
connect(paxisbutton, &JoyAxisButton::clicked, this, [this, paxisbutton]() {
showAxisButtonDialog(paxisbutton);
});
for each dpadbutton
connect(dpadbutton, &JoyDPadButton::clicked, this, [this, dpadbutton] {
showDPadButtonDialog(dpadbutton);
});
for each vdpadbutton
connect(dpadbutton, &JoyDPadButton::clicked, this, [this, dpadbutton] {
showDPadButtonDialog(dpadbutton);
});
for each button
connect(button, &JoyButton::clicked, this, [this, button] {
showButtonDialog(button);
});
*/
class TestQuickSetDialog: public QObject
{
Q_OBJECT
public:
TestQuickSetDialog(QObject* parent = 0);
private slots:
private:
QuickSetDialog quicksetdialog;
};
TestQuickSetDialog::TestQuickSetDialog(QObject* parent) :
QObject(parent),
QuickSetDialog()
{
QTestEventLoop::instance().enterLoop(1);
}
// QTEST_MAIN(TestQuickSetDialog)
#include "testquicksetdialog.moc"