From f69366f6fda1c220d31ea71aab78e7db1846356a Mon Sep 17 00:00:00 2001 From: Bart De Vries Date: Wed, 10 May 2023 14:30:43 +0200 Subject: [PATCH] Load custom icons through fallbackSearchPaths BUG: 469567 --- .reuse/dep5 | 2 +- CMakeLists.txt | 2 +- ...media-playback-start-cloud.svg => media-playback-cloud.svg} | 2 +- src/CMakeLists.txt | 1 + src/main.cpp | 2 ++ src/qml/ChapterListDelegate.qml | 3 +-- src/qml/EntryPage.qml | 2 +- src/qml/GenericEntryDelegate.qml | 2 +- src/qml/GenericEntryListView.qml | 2 +- src/resources.qrc | 2 +- 10 files changed, 11 insertions(+), 9 deletions(-) rename icons/{media-playback-start-cloud.svg => media-playback-cloud.svg} (94%) diff --git a/.reuse/dep5 b/.reuse/dep5 index eebef4cc..c4fc28af 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -18,7 +18,7 @@ Files: kasts.svg kasts-android-square.svg icons/kasts-tray-light.svg icons/kasts Copyright: 2021 Mathis BrĂ¼chert License: CC-BY-SA-4.0 -Files: icons/media-playback-start-cloud.svg +Files: icons/media-playback-cloud.svg Copyright: 2022 Bart De Vries License: CC-BY-SA-4.0 diff --git a/CMakeLists.txt b/CMakeLists.txt index a8f4473f..25f56806 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -97,7 +97,7 @@ install(FILES org.kde.kasts.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) install(FILES kasts.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/apps) install(FILES icons/kasts-tray-dark.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/apps) install(FILES icons/kasts-tray-light.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/apps) -install(FILES icons/media-playback-start-cloud.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/actions) +install(FILES icons/media-playback-cloud.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/hicolor/scalable/actions) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/android/version.gradle.in ${CMAKE_BINARY_DIR}/version.gradle) diff --git a/icons/media-playback-start-cloud.svg b/icons/media-playback-cloud.svg similarity index 94% rename from icons/media-playback-start-cloud.svg rename to icons/media-playback-cloud.svg index 43bf19d4..7ced1d65 100644 --- a/icons/media-playback-start-cloud.svg +++ b/icons/media-playback-cloud.svg @@ -6,5 +6,5 @@ } - + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9d02ac04..8f744d40 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -241,6 +241,7 @@ if(ANDROID) application-exit starred-symbolic non-starred-symbolic + media-playback-cloud ) else() target_link_libraries(kasts PRIVATE Qt::Widgets) diff --git a/src/main.cpp b/src/main.cpp index 4cd3d2c7..78ebb27d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -98,6 +98,8 @@ int main(int argc, char *argv[]) app.setFont(font); #endif + QIcon::setFallbackSearchPaths(QIcon::fallbackSearchPaths() << QStringLiteral(":custom-icons")); + QCoreApplication::setOrganizationName(QStringLiteral("KDE")); QCoreApplication::setOrganizationDomain(QStringLiteral("kde.org")); QCoreApplication::setApplicationName(QStringLiteral("Kasts")); diff --git a/src/qml/ChapterListDelegate.qml b/src/qml/ChapterListDelegate.qml index 5d5a7659..23d5428a 100644 --- a/src/qml/ChapterListDelegate.qml +++ b/src/qml/ChapterListDelegate.qml @@ -36,8 +36,7 @@ Kirigami.BasicListItem { } trailing: Controls.ToolButton { - icon.name: streamingButtonVisible ? "" : "media-playback-start" - icon.source: streamingButtonVisible ? "qrc:/media-playback-start-cloud" : "" + icon.name: streamingButtonVisible ? "media-playback-cloud" : "media-playback-start" text: i18n("Play") enabled: entry != undefined && entry.enclosure && (entry.enclosure.status === Enclosure.Downloaded || streamingButtonVisible) display: Controls.Button.IconOnly diff --git a/src/qml/EntryPage.qml b/src/qml/EntryPage.qml index 46f0c2df..c6059408 100644 --- a/src/qml/EntryPage.qml +++ b/src/qml/EntryPage.qml @@ -153,7 +153,7 @@ Kirigami.ScrollablePage { Kirigami.Action { text: i18nc("@action:intoolbar Action to start playback by streaming the episode rather than downloading it first", "Stream") visible: entry.enclosure && entry.enclosure.status !== Enclosure.Downloaded && (AudioManager.entry !== entry || AudioManager.playbackState !== KMediaSession.PlayingState) - icon.source: "qrc:/media-playback-start-cloud" + icon.name: "media-playback-cloud" onTriggered: { if (!entry.queueStatus) { entry.queueStatus = true; diff --git a/src/qml/GenericEntryDelegate.qml b/src/qml/GenericEntryDelegate.qml index 4b8a6714..4785f031 100644 --- a/src/qml/GenericEntryDelegate.qml +++ b/src/qml/GenericEntryDelegate.qml @@ -339,7 +339,7 @@ Kirigami.SwipeListItem { }, Kirigami.Action { text: i18nc("@action:inmenu Action to start playback by streaming the episode rather than downloading it first", "Stream") - icon.source: "qrc:/media-playback-start-cloud" + icon.name: "media-playback-cloud" visible: showStreamingPlayButton onTriggered: { if (!entry.queueStatus) { diff --git a/src/qml/GenericEntryListView.qml b/src/qml/GenericEntryListView.qml index 5452a119..6b20d8b8 100644 --- a/src/qml/GenericEntryListView.qml +++ b/src/qml/GenericEntryListView.qml @@ -232,7 +232,7 @@ ListView { readonly property var streamAction: Kirigami.Action { text: i18nc("@action:inmenu Action to start playback by streaming the episode rather than downloading it first", "Stream") - icon.source: "qrc:/media-playback-start-cloud" + icon.name: "media-playback-cloud" visible: listView.selectionModel.hasSelection && (singleSelectedEntry ? (singleSelectedEntry.hasEnclosure ? singleSelectedEntry.enclosure.status !== Enclosure.Downloaded : false) : false) onTriggered: { if (!singleSelectedEntry.queueStatus) { diff --git a/src/resources.qrc b/src/resources.qrc index ba6dcc0d..973da33d 100755 --- a/src/resources.qrc +++ b/src/resources.qrc @@ -47,6 +47,6 @@ ../kasts.svg ../icons/kasts-tray-light.svg ../icons/kasts-tray-dark.svg - ../icons/media-playback-start-cloud.svg + ../icons/media-playback-cloud.svg