From b323c4e6be47a3695dde72151e518cc6c6f46913 Mon Sep 17 00:00:00 2001 From: jagannatharjun Date: Sat, 1 Aug 2020 01:37:08 +0530 Subject: [PATCH 1/2] Set stylesheet of target widget rather then defining global stylesheet --- src/gui/statusbar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/statusbar.cpp b/src/gui/statusbar.cpp index 3e566b951..3dbbf14f6 100644 --- a/src/gui/statusbar.cpp +++ b/src/gui/statusbar.cpp @@ -49,7 +49,7 @@ StatusBar::StatusBar(QWidget *parent) #ifndef Q_OS_MACOS // Redefining global stylesheet breaks certain elements on mac like tabs. // Qt checks whether the stylesheet class inherts("QMacStyle") and this becomes false. - qApp->setStyleSheet("QStatusBar::item { border-width: 0; }"); + setStyleSheet("QStatusBar::item { border-width: 0; }"); #endif BitTorrent::Session *const session = BitTorrent::Session::instance(); From 5b4a9408422550bcb90a971f346f89f36c4ebf62 Mon Sep 17 00:00:00 2001 From: jagannatharjun Date: Sat, 1 Aug 2020 01:38:00 +0530 Subject: [PATCH 2/2] Load custom theme before initializing main window Improves debug build startup time with custom themes --- src/app/application.cpp | 1 - src/gui/uithememanager.cpp | 6 +----- src/gui/uithememanager.h | 3 +-- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/app/application.cpp b/src/app/application.cpp index f1ff45841..9a8866086 100644 --- a/src/app/application.cpp +++ b/src/app/application.cpp @@ -615,7 +615,6 @@ int Application::exec(const QStringList ¶ms) #else UIThemeManager::initInstance(); m_window = new MainWindow; - UIThemeManager::instance()->applyStyleSheet(); #endif // DISABLE_GUI m_running = true; diff --git a/src/gui/uithememanager.cpp b/src/gui/uithememanager.cpp index a48656744..92fd26ba2 100644 --- a/src/gui/uithememanager.cpp +++ b/src/gui/uithememanager.cpp @@ -88,6 +88,7 @@ UIThemeManager::UIThemeManager() else { loadColorsFromJSONConfig(); applyPalette(); + applyStyleSheet(); } } } @@ -99,11 +100,6 @@ UIThemeManager *UIThemeManager::instance() void UIThemeManager::applyStyleSheet() const { - if (!m_useCustomTheme) { - qApp->setStyleSheet({}); - return; - } - QFile qssFile(":uitheme/stylesheet.qss"); if (!qssFile.open(QIODevice::ReadOnly | QIODevice::Text)) { qApp->setStyleSheet({}); diff --git a/src/gui/uithememanager.h b/src/gui/uithememanager.h index e2580b78b..6c23a9f21 100644 --- a/src/gui/uithememanager.h +++ b/src/gui/uithememanager.h @@ -45,8 +45,6 @@ public: static void freeInstance(); static UIThemeManager *instance(); - void applyStyleSheet() const; - QString getIconPath(const QString &iconId) const; QIcon getIcon(const QString &iconId, const QString &fallback = {}) const; QIcon getFlagIcon(const QString &countryIsoCode) const; @@ -58,6 +56,7 @@ private: QString getIconPathFromResources(const QString &iconId, const QString &fallback = {}) const; void loadColorsFromJSONConfig(); void applyPalette() const; + void applyStyleSheet() const; static UIThemeManager *m_instance; QHash m_colors;