From c8fe62aecb967a419d9251cbbe09b88c5e4c989a Mon Sep 17 00:00:00 2001 From: Martchus Date: Sat, 11 Jan 2025 15:47:44 +0100 Subject: [PATCH] Use only one ForkAwesome renderer and print warning if font cannot be loaded --- plasmoid/lib/syncthingapplet.cpp | 4 ++-- syncthingmodel/CMakeLists.txt | 2 +- syncthingmodel/syncthingicons.cpp | 1 + tray/gui/quick/app.cpp | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/plasmoid/lib/syncthingapplet.cpp b/plasmoid/lib/syncthingapplet.cpp index d66b4160..ba339dee 100644 --- a/plasmoid/lib/syncthingapplet.cpp +++ b/plasmoid/lib/syncthingapplet.cpp @@ -189,7 +189,7 @@ void SyncthingApplet::init() // apply settings and connect according to settings const auto palette = paletteFromTheme(m_theme); setBrightColors(isPaletteDark(palette)); - IconManager::instance().setPalette(palette); + m_iconManager.setPalette(palette); handleSettingsChanged(); if (c.readEntry<>("preferIconsFromTheme", false)) { Data::setForkAwesomeThemeOverrides(); @@ -215,7 +215,7 @@ void SyncthingApplet::initEngine(QObject *object) return; } const auto color = m_theme.color(Plasma::Theme::TextColor, Plasma::Theme::NormalColorGroup); - m_imageProvider = new QtForkAwesome::QuickImageProvider(QtForkAwesome::Renderer::global(), color); + m_imageProvider = new QtForkAwesome::QuickImageProvider(m_iconManager.forkAwesomeRenderer(), color); connect(engine, &QObject::destroyed, this, &SyncthingApplet::handleImageProviderDestroyed); // engine has ownership over image provider engine->addImageProvider(QStringLiteral("fa"), m_imageProvider); } diff --git a/syncthingmodel/CMakeLists.txt b/syncthingmodel/CMakeLists.txt index a9472e60..33907386 100644 --- a/syncthingmodel/CMakeLists.txt +++ b/syncthingmodel/CMakeLists.txt @@ -58,7 +58,7 @@ find_package(syncthingconnector ${META_APP_VERSION} REQUIRED) use_syncthingconnector(VISIBILITY PUBLIC) # find qtforkawesome -find_package(${PACKAGE_NAMESPACE_PREFIX}qtforkawesome${CONFIGURATION_PACKAGE_SUFFIX_QTFORKAWESOME} 0.1.0 REQUIRED) +find_package(${PACKAGE_NAMESPACE_PREFIX}qtforkawesome${CONFIGURATION_PACKAGE_SUFFIX_QTFORKAWESOME} 0.3.0 REQUIRED) use_qt_fork_awesome(VISIBILITY PUBLIC) # link also explicitly against the following Qt modules diff --git a/syncthingmodel/syncthingicons.cpp b/syncthingmodel/syncthingicons.cpp index 87bdede7..20cfde53 100644 --- a/syncthingmodel/syncthingicons.cpp +++ b/syncthingmodel/syncthingicons.cpp @@ -346,6 +346,7 @@ IconManager::IconManager(const QPalette *palette) m_forkAwesomeRenderer, (palette ? *palette : QGuiApplication::palette()).color(QPalette::Normal, QPalette::Text), QSize(64, 64)) , m_distinguishTrayIcons(false) { + m_forkAwesomeRenderer.warnIfInvalid(); #ifdef __GNUC__ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" diff --git a/tray/gui/quick/app.cpp b/tray/gui/quick/app.cpp index 0e9ac30e..8ea51c9d 100644 --- a/tray/gui/quick/app.cpp +++ b/tray/gui/quick/app.cpp @@ -174,7 +174,7 @@ App::App(bool insecure, QObject *parent) Qt::QueuedConnection); connect(&m_engine, &QQmlApplicationEngine::quit, m_app, &QGuiApplication::quit); m_engine.setProperty("app", QVariant::fromValue(this)); - m_engine.addImageProvider(QStringLiteral("fa"), new QtForkAwesome::QuickImageProvider(QtForkAwesome::Renderer::global())); + m_engine.addImageProvider(QStringLiteral("fa"), new QtForkAwesome::QuickImageProvider(iconManager.forkAwesomeRenderer())); #ifdef Q_OS_ANDROID // register native methods of Android activity