From 240d33ce17fc531e8bc6638af8f71454fe7c05e6 Mon Sep 17 00:00:00 2001 From: Eugene Popov Date: Wed, 27 Mar 2024 10:28:15 +0000 Subject: Better support for RTL This MR fixes some issues related to RTL scripts: - wrong layout in Compact View mode - broken horizontal scrolling in Icon View and Details View modes - broken navigation with left and right arrow keys in Details View mode BUG: 484012 BUG: 449493 --- src/kitemviews/kitemlistcontainer.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/kitemviews/kitemlistcontainer.cpp') diff --git a/src/kitemviews/kitemlistcontainer.cpp b/src/kitemviews/kitemlistcontainer.cpp index 1cac8f7a6..2f9f5d401 100644 --- a/src/kitemviews/kitemlistcontainer.cpp +++ b/src/kitemviews/kitemlistcontainer.cpp @@ -399,6 +399,11 @@ void KItemListContainer::updateSmoothScrollers(Qt::Orientation orientation) m_horizontalSmoothScroller->setPropertyName("scrollOffset"); m_verticalSmoothScroller->setPropertyName("itemOffset"); } + + const bool isRightToLeft = m_controller->view()->layoutDirection() == Qt::RightToLeft; + QScrollBar *hScrollBar = horizontalScrollBar(); + hScrollBar->setInvertedAppearance(isRightToLeft && orientation == Qt::Vertical); + hScrollBar->setInvertedControls(!isRightToLeft || orientation == Qt::Vertical); } void KItemListContainer::updateScrollOffsetScrollBarPolicy() -- cgit v1.3