diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,7 +36,9 @@ set(REQUIRED_QT_VERSION 5.10.0) find_package(Qt5Widgets ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) find_package(Qt5Svg ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) -find_package(Qt5DBus ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) +if (NOT ANDROID) + find_package(Qt5DBus ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) +endif() find_package(KF5Archive ${KF5_DEP_VERSION} REQUIRED) find_package(KF5I18n ${KF5_DEP_VERSION} REQUIRED) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -26,15 +26,17 @@ PUBLIC Qt5::Widgets PRIVATE - Qt5::DBus Qt5::Svg KF5::Archive # for KCompressionDevice KF5::I18n # for i18n in KIconDialog KF5::WidgetsAddons # for KPixmapSequence family KF5::ItemViews # for KListWidgetSearchLine KF5::ConfigWidgets # for KColorScheme KF5::CoreAddons # for kshareddatacache.h ) +if (TARGET Qt5::DBus) + target_link_libraries(KF5IconThemes PRIVATE Qt5::DBus) +endif() set_target_properties(KF5IconThemes PROPERTIES VERSION ${KICONTHEMES_VERSION_STRING} SOVERSION ${KICONTHEMES_SOVERSION} diff --git a/src/kiconloader.cpp b/src/kiconloader.cpp --- a/src/kiconloader.cpp +++ b/src/kiconloader.cpp @@ -47,8 +47,10 @@ #include #include #include +#ifdef QT_DBUS_LIB #include #include +#endif #include #include #include @@ -417,15 +419,19 @@ parseGenericIconsFiles(file); } +#ifdef QT_DBUS_LIB QDBusConnection::sessionBus().connect(QString(), QStringLiteral("/KIconLoader"), QStringLiteral("org.kde.KIconLoader"), QStringLiteral("iconChanged"), this, SIGNAL(iconChanged(int))); +#endif } void emitChange(KIconLoader::Group group) { +#ifdef QT_DBUS_LIB QDBusMessage message = QDBusMessage::createSignal(QStringLiteral("/KIconLoader"), QStringLiteral("org.kde.KIconLoader"), QStringLiteral("iconChanged")); message.setArguments(QList() << int(group)); QDBusConnection::sessionBus().send(message); +#endif } QString genericIconFor(const QString &icon) const