From 37a8465c7f4f0104a6e273d27d116211196dc62b Mon Sep 17 00:00:00 2001 From: Bart De Vries Date: Thu, 4 Apr 2024 19:20:34 +0200 Subject: [PATCH] Add switch to display Podcast image instead of Episode image Closes #46 --- src/qml/FeedDetailsPage.qml | 1 + src/qml/GenericEntryDelegate.qml | 3 ++- src/qml/Settings/AppearanceSettingsPage.qml | 13 +++++++++++++ src/settingsmanager.kcfg | 4 ++++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/qml/FeedDetailsPage.qml b/src/qml/FeedDetailsPage.qml index e96ef283..6488539c 100644 --- a/src/qml/FeedDetailsPage.qml +++ b/src/qml/FeedDetailsPage.qml @@ -98,6 +98,7 @@ Kirigami.ScrollablePage { model: page.feed.entries ? page.feed.entries : emptyListModel delegate: GenericEntryDelegate { listViewObject: entryList + showFeedImage: false } header: ColumnLayout { diff --git a/src/qml/GenericEntryDelegate.qml b/src/qml/GenericEntryDelegate.qml index 801e3041..c5aed07b 100644 --- a/src/qml/GenericEntryDelegate.qml +++ b/src/qml/GenericEntryDelegate.qml @@ -26,6 +26,7 @@ AddonDelegates.RoundedItemDelegate { property bool isQueue: false property bool isDownloads: false + property bool showFeedImage: !SettingsManager.showEpisodeImage property QtObject listViewObject: undefined property bool selected: false property int row: model ? model.row : -1 @@ -195,7 +196,7 @@ AddonDelegates.RoundedItemDelegate { ImageWithFallback { id: img - imageSource: entry ? entry.cachedImage : "no-image" + imageSource: entry ? ( showFeedImage ? entry.feed.cachedImage : entry.cachedImage ) : "no-image" property int size: Kirigami.Units.gridUnit * 3 Layout.preferredHeight: size Layout.preferredWidth: size diff --git a/src/qml/Settings/AppearanceSettingsPage.qml b/src/qml/Settings/AppearanceSettingsPage.qml index caf3a1e8..def5fe48 100644 --- a/src/qml/Settings/AppearanceSettingsPage.qml +++ b/src/qml/Settings/AppearanceSettingsPage.qml @@ -53,6 +53,19 @@ FormCard.FormCardPage { SettingsManager.save(); } } + + FormCard.FormDelegateSeparator {} + + FormCard.FormCheckDelegate { + id: showEpisodeImage + text: i18nc("@option:check", "Show episode image instead of podcast image in lists") + checked: SettingsManager.showEpisodeImage + onToggled: { + SettingsManager.showEpisodeImage = checked; + SettingsManager.save(); + } + } + } FormCard.FormHeader { diff --git a/src/settingsmanager.kcfg b/src/settingsmanager.kcfg index fbdd0335..60f5aadb 100644 --- a/src/settingsmanager.kcfg +++ b/src/settingsmanager.kcfg @@ -35,6 +35,10 @@ false + + + true + false