┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Popov <[email protected]>2024-03-29 18:49:40 +0200
committerMéven Car <[email protected]>2024-03-30 11:54:13 +0000
commit181c33a159e756eca65b60e36803af5614c6a7b4 (patch)
tree53edea3b2e42785bc448d1aa82c92cf66d819dfa
parentc57b0c422bff5e19a9e786f9f4a56ca9fbd8ce75 (diff)
Fix selection marker for RTL
This MR makes the selection marker to be shown on the right in RTL mode.
-rw-r--r--src/kitemviews/kstandarditemlistwidget.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp
index 0d3cfed1a..10494ba7e 100644
--- a/src/kitemviews/kstandarditemlistwidget.cpp
+++ b/src/kitemviews/kstandarditemlistwidget.cpp
@@ -536,6 +536,7 @@ QRectF KStandardItemListWidget::selectionToggleRect() const
{
const_cast<KStandardItemListWidget *>(this)->triggerCacheRefreshing();
+ const QRectF widgetIconRect = iconRect();
const int widgetIconSize = iconSize();
int toggleSize = KIconLoader::SizeSmall;
if (widgetIconSize >= KIconLoader::SizeEnormous) {
@@ -544,7 +545,7 @@ QRectF KStandardItemListWidget::selectionToggleRect() const
toggleSize = KIconLoader::SizeSmallMedium;
}
- QPointF pos = iconRect().topLeft();
+ QPointF pos = widgetIconRect.topLeft();
// If the selection toggle has a very small distance to the
// widget borders, the size of the selection toggle will get
@@ -565,6 +566,10 @@ QRectF KStandardItemListWidget::selectionToggleRect() const
pos.setX(0);
}
+ if (QApplication::isRightToLeft()) {
+ pos.setX(widgetIconRect.right() - (pos.x() + toggleSize - widgetIconRect.left()));
+ }
+
return QRectF(pos, QSizeF(toggleSize, toggleSize));
}