From 97886cf0dab39ce4b7887e549b93ccec30156ddc Mon Sep 17 00:00:00 2001 From: Vaxry Date: Tue, 28 Apr 2026 15:55:41 +0100 Subject: desktop/rule: cleanup inheritance, use templates to avoid dup --- src/desktop/rule/layerRule/LayerRule.cpp | 30 ++++-------------------------- 1 file changed, 4 insertions(+), 26 deletions(-) (limited to 'src/desktop/rule/layerRule/LayerRule.cpp') diff --git a/src/desktop/rule/layerRule/LayerRule.cpp b/src/desktop/rule/layerRule/LayerRule.cpp index ccff3960..11cdd702 100644 --- a/src/desktop/rule/layerRule/LayerRule.cpp +++ b/src/desktop/rule/layerRule/LayerRule.cpp @@ -85,30 +85,16 @@ static std::expected parseLayerRuleEffect(CLa } } -CLayerRule::CLayerRule(const std::string& name) : IRule(name) { +CLayerRule::CLayerRule(const std::string& name) : CRuleWithEffects(name) { ; } -eRuleType CLayerRule::type() { - return RULE_TYPE_LAYER; -} - -std::expected CLayerRule::addEffect(CLayerRule::storageType e, const std::string& result) { - auto parsed = parseLayerRuleEffect(e, result); - if (!parsed) - return std::unexpected(parsed.error()); - - m_effects.emplace_back(SLayerRuleEffect{.key = e, .raw = result, .value = std::move(*parsed)}); - - return {}; -} - -const std::vector& CLayerRule::effects() { - return m_effects; +std::expected CLayerRule::parseEffect(CLayerRule::storageType e, const std::string& result) { + return parseLayerRuleEffect(e, result); } bool CLayerRule::matches(PHLLS ls) { - if (m_matchEngines.empty() || !m_enabled) + if (!canMatch()) return false; for (const auto& [prop, engine] : m_matchEngines) { @@ -127,11 +113,3 @@ bool CLayerRule::matches(PHLLS ls) { return true; } - -void CLayerRule::setEnabled(bool enable) { - m_enabled = enable; -} - -bool CLayerRule::isEnabled() const { - return m_enabled; -} -- cgit v1.2.3