Slightly eased conditions for selection mode to avoid shaky animations.

This commit is contained in:
23rd 2024-10-12 11:04:19 +03:00 committed by John Preston
parent 7b4bd5696b
commit 54b0d965ae
2 changed files with 8 additions and 4 deletions

View file

@ -3657,12 +3657,14 @@ HistoryView::SelectionModeResult HistoryInner::inSelectionMode() const {
const auto inSelectionMode = [&] {
if (hasSelectedItems()) {
return true;
} else if (_mouseAction == MouseAction::Selecting
&& _dragSelFrom
&& _dragSelTo) {
}
const auto isSelecting = _mouseAction == MouseAction::Selecting;
if (isSelecting && _dragSelFrom && _dragSelTo) {
return true;
} else if (_chooseForReportReason.has_value()) {
return true;
} else if (_lastInSelectionMode && isSelecting) {
return true;
}
return false;
}();

View file

@ -1230,7 +1230,9 @@ bool ListWidget::hasSelectedItems() const {
}
SelectionModeResult ListWidget::inSelectionMode() const {
const auto now = hasSelectedItems() || !_dragSelected.empty();
const auto now = hasSelectedItems()
|| !_dragSelected.empty()
|| (_mouseAction == MouseAction::Selecting && _lastInSelectionMode);
if (_lastInSelectionMode != now) {
_lastInSelectionMode = now;
if (_inSelectionModeAnimation.animating()) {