refactor: InputFilter::EFilterStatus => InputFilter::FilterStatus enum class
This commit is contained in:
committed by
Chris Rizzitello
parent
e37cea2d6b
commit
7fd9070a80
@ -66,22 +66,23 @@ std::string InputFilter::KeystrokeCondition::format() const
|
||||
return deskflow::string::sprintf("keystroke(%s)", deskflow::KeyMap::formatKey(m_key, m_mask).c_str());
|
||||
}
|
||||
|
||||
InputFilter::EFilterStatus InputFilter::KeystrokeCondition::match(const Event &event)
|
||||
InputFilter::FilterStatus InputFilter::KeystrokeCondition::match(const Event &event)
|
||||
{
|
||||
EFilterStatus status;
|
||||
using enum FilterStatus;
|
||||
FilterStatus status;
|
||||
|
||||
// check for hotkey events
|
||||
if (EventTypes type = event.getType(); type == EventTypes::PrimaryScreenHotkeyDown) {
|
||||
status = kActivate;
|
||||
status = Activate;
|
||||
} else if (type == EventTypes::PrimaryScreenHotkeyUp) {
|
||||
status = kDeactivate;
|
||||
status = Deactivate;
|
||||
} else {
|
||||
return kNoMatch;
|
||||
return NoMatch;
|
||||
}
|
||||
|
||||
// check if it's our hotkey
|
||||
if (const auto *kinfo = static_cast<IPlatformScreen::HotKeyInfo *>(event.getData()); kinfo->m_id != m_id) {
|
||||
return kNoMatch;
|
||||
return NoMatch;
|
||||
}
|
||||
|
||||
return status;
|
||||
@ -138,27 +139,28 @@ std::string InputFilter::MouseButtonCondition::format() const
|
||||
return deskflow::string::sprintf("mousebutton(%s%d)", key.c_str(), m_button);
|
||||
}
|
||||
|
||||
InputFilter::EFilterStatus InputFilter::MouseButtonCondition::match(const Event &event)
|
||||
InputFilter::FilterStatus InputFilter::MouseButtonCondition::match(const Event &event)
|
||||
{
|
||||
static const KeyModifierMask s_ignoreMask =
|
||||
KeyModifierAltGr | KeyModifierCapsLock | KeyModifierNumLock | KeyModifierScrollLock;
|
||||
|
||||
EFilterStatus status;
|
||||
FilterStatus status;
|
||||
|
||||
using enum FilterStatus;
|
||||
// check for hotkey events
|
||||
if (EventTypes type = event.getType(); type == EventTypes::PrimaryScreenButtonDown) {
|
||||
status = kActivate;
|
||||
status = Activate;
|
||||
} else if (type == EventTypes::PrimaryScreenButtonUp) {
|
||||
status = kDeactivate;
|
||||
status = Deactivate;
|
||||
} else {
|
||||
return kNoMatch;
|
||||
return NoMatch;
|
||||
}
|
||||
|
||||
// check if it's the right button and modifiers. ignore modifiers
|
||||
// that cannot be combined with a mouse button.
|
||||
if (const auto *minfo = static_cast<IPlatformScreen::ButtonInfo *>(event.getData());
|
||||
minfo->m_button != m_button || (minfo->m_mask & ~s_ignoreMask) != m_mask) {
|
||||
return kNoMatch;
|
||||
return NoMatch;
|
||||
}
|
||||
|
||||
return status;
|
||||
@ -181,16 +183,16 @@ std::string InputFilter::ScreenConnectedCondition::format() const
|
||||
return deskflow::string::sprintf("connect(%s)", m_screen.c_str());
|
||||
}
|
||||
|
||||
InputFilter::EFilterStatus InputFilter::ScreenConnectedCondition::match(const Event &event)
|
||||
InputFilter::FilterStatus InputFilter::ScreenConnectedCondition::match(const Event &event)
|
||||
{
|
||||
if (event.getType() == EventTypes::ServerConnected) {
|
||||
const auto *info = static_cast<Server::ScreenConnectedInfo *>(event.getData());
|
||||
if (m_screen == info->m_screen || m_screen.empty()) {
|
||||
return kActivate;
|
||||
return FilterStatus::Activate;
|
||||
}
|
||||
}
|
||||
|
||||
return kNoMatch;
|
||||
return FilterStatus::NoMatch;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
@ -649,16 +651,17 @@ bool InputFilter::Rule::handleEvent(const Event &event)
|
||||
// match
|
||||
const ActionList *actions;
|
||||
switch (m_condition->match(event)) {
|
||||
using enum FilterStatus;
|
||||
default:
|
||||
// not handled
|
||||
return false;
|
||||
|
||||
case kActivate:
|
||||
case Activate:
|
||||
actions = &m_activateActions;
|
||||
LOG((CLOG_DEBUG1 "activate actions"));
|
||||
break;
|
||||
|
||||
case kDeactivate:
|
||||
case Deactivate:
|
||||
actions = &m_deactivateActions;
|
||||
LOG((CLOG_DEBUG1 "deactivate actions"));
|
||||
break;
|
||||
|
||||
@ -26,11 +26,11 @@ public:
|
||||
// -------------------------------------------------------------------------
|
||||
// Input Filter Condition Classes
|
||||
// -------------------------------------------------------------------------
|
||||
enum EFilterStatus
|
||||
enum class FilterStatus
|
||||
{
|
||||
kNoMatch,
|
||||
kActivate,
|
||||
kDeactivate
|
||||
NoMatch,
|
||||
Activate,
|
||||
Deactivate
|
||||
};
|
||||
|
||||
class Condition
|
||||
@ -42,7 +42,7 @@ public:
|
||||
virtual Condition *clone() const = 0;
|
||||
virtual std::string format() const = 0;
|
||||
|
||||
virtual EFilterStatus match(const Event &) = 0;
|
||||
virtual FilterStatus match(const Event &) = 0;
|
||||
|
||||
virtual void enablePrimary(PrimaryClient *);
|
||||
virtual void disablePrimary(PrimaryClient *);
|
||||
@ -62,7 +62,7 @@ public:
|
||||
// Condition overrides
|
||||
Condition *clone() const override;
|
||||
std::string format() const override;
|
||||
EFilterStatus match(const Event &) override;
|
||||
FilterStatus match(const Event &) override;
|
||||
void enablePrimary(PrimaryClient *) override;
|
||||
void disablePrimary(PrimaryClient *) override;
|
||||
|
||||
@ -87,7 +87,7 @@ public:
|
||||
// Condition overrides
|
||||
Condition *clone() const override;
|
||||
std::string format() const override;
|
||||
EFilterStatus match(const Event &) override;
|
||||
FilterStatus match(const Event &) override;
|
||||
|
||||
private:
|
||||
ButtonID m_button;
|
||||
@ -105,7 +105,7 @@ public:
|
||||
// Condition overrides
|
||||
Condition *clone() const override;
|
||||
std::string format() const override;
|
||||
EFilterStatus match(const Event &) override;
|
||||
FilterStatus match(const Event &) override;
|
||||
|
||||
private:
|
||||
std::string m_screen;
|
||||
|
||||
@ -21,9 +21,10 @@ public:
|
||||
return "";
|
||||
}
|
||||
|
||||
InputFilter::EFilterStatus match(const Event &ev) override
|
||||
InputFilter::FilterStatus match(const Event &ev) override
|
||||
{
|
||||
return ev.getType() == EventTypes::System ? InputFilter::kActivate : InputFilter::kNoMatch;
|
||||
return ev.getType() == EventTypes::System ? InputFilter::FilterStatus::Activate
|
||||
: InputFilter::FilterStatus::NoMatch;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user