Add fast Ctrl/Shift scroll to ElasticScroll.
This commit is contained in:
parent
edfcac751d
commit
fb1716c91f
1 changed files with 9 additions and 2 deletions
|
|
@ -660,7 +660,14 @@ bool ElasticScroll::handleWheelEvent(not_null<QWheelEvent*> e, bool touch) {
|
|||
const auto guard = gsl::finally([&] {
|
||||
_lastScroll = now;
|
||||
});
|
||||
const auto pixels = ScrollDelta(e, touch);
|
||||
const auto unmultiplied = ScrollDelta(e, touch);
|
||||
const auto multiply = e->modifiers()
|
||||
& (Qt::ControlModifier | Qt::ShiftModifier);
|
||||
const auto pixels = multiply
|
||||
? QPoint(
|
||||
(unmultiplied.x() * std::max(width(), 120) / 120.),
|
||||
(unmultiplied.y() * std::max(height(), 120) / 120.))
|
||||
: unmultiplied;
|
||||
auto delta = _vertical ? -pixels.y() : pixels.x();
|
||||
if (std::abs(_vertical ? pixels.x() : pixels.y()) >= std::abs(delta)) {
|
||||
delta = 0;
|
||||
|
|
@ -1030,7 +1037,7 @@ void ElasticScroll::sendWheelEvent(Qt::ScrollPhase phase, QPoint delta) {
|
|||
delta,
|
||||
delta,
|
||||
Qt::NoButton,
|
||||
QGuiApplication::keyboardModifiers(),
|
||||
Qt::KeyboardModifiers(), // Ignore Ctrl/Shift fast scroll on touch.
|
||||
phase,
|
||||
false,
|
||||
Qt::MouseEventSynthesizedByApplication);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue