From 0b13ee7f7db9e2c697dd788d12d72185fe8ab647 Mon Sep 17 00:00:00 2001 From: John Preston Date: Sun, 29 Mar 2020 12:57:59 +0400 Subject: [PATCH] Scroll-by-drag in folders when reordering pinned. Fixes #7459. --- Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp | 3 ++- Telegram/SourceFiles/dialogs/dialogs_widget.cpp | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp index b719ac56a0..6ad29fc53f 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp @@ -1247,7 +1247,8 @@ bool InnerWidget::updateReorderPinned(QPoint localPosition) { const auto delta = [&] { if (localPosition.y() < _visibleTop) { return localPosition.y() - _visibleTop; - } else if (_openedFolder && localPosition.y() > _visibleBottom) { + } else if ((_openedFolder || _filterId) + && localPosition.y() > _visibleBottom) { return localPosition.y() - _visibleBottom; } return 0; diff --git a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp index 419bf6c503..f01a069576 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp @@ -745,7 +745,9 @@ void Widget::onDraggingScrollDelta(int delta) { } void Widget::onDraggingScrollTimer() { - auto delta = (_draggingScrollDelta > 0) ? qMin(_draggingScrollDelta * 3 / 20 + 1, int32(Ui::kMaxScrollSpeed)) : qMax(_draggingScrollDelta * 3 / 20 - 1, -int32(Ui::kMaxScrollSpeed)); + const auto delta = (_draggingScrollDelta > 0) + ? qMin(_draggingScrollDelta * 3 / 20 + 1, Ui::kMaxScrollSpeed) + : qMax(_draggingScrollDelta * 3 / 20 - 1, -Ui::kMaxScrollSpeed); _scroll->scrollToY(_scroll->scrollTop() + delta); }