From 1208f86696bde5011f57b1b577d149a1013d2553 Mon Sep 17 00:00:00 2001 From: Alexander Lohnau Date: Thu, 12 Nov 2020 10:01:08 +0100 Subject: Fix qrc icon Apparently the icon was not null, because the mimetype was known. But there was no icon associated with it and we got an icon which is not null, but has a null pixmap. --- src/kitemviews/kstandarditemlistwidget.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp index 83dc0394d..73744b385 100644 --- a/src/kitemviews/kstandarditemlistwidget.cpp +++ b/src/kitemviews/kstandarditemlistwidget.cpp @@ -1488,7 +1488,8 @@ QPixmap KStandardItemListWidget::pixmapForIcon(const QString& name, const QStrin if (icon.isNull()) { icon = QIcon(name); } - if (icon.isNull()) { + if (icon.isNull() + || icon.pixmap(size / qApp->devicePixelRatio(), size / qApp->devicePixelRatio(), mode).isNull()) { icon = fallbackIcon; } -- cgit v1.3 From 4f645f1b29f0f858b14eed5eca77bf941b52d150 Mon Sep 17 00:00:00 2001 From: Felix Ernst Date: Wed, 11 Nov 2020 15:40:14 +0100 Subject: Fix navigator alignment for right-to-left localizations --- src/dolphinnavigatorswidgetaction.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/dolphinnavigatorswidgetaction.cpp b/src/dolphinnavigatorswidgetaction.cpp index 984e1f35c..e0ae3132a 100644 --- a/src/dolphinnavigatorswidgetaction.cpp +++ b/src/dolphinnavigatorswidgetaction.cpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include @@ -90,10 +91,20 @@ void DolphinNavigatorsWidgetAction::followViewContainersGeometry( int globalXOfPrimary, int widthOfPrimary, int globalXOfSecondary, int widthOfSecondary) { - m_globalXOfSplitter = m_splitter->mapToGlobal(QPoint(0,0)).x(); - m_globalXOfPrimary = globalXOfPrimary; + if (QApplication::layoutDirection() == Qt::LeftToRight) { + m_globalXOfSplitter = m_splitter->mapToGlobal(QPoint(0,0)).x(); + m_globalXOfPrimary = globalXOfPrimary; + m_globalXOfSecondary = globalXOfSecondary; + } else { + // When the direction is reversed, globalX does not change. + // For the adjustSpacing() code to work we need globalX to measure from right to left + // and to measure up to the rightmost point of a widget instead of the leftmost. + m_globalXOfSplitter = (-1) * (m_splitter->mapToGlobal(QPoint(0,0)).x() + m_splitter->width()); + m_globalXOfPrimary = (-1) * (globalXOfPrimary + widthOfPrimary); + m_globalXOfSecondary = (globalXOfSecondary == INT_MIN) ? INT_MIN : + (-1) * (globalXOfSecondary + widthOfSecondary); + } m_widthOfPrimary = widthOfPrimary; - m_globalXOfSecondary = globalXOfSecondary; m_widthOfSecondary = widthOfSecondary; adjustSpacing(); } -- cgit v1.3