diff options
| author | Eugene Popov <[email protected]> | 2024-03-29 18:49:40 +0200 |
|---|---|---|
| committer | Méven Car <[email protected]> | 2024-03-30 11:54:13 +0000 |
| commit | 181c33a159e756eca65b60e36803af5614c6a7b4 (patch) | |
| tree | 53edea3b2e42785bc448d1aa82c92cf66d819dfa /src/kitemviews/kstandarditemlistwidget.cpp | |
| parent | c57b0c422bff5e19a9e786f9f4a56ca9fbd8ce75 (diff) | |
Fix selection marker for RTL
This MR makes the selection marker to be shown on the right in RTL mode.
Diffstat (limited to 'src/kitemviews/kstandarditemlistwidget.cpp')
| -rw-r--r-- | src/kitemviews/kstandarditemlistwidget.cpp | 7 |
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)); } |
