Use applet geometry for panel scroll margins

This commit is contained in:
ajp_anton
2026-09-09 22:12:24 +00:00
parent f5988605c8
commit 787231cb03
8 changed files with 177 additions and 22 deletions
@@ -52,6 +52,25 @@ private:
QCoreApplication::sendEvent(&window, &event);
}
private Q_SLOTS:
void scrollHitTestingDoesNotExpandClickTargets()
{
QJSEngine engine;
PanelWindow window;
PanelController controller;
setup(controller, window, engine);
controller.setLocateArea(engine.evaluate(u"(function(x,y,scrolling) { return scrolling ? 'launcher' : 'empty'; })"_s));
controller.setProperty("scrollActions", QVariantMap{{u"launcher"_s, u"brightness"_s}, {u"empty"_s, u"volume"_s}});
controller.setProperty("clickActions", QVariantMap{{u"leftClick"_s, u"mute"_s}});
QSignalSpy scrolling(&controller, &PanelController::actionRequested);
QSignalSpy clicking(&controller, &PanelController::clickRequested);
wheel(window, 120);
QCOMPARE(scrolling.count(), 1);
QCOMPARE(scrolling.first(), QVariantList({u"brightness"_s, 1}));
mouse(window, QEvent::MouseButtonPress, 20);
mouse(window, QEvent::MouseButtonRelease, 20);
QCOMPARE(clicking.count(), 1);
QCOMPARE(clicking.first(), QVariantList({u"leftClick"_s}));
}
void wheelOverridesAndNormalBehaviour()
{
QJSEngine engine;