AntiMicroX / AntiMicroX/antimicrox

Refactor class JoyButtonSlot

Offen
#376 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
good first issue refactor
Vorherrschende Sprache
C++
Sterne
4k
Forks
249
Ø Merge
13 Min.
Gemergte PRs (30 T.)
1

Beschreibung

Class `JoyButtonSlot` should be divided into several smaller classes with common ancestor.

It would help to avoid mess in code.

New classes should describe actions and execution of them.
It would help avoiding things like:

```cpp

void sendevent(JoyButtonSlot *slot, bool pressed)
{
JoyButtonSlot::JoySlotInputAction device = slot->getSlotMode();

if (device == JoyButtonSlot::JoyKeyboard)
{
EventHandlerFactory::getInstance()->handler()->sendKeyboardEvent(slot, pressed);
} else if (device == JoyButtonSlot::JoyMouseButton)
{
EventHandlerFactory::getInstance()->handler()->sendMouseButtonEvent(slot, pressed);
} else if ((device == JoyButtonSlot::JoyTextEntry) && pressed && !slot->getTextData().isEmpty())
{
EventHandlerFactory::getInstance()->handler()->sendTextEntryEvent(slot->getTextData());
} else if ((device == JoyButtonSlot::JoyExecute) && pressed && !slot->getTextData().isEmpty())
{
///....
```
Or
```cpp
if ((tempcode == static_cast(JoyButtonSlot::MouseWheelUp)) ||
(tempcode == static_cast(JoyButtonSlot::MouseWheelDown)))
{
slot->getMouseInterval()->restart();
wheelVerticalTime.restart();
currentWheelVerticalEvent = slot;
getActiveSlotsLocal().append(slot);
wheelEventVertical();
currentWheelVerticalEvent = nullptr;
} else if ((tempcode == static_cast(JoyButtonSlot::MouseWheelLeft)) ||
(tempcode == static_cast(JoyButtonSlot::MouseWheelRight)))
{
slot->getMouseInterval()->restart();
wheelHorizontalTime.restart();
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.