From 4414234c5b7e56b9b8b7caf6b6a52fe1884947e7 Mon Sep 17 00:00:00 2001 From: Bart De Vries Date: Fri, 23 Feb 2024 14:35:41 +0100 Subject: [PATCH] Fix icons not showing up in windows This is done by linking to Breeze icons. --- CMakeLists.txt | 2 ++ src/CMakeLists.txt | 7 +++++++ src/main.cpp | 8 ++++++++ 3 files changed, 17 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e08dbb6..ef88acde 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,6 +56,8 @@ ecm_set_disabled_deprecation_versions( find_package(Qt6 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui QuickControls2 Sql Svg Xml Network) find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS I18n CoreAddons Kirigami Syndication Config ThreadWeaver ColorScheme) +find_package(KF6 ${KF_MIN_VERSION} QUIET COMPONENTS BreezeIcons) + find_package(Taglib REQUIRED) find_package(Qt6Keychain) set_package_properties(Qt6Keychain PROPERTIES diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e4bdb8e6..dddabe3e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -245,6 +245,13 @@ kconfig_add_kcfg_files(kasts settingsmanager.kcfgc GENERATE_MOC) target_include_directories(kasts PRIVATE ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/models ${CMAKE_CURRENT_SOURCE_DIR}/utils ${CMAKE_CURRENT_SOURCE_DIR}/sync) target_link_libraries(kasts PRIVATE Qt::Core Qt::Qml Qt::Quick Qt::QuickControls2 Qt::Sql Qt::Svg Qt::Xml Qt::Network KF6::Kirigami KF6::Syndication KF6::CoreAddons KF6::ConfigGui KF6::I18n Taglib::Taglib ${QTKEYCHAIN_LIBRARIES} KF6::ThreadWeaver KF6::ColorScheme KMediaSession) +if(TARGET KF6::BreezeIcons) + target_link_libraries(kasts PRIVATE + KF6::BreezeIcons + ) + target_compile_definitions(kasts PRIVATE WITH_BREEZEICONS_LIB) +endif () + if(KASTS_FLATPAK) target_compile_definitions(kasts PUBLIC KASTS_FLATPAK) endif() diff --git a/src/main.cpp b/src/main.cpp index 2b56ab21..295d4299 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -28,6 +28,10 @@ #include #include +#ifdef WITH_BREEZEICONS_LIB +#include +#endif + #ifdef Q_OS_ANDROID #include "androidlogging.h" #endif @@ -75,6 +79,10 @@ int main(int argc, char *argv[]) app.setFont(font); #endif +#ifdef WITH_BREEZEICONS_LIB + BreezeIcons::initIcons(); +#endif + QIcon::setFallbackSearchPaths(QIcon::fallbackSearchPaths() << QStringLiteral(":custom-icons")); QCoreApplication::setOrganizationName(QStringLiteral("KDE"));