┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFelix Ernst <[email protected]>2020-11-13 11:41:17 +0100
committerFelix Ernst <[email protected]>2020-11-13 11:41:17 +0100
commitd80d79024d04670e9d4bcea12575b08bf0bb76b8 (patch)
tree21bea763f6700f73b1ad0249375c92a430ade415 /src
parent080d17dac2ccdcddba557bb0ea24c534c4ceecf3 (diff)
parent4f645f1b29f0f858b14eed5eca77bf941b52d150 (diff)
Merge branch 'release/20.12'
Diffstat (limited to 'src')
-rw-r--r--src/dolphinnavigatorswidgetaction.cpp17
-rw-r--r--src/kitemviews/kstandarditemlistwidget.cpp3
2 files changed, 16 insertions, 4 deletions
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 <KXMLGUIFactory>
#include <KXmlGuiWindow>
+#include <QApplication>
#include <QDomDocument>
#include <QHBoxLayout>
#include <QPushButton>
@@ -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();
}
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;
}