commit
6f596ec5a1
@ -1 +1 @@
|
|||||||
10
|
11
|
||||||
|
@ -0,0 +1,20 @@
|
|||||||
|
commit 2283f5ee3c344fc62a74e41a127e3eee53fb2c37
|
||||||
|
Author: Tsu Jan <tsujan2000@gmail.com>
|
||||||
|
Date: Mon Feb 12 13:10:02 2018 +0330
|
||||||
|
|
||||||
|
Fix icon colorizing at startup
|
||||||
|
|
||||||
|
Fixes https://github.com/lxde/lxqt/issues/1445.
|
||||||
|
|
||||||
|
diff --git a/src/lxqtplatformtheme.cpp b/src/lxqtplatformtheme.cpp
|
||||||
|
index 83786f0..8291eab 100644
|
||||||
|
--- a/src/lxqtplatformtheme.cpp
|
||||||
|
+++ b/src/lxqtplatformtheme.cpp
|
||||||
|
@@ -315,6 +315,7 @@ QVariant LXQtPlatformTheme::themeHint(ThemeHint hint) const {
|
||||||
|
|
||||||
|
QIconEngine *LXQtPlatformTheme::createIconEngine(const QString &iconName) const
|
||||||
|
{
|
||||||
|
+ XdgIconLoader::instance()->setFollowColorScheme(iconFollowColorScheme_);
|
||||||
|
return new XdgIconLoaderEngine(iconName);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,80 @@
|
|||||||
|
From c78433c32c327d09507976a7b5cecff87c224252 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Palo Kisa <palo.kisa@gmail.com>
|
||||||
|
Date: Tue, 13 Feb 2018 10:01:10 +0100
|
||||||
|
Subject: [PATCH] lxqtplatformtheme: Initialize "folowColorScheme" once
|
||||||
|
|
||||||
|
---
|
||||||
|
src/lxqtplatformtheme.cpp | 18 +++++++++++++-----
|
||||||
|
src/lxqtplatformtheme.h | 4 +++-
|
||||||
|
2 files changed, 16 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/lxqtplatformtheme.cpp b/src/lxqtplatformtheme.cpp
|
||||||
|
index 8291eab..467cf07 100644
|
||||||
|
--- a/src/lxqtplatformtheme.cpp
|
||||||
|
+++ b/src/lxqtplatformtheme.cpp
|
||||||
|
@@ -52,13 +52,20 @@ LXQtPlatformTheme::LXQtPlatformTheme():
|
||||||
|
iconFollowColorScheme_(true)
|
||||||
|
, settingsWatcher_(NULL)
|
||||||
|
{
|
||||||
|
- // When the plugin is loaded, it seems that the app is not yet running and
|
||||||
|
+ loadSettings();
|
||||||
|
+ // Note: When the plugin is loaded, it seems that the app is not yet running and
|
||||||
|
// QThread environment is not completely set up. So creating filesystem watcher
|
||||||
|
// does not work since it uses QSocketNotifier internally which can only be
|
||||||
|
// created within QThread thread. So let's schedule a idle handler to initialize
|
||||||
|
// the watcher in the main event loop.
|
||||||
|
- loadSettings();
|
||||||
|
- QTimer::singleShot(0, this, SLOT(initWatch()));
|
||||||
|
+
|
||||||
|
+ // Note2: the QTimer::singleShot with also needs a QThread environment
|
||||||
|
+ // (there is a workaround in qtcore for the 0-timer with the old SLOT notation)
|
||||||
|
+
|
||||||
|
+ // TODO: use the "PointerToMemberFunction" overloads of invokeMethod(), but they
|
||||||
|
+ // are available from Qt v5.10
|
||||||
|
+ //QMetaObject::ivokeMethod(this, &LXQtPlatformTheme::lazyInit, Qt::QueuedConnection);
|
||||||
|
+ QMetaObject::invokeMethod(this, "lazyInit", Qt::QueuedConnection);
|
||||||
|
}
|
||||||
|
|
||||||
|
LXQtPlatformTheme::~LXQtPlatformTheme() {
|
||||||
|
@@ -66,11 +73,13 @@ LXQtPlatformTheme::~LXQtPlatformTheme() {
|
||||||
|
delete settingsWatcher_;
|
||||||
|
}
|
||||||
|
|
||||||
|
-void LXQtPlatformTheme::initWatch()
|
||||||
|
+void LXQtPlatformTheme::lazyInit()
|
||||||
|
{
|
||||||
|
settingsWatcher_ = new QFileSystemWatcher();
|
||||||
|
settingsWatcher_->addPath(settingsFile_);
|
||||||
|
connect(settingsWatcher_, &QFileSystemWatcher::fileChanged, this, &LXQtPlatformTheme::onSettingsChanged);
|
||||||
|
+
|
||||||
|
+ XdgIconLoader::instance()->setFollowColorScheme(iconFollowColorScheme_);
|
||||||
|
}
|
||||||
|
|
||||||
|
void LXQtPlatformTheme::loadSettings() {
|
||||||
|
@@ -315,7 +324,6 @@ QVariant LXQtPlatformTheme::themeHint(ThemeHint hint) const {
|
||||||
|
|
||||||
|
QIconEngine *LXQtPlatformTheme::createIconEngine(const QString &iconName) const
|
||||||
|
{
|
||||||
|
- XdgIconLoader::instance()->setFollowColorScheme(iconFollowColorScheme_);
|
||||||
|
return new XdgIconLoaderEngine(iconName);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/src/lxqtplatformtheme.h b/src/lxqtplatformtheme.h
|
||||||
|
index 3c07c46..d0e7b6e 100644
|
||||||
|
--- a/src/lxqtplatformtheme.h
|
||||||
|
+++ b/src/lxqtplatformtheme.h
|
||||||
|
@@ -78,11 +78,13 @@ class Q_GUI_EXPORT LXQtPlatformTheme : public QObject, public QPlatformTheme {
|
||||||
|
|
||||||
|
// virtual QString standardButtonText(int button) const;
|
||||||
|
|
||||||
|
+public Q_SLOTS:
|
||||||
|
+ void lazyInit();
|
||||||
|
+
|
||||||
|
private:
|
||||||
|
void loadSettings();
|
||||||
|
|
||||||
|
private Q_SLOTS:
|
||||||
|
- void initWatch();
|
||||||
|
void onSettingsChanged();
|
||||||
|
|
||||||
|
private:
|
@ -1,2 +1,5 @@
|
|||||||
|
colorizing-at-startup.patch
|
||||||
|
lxqtplatformtheme-follow-color-scheme.patch
|
||||||
|
|
||||||
# Ubuntu-specific patches
|
# Ubuntu-specific patches
|
||||||
remember-view-mode.patch
|
remember-view-mode.patch
|
||||||
|
Loading…
Reference in new issue