From aba97f01b040ce796c5dbb424d068af542977eaf Mon Sep 17 00:00:00 2001 From: Jakob Meier Date: Wed, 12 Jun 2024 20:38:31 +0200 Subject: [PATCH] Add option to change the playlist thumbnail to context menu The thumbnail can only be changed to the thumbnail of a video in the playlist --- melon/playlist/__init__.py | 9 +++++-- po/de.po | 50 ++++++++++++++++++++------------------ po/fa.po | 50 ++++++++++++++++++++------------------ po/melon.pot | 50 ++++++++++++++++++++------------------ po/nl.po | 50 ++++++++++++++++++++------------------ 5 files changed, 115 insertions(+), 94 deletions(-) diff --git a/melon/playlist/__init__.py b/melon/playlist/__init__.py index 5baec26..41d7e71 100644 --- a/melon/playlist/__init__.py +++ b/melon/playlist/__init__.py @@ -11,8 +11,9 @@ from melon.servers import Preference, PreferenceType from melon.widgets.iconbutton import IconButton from melon.widgets.feeditem import AdaptiveFeedItem from melon.widgets.simpledialog import SimpleDialog -from melon.models import get_app_settings, get_local_playlist, PlaylistWrapper, ensure_playlist, ensure_delete_local_playlist +from melon.models import get_app_settings, get_local_playlist, PlaylistWrapper, ensure_playlist, ensure_delete_local_playlist, set_local_playlist_thumbnail from melon.models import is_server_enabled, ensure_server_disabled, ensure_server_enabled, register_callback +from melon.utils import pass_me class LocalPlaylistScreen(Adw.NavigationPage): def __init__(self, playlist_id, *args, **kwargs): @@ -81,7 +82,11 @@ class LocalPlaylistScreen(Adw.NavigationPage): self.box.add(group) # add playlist content to group as well for entry in playlist.content: - group.add(AdaptiveFeedItem(entry)) + item = AdaptiveFeedItem(entry) + item.menuitems = [ + (_("Set as playlist thumbnail"), pass_me(lambda pid, thumb: set_local_playlist_thumbnail(pid, thumb), self.playlist_id, entry.thumbnail)) + ] + group.add(item) self.scrollview.set_child(self.box) self.wrapper.set_child(self.scrollview) diff --git a/po/de.po b/po/de.po index ecf2a3f..5e47d9f 100644 --- a/po/de.po +++ b/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Melon 0.1.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-12 20:14+0200\n" +"POT-Creation-Date: 2024-06-12 20:38+0200\n" "PO-Revision-Date: 2024-04-20 14:18+0000\n" "Last-Translator: hurzelchen \n" @@ -92,7 +92,7 @@ msgstr "" #: ../melon/home/playlists.py:21 ../melon/home/subs.py:20 #: ../melon/importer.py:61 ../melon/player/__init__.py:102 #: ../melon/player/playlist.py:158 ../melon/player/playlist.py:165 -#: ../melon/playlist/__init__.py:60 +#: ../melon/playlist/__init__.py:61 msgid "*crickets chirping*" msgstr "*Grillen zirpen*" @@ -142,7 +142,7 @@ msgstr "" msgid "Channel" msgstr "Kanal" -#: ../melon/browse/playlist.py:37 ../melon/playlist/__init__.py:52 +#: ../melon/browse/playlist.py:37 ../melon/playlist/__init__.py:53 msgid "Start playing" msgstr "Wiedergeben" @@ -431,89 +431,93 @@ msgstr "" msgid "Click on videos to continue playing the playlist from there" msgstr "Klicke auf ein Video, um die Wiedergabeliste von dort fortzusetzen" -#: ../melon/playlist/__init__.py:49 +#: ../melon/playlist/__init__.py:50 msgid "Edit" msgstr "Bearbeiten" -#: ../melon/playlist/__init__.py:61 +#: ../melon/playlist/__init__.py:62 msgid "You haven't added any videos to this playlist yet" msgstr "Du hast noch keine Videos zu dieser Wiedergabeliste hinzugefügt" -#: ../melon/playlist/__init__.py:63 +#: ../melon/playlist/__init__.py:64 msgid "Start watching" msgstr "Videos anschauen" -#: ../melon/playlist/__init__.py:93 +#: ../melon/playlist/__init__.py:87 +msgid "Set as playlist thumbnail" +msgstr "" + +#: ../melon/playlist/__init__.py:98 msgid "Edit Playlist" msgstr "Wiedergabeliste bearbeiten" -#: ../melon/playlist/__init__.py:99 +#: ../melon/playlist/__init__.py:104 msgid "Playlist details" msgstr "Wiedergabelistendetails" -#: ../melon/playlist/__init__.py:100 +#: ../melon/playlist/__init__.py:105 msgid "Change playlist information" msgstr "Wiedergabelistendetails ändern" -#: ../melon/playlist/__init__.py:102 ../melon/playlist/create.py:37 +#: ../melon/playlist/__init__.py:107 ../melon/playlist/create.py:37 msgid "Playlist name" msgstr "Name der Wiedergabeliste" -#: ../melon/playlist/__init__.py:105 ../melon/playlist/create.py:40 +#: ../melon/playlist/__init__.py:110 ../melon/playlist/create.py:40 msgid "Playlist description" msgstr "Beschreibung der Wiedergabeliste" -#: ../melon/playlist/__init__.py:110 +#: ../melon/playlist/__init__.py:115 msgid "Save details" msgstr "Details speichern" -#: ../melon/playlist/__init__.py:111 +#: ../melon/playlist/__init__.py:116 msgid "Change playlist title and description. (Closes the dialog)" msgstr "" "Titel und Beschreibung der Wiedergabeliste ändern. (Schließt den Dialog)" -#: ../melon/playlist/__init__.py:121 ../melon/playlist/__init__.py:163 +#: ../melon/playlist/__init__.py:126 ../melon/playlist/__init__.py:168 msgid "Delete Playlist" msgstr "Wiedergabeliste löschen" -#: ../melon/playlist/__init__.py:122 +#: ../melon/playlist/__init__.py:127 msgid "Delete this playlist and it's content. This can NOT be undone." msgstr "" "Diese Wiedergabeliste und ihren Inhalt löschen. Diese Aktion kann nicht " "rückgängig gemacht werden." -#: ../melon/playlist/__init__.py:133 +#: ../melon/playlist/__init__.py:138 msgid "Close" msgstr "Schließen" -#: ../melon/playlist/__init__.py:133 +#: ../melon/playlist/__init__.py:138 msgid "Close without changing anything" msgstr "" -#: ../melon/playlist/__init__.py:166 +#: ../melon/playlist/__init__.py:171 msgid "Do you really want to delete this playlist?" msgstr "Möchtest du diese Wiedergabeliste wirklich löschen?" -#: ../melon/playlist/__init__.py:167 +#: ../melon/playlist/__init__.py:172 msgid "This cannot be undone" msgstr "Dies kann nicht rückgängig gemacht werden" -#: ../melon/playlist/__init__.py:171 ../melon/playlist/create.py:47 +#: ../melon/playlist/__init__.py:176 ../melon/playlist/create.py:47 #: ../melon/playlist/pick.py:70 ../melon/widgets/preferencerow.py:175 #: ../melon/widgets/preferencerow.py:218 msgid "Cancel" msgstr "Abbruch" -#: ../melon/playlist/__init__.py:171 +#: ../melon/playlist/__init__.py:176 msgid "Do not delete the playlist" msgstr "Wiedergabeliste nicht löschen" -#: ../melon/playlist/__init__.py:172 ../melon/widgets/preferencerow.py:207 +#: ../melon/playlist/__init__.py:177 ../melon/widgets/preferencerow.py:207 #: ../melon/widgets/preferencerow.py:219 msgid "Delete" msgstr "Löschen" -#: ../melon/playlist/__init__.py:172 +#: ../melon/playlist/__init__.py:177 msgid "Delete this playlist" msgstr "Diese Wiedergabeliste löschen" diff --git a/po/fa.po b/po/fa.po index bf86d0f..ca3f108 100644 --- a/po/fa.po +++ b/po/fa.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Melon 0.1.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-12 20:14+0200\n" +"POT-Creation-Date: 2024-06-12 20:38+0200\n" "PO-Revision-Date: 2024-05-30 09:18+0000\n" "Last-Translator: sohrabbehdani \n" @@ -98,7 +98,7 @@ msgstr "" #: ../melon/home/playlists.py:21 ../melon/home/subs.py:20 #: ../melon/importer.py:61 ../melon/player/__init__.py:102 #: ../melon/player/playlist.py:158 ../melon/player/playlist.py:165 -#: ../melon/playlist/__init__.py:60 +#: ../melon/playlist/__init__.py:61 #, fuzzy msgid "*crickets chirping*" msgstr "*جیرجیرک جیرجیرک*" @@ -148,7 +148,7 @@ msgstr "" msgid "Channel" msgstr "کانال" -#: ../melon/browse/playlist.py:37 ../melon/playlist/__init__.py:52 +#: ../melon/browse/playlist.py:37 ../melon/playlist/__init__.py:53 msgid "Start playing" msgstr "شروع به پخش کردن" @@ -431,86 +431,90 @@ msgstr "محتوای سیاههٔ‌پخش" msgid "Click on videos to continue playing the playlist from there" msgstr "بر روی ویدئو ضربه بزنید تا پخش از لیست پخش از آن ویدئو ادامه پیدا کند." -#: ../melon/playlist/__init__.py:49 +#: ../melon/playlist/__init__.py:50 msgid "Edit" msgstr "ویرایش" -#: ../melon/playlist/__init__.py:61 +#: ../melon/playlist/__init__.py:62 msgid "You haven't added any videos to this playlist yet" msgstr "" -#: ../melon/playlist/__init__.py:63 +#: ../melon/playlist/__init__.py:64 msgid "Start watching" msgstr "شروع به تماشا کنید" -#: ../melon/playlist/__init__.py:93 +#: ../melon/playlist/__init__.py:87 +msgid "Set as playlist thumbnail" +msgstr "" + +#: ../melon/playlist/__init__.py:98 msgid "Edit Playlist" msgstr "حذف لیست‌پخش" -#: ../melon/playlist/__init__.py:99 +#: ../melon/playlist/__init__.py:104 msgid "Playlist details" msgstr "جزئیات لیست‌پخش" -#: ../melon/playlist/__init__.py:100 +#: ../melon/playlist/__init__.py:105 msgid "Change playlist information" msgstr "تغییر اطلاعات لیست پخش" -#: ../melon/playlist/__init__.py:102 ../melon/playlist/create.py:37 +#: ../melon/playlist/__init__.py:107 ../melon/playlist/create.py:37 msgid "Playlist name" msgstr "نام لیست‌پخش" -#: ../melon/playlist/__init__.py:105 ../melon/playlist/create.py:40 +#: ../melon/playlist/__init__.py:110 ../melon/playlist/create.py:40 msgid "Playlist description" msgstr "اطلاعات سیاههٔ پخش" -#: ../melon/playlist/__init__.py:110 +#: ../melon/playlist/__init__.py:115 msgid "Save details" msgstr "ذخیره جزئیات" -#: ../melon/playlist/__init__.py:111 +#: ../melon/playlist/__init__.py:116 msgid "Change playlist title and description. (Closes the dialog)" msgstr "تغییر عنوان و توضیحات لیست پخش (این پنجره بسته می شود)" -#: ../melon/playlist/__init__.py:121 ../melon/playlist/__init__.py:163 +#: ../melon/playlist/__init__.py:126 ../melon/playlist/__init__.py:168 msgid "Delete Playlist" msgstr "حذف لیست پخش" -#: ../melon/playlist/__init__.py:122 +#: ../melon/playlist/__init__.py:127 msgid "Delete this playlist and it's content. This can NOT be undone." msgstr "این عملیات این لیست‌پخش و محتویات آن را حذف می‌کند و قابل بازگشت نیست." -#: ../melon/playlist/__init__.py:133 +#: ../melon/playlist/__init__.py:138 msgid "Close" msgstr "بستن" -#: ../melon/playlist/__init__.py:133 +#: ../melon/playlist/__init__.py:138 msgid "Close without changing anything" msgstr "بستن بدون تغییر دادن چیزی" -#: ../melon/playlist/__init__.py:166 +#: ../melon/playlist/__init__.py:171 msgid "Do you really want to delete this playlist?" msgstr "آیا از حذف این لیست‌پخش اطمینان دارید؟" -#: ../melon/playlist/__init__.py:167 +#: ../melon/playlist/__init__.py:172 msgid "This cannot be undone" msgstr "" -#: ../melon/playlist/__init__.py:171 ../melon/playlist/create.py:47 +#: ../melon/playlist/__init__.py:176 ../melon/playlist/create.py:47 #: ../melon/playlist/pick.py:70 ../melon/widgets/preferencerow.py:175 #: ../melon/widgets/preferencerow.py:218 msgid "Cancel" msgstr "لغو" -#: ../melon/playlist/__init__.py:171 +#: ../melon/playlist/__init__.py:176 msgid "Do not delete the playlist" msgstr "لیست‌پخش را حذف نکن." -#: ../melon/playlist/__init__.py:172 ../melon/widgets/preferencerow.py:207 +#: ../melon/playlist/__init__.py:177 ../melon/widgets/preferencerow.py:207 #: ../melon/widgets/preferencerow.py:219 msgid "Delete" msgstr "حذف" -#: ../melon/playlist/__init__.py:172 +#: ../melon/playlist/__init__.py:177 msgid "Delete this playlist" msgstr "حذف این لیست‌پخش" diff --git a/po/melon.pot b/po/melon.pot index ee1434d..be6631d 100644 --- a/po/melon.pot +++ b/po/melon.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Melon 0.2.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-12 20:14+0200\n" +"POT-Creation-Date: 2024-06-12 20:38+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -85,7 +85,7 @@ msgstr "" #: ../melon/home/playlists.py:21 ../melon/home/subs.py:20 #: ../melon/importer.py:61 ../melon/player/__init__.py:102 #: ../melon/player/playlist.py:158 ../melon/player/playlist.py:165 -#: ../melon/playlist/__init__.py:60 +#: ../melon/playlist/__init__.py:61 msgid "*crickets chirping*" msgstr "" @@ -134,7 +134,7 @@ msgstr "" msgid "Channel" msgstr "" -#: ../melon/browse/playlist.py:37 ../melon/playlist/__init__.py:52 +#: ../melon/browse/playlist.py:37 ../melon/playlist/__init__.py:53 msgid "Start playing" msgstr "" @@ -416,86 +416,90 @@ msgstr "" msgid "Click on videos to continue playing the playlist from there" msgstr "" -#: ../melon/playlist/__init__.py:49 +#: ../melon/playlist/__init__.py:50 msgid "Edit" msgstr "" -#: ../melon/playlist/__init__.py:61 +#: ../melon/playlist/__init__.py:62 msgid "You haven't added any videos to this playlist yet" msgstr "" -#: ../melon/playlist/__init__.py:63 +#: ../melon/playlist/__init__.py:64 msgid "Start watching" msgstr "" -#: ../melon/playlist/__init__.py:93 +#: ../melon/playlist/__init__.py:87 +msgid "Set as playlist thumbnail" +msgstr "" + +#: ../melon/playlist/__init__.py:98 msgid "Edit Playlist" msgstr "" -#: ../melon/playlist/__init__.py:99 +#: ../melon/playlist/__init__.py:104 msgid "Playlist details" msgstr "" -#: ../melon/playlist/__init__.py:100 +#: ../melon/playlist/__init__.py:105 msgid "Change playlist information" msgstr "" -#: ../melon/playlist/__init__.py:102 ../melon/playlist/create.py:37 +#: ../melon/playlist/__init__.py:107 ../melon/playlist/create.py:37 msgid "Playlist name" msgstr "" -#: ../melon/playlist/__init__.py:105 ../melon/playlist/create.py:40 +#: ../melon/playlist/__init__.py:110 ../melon/playlist/create.py:40 msgid "Playlist description" msgstr "" -#: ../melon/playlist/__init__.py:110 +#: ../melon/playlist/__init__.py:115 msgid "Save details" msgstr "" -#: ../melon/playlist/__init__.py:111 +#: ../melon/playlist/__init__.py:116 msgid "Change playlist title and description. (Closes the dialog)" msgstr "" -#: ../melon/playlist/__init__.py:121 ../melon/playlist/__init__.py:163 +#: ../melon/playlist/__init__.py:126 ../melon/playlist/__init__.py:168 msgid "Delete Playlist" msgstr "" -#: ../melon/playlist/__init__.py:122 +#: ../melon/playlist/__init__.py:127 msgid "Delete this playlist and it's content. This can NOT be undone." msgstr "" -#: ../melon/playlist/__init__.py:133 +#: ../melon/playlist/__init__.py:138 msgid "Close" msgstr "" -#: ../melon/playlist/__init__.py:133 +#: ../melon/playlist/__init__.py:138 msgid "Close without changing anything" msgstr "" -#: ../melon/playlist/__init__.py:166 +#: ../melon/playlist/__init__.py:171 msgid "Do you really want to delete this playlist?" msgstr "" -#: ../melon/playlist/__init__.py:167 +#: ../melon/playlist/__init__.py:172 msgid "This cannot be undone" msgstr "" -#: ../melon/playlist/__init__.py:171 ../melon/playlist/create.py:47 +#: ../melon/playlist/__init__.py:176 ../melon/playlist/create.py:47 #: ../melon/playlist/pick.py:70 ../melon/widgets/preferencerow.py:175 #: ../melon/widgets/preferencerow.py:218 msgid "Cancel" msgstr "" -#: ../melon/playlist/__init__.py:171 +#: ../melon/playlist/__init__.py:176 msgid "Do not delete the playlist" msgstr "" -#: ../melon/playlist/__init__.py:172 ../melon/widgets/preferencerow.py:207 +#: ../melon/playlist/__init__.py:177 ../melon/widgets/preferencerow.py:207 #: ../melon/widgets/preferencerow.py:219 msgid "Delete" msgstr "" -#: ../melon/playlist/__init__.py:172 +#: ../melon/playlist/__init__.py:177 msgid "Delete this playlist" msgstr "" diff --git a/po/nl.po b/po/nl.po index 1607178..5e35470 100644 --- a/po/nl.po +++ b/po/nl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Melon 0.2.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-12 20:14+0200\n" +"POT-Creation-Date: 2024-06-12 20:38+0200\n" "PO-Revision-Date: 2024-04-23 12:18+0000\n" "Last-Translator: Vistaus \n" "Language-Team: Dutch