┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/tooltips
diff options
context:
space:
mode:
authorDavid Hallas <[email protected]>2019-03-13 21:10:11 +0100
committerDavid Hallas <[email protected]>2019-03-17 19:11:37 +0100
commit508dc815c75c9db8abaec26ae664ae41bf7f89b5 (patch)
treeb73465470b21d6953dd31c3cb59876fc983a8a8d /src/views/tooltips
parentf0a65179d8da50934ef2ef078c0e6bd221c4eed2 (diff)
Fix "Add Network Folder" tooltip icon does not show on Breeze, shows correctly on Breeze Dark
Summary: Fix "Add Network Folder" tooltip icon does not show on Breeze, shows correctly on Breeze Dark. The fix is taken from D19596. Test Plan: Open Dolphin with the Breeze theme Hover the mouse over the "Add Network Folder" The icon is black on black BUG: 404858 Reviewers: #dolphin, elvisangelaccio, ngraham Reviewed By: #dolphin, elvisangelaccio, ngraham Subscribers: broulik, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D19738
Diffstat (limited to 'src/views/tooltips')
-rw-r--r--src/views/tooltips/tooltipmanager.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/views/tooltips/tooltipmanager.cpp b/src/views/tooltips/tooltipmanager.cpp
index 9e79a8f70..2990f4249 100644
--- a/src/views/tooltips/tooltipmanager.cpp
+++ b/src/views/tooltips/tooltipmanager.cpp
@@ -25,6 +25,7 @@
#include <KIO/PreviewJob>
#include <KJobWidgets>
#include <KToolTipWidget>
+#include <KIconLoader>
#include <QApplication>
#include <QDesktopWidget>
@@ -34,6 +35,15 @@
#include <QTimer>
#include <QWindow>
+class IconLoaderSingleton {
+public:
+ IconLoaderSingleton() = default;
+
+ KIconLoader self;
+};
+
+Q_GLOBAL_STATIC(IconLoaderSingleton, iconLoader)
+
ToolTipManager::ToolTipManager(QWidget* parent) :
QObject(parent),
m_showToolTipTimer(nullptr),
@@ -167,8 +177,13 @@ void ToolTipManager::previewFailed()
if (!m_toolTipRequested) {
return;
}
-
- const QPixmap pixmap = QIcon::fromTheme(m_item.iconName()).pixmap(128, 128);
+ QPalette pal;
+ for (auto state : { QPalette::Active, QPalette::Inactive, QPalette::Disabled }) {
+ pal.setBrush(state, QPalette::WindowText, pal.toolTipText());
+ pal.setBrush(state, QPalette::Window, pal.toolTipBase());
+ }
+ iconLoader->self.setCustomPalette(pal);
+ const QPixmap pixmap = KDE::icon(m_item.iconName(), &iconLoader->self).pixmap(128, 128);
m_fileMetaDataWidget->setPreview(pixmap);
if (!m_showToolTipTimer->isActive()) {
showToolTip();