Skip to content

Commit c91b700

Browse files
committed
Add option to copy subtitles URL
Fixes #11
1 parent 4ab750e commit c91b700

File tree

5 files changed

+72
-32
lines changed

5 files changed

+72
-32
lines changed

po/de.po

+21-17
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ msgid ""
77
msgstr ""
88
"Project-Id-Version: Televido main\n"
99
"Report-Msgid-Bugs-To: https://github.com/d-k-bo/televido/issues\n"
10-
"POT-Creation-Date: 2024-04-06 13:15+0200\n"
11-
"PO-Revision-Date: 2024-04-06 13:21+0200\n"
10+
"POT-Creation-Date: 2024-04-26 17:05+0200\n"
11+
"PO-Revision-Date: 2024-04-26 17:05+0200\n"
1212
"Last-Translator: David Cabot <[email protected]>\n"
1313
"Language-Team: \n"
1414
"Language: de\n"
@@ -63,42 +63,42 @@ msgstr ""
6363
"GNOME Videos (Totem), Celluloid, Clapper, Daikhan. Derzeit unterstütze "
6464
"Videodownloader: Parabolic."
6565

66-
#: data/de.k_bo.Televido.metainfo.xml.in:59
66+
#: data/de.k_bo.Televido.metainfo.xml.in:63
6767
msgid "Use adaptive dialogs for preferences, player selector and about dialog"
6868
msgstr ""
6969
"Für Einstellungen, Playerauswahl und „Über“-Dialog werden nun adaptive "
7070
"Dialoge verwendet"
7171

72-
#: data/de.k_bo.Televido.metainfo.xml.in:60
72+
#: data/de.k_bo.Televido.metainfo.xml.in:64
7373
msgid "Added French translation"
7474
msgstr "Übersetzung ins Französische hinzugefügt"
7575

76-
#: data/de.k_bo.Televido.metainfo.xml.in:67
76+
#: data/de.k_bo.Televido.metainfo.xml.in:71
7777
msgid "Added support for downloading content using Parabolic"
7878
msgstr "Videodownload mittels Parabolic wird nun unterstützt"
7979

80-
#: data/de.k_bo.Televido.metainfo.xml.in:68
80+
#: data/de.k_bo.Televido.metainfo.xml.in:72
8181
msgid "Added Dutch translation"
8282
msgstr "Übersetzung ins Niederländische hinzugefügt"
8383

84-
#: data/de.k_bo.Televido.metainfo.xml.in:75
84+
#: data/de.k_bo.Televido.metainfo.xml.in:79
8585
msgid "Added support for mobile devices"
8686
msgstr "Mobile Geräte werden nun unterstützt"
8787

88-
#: data/de.k_bo.Televido.metainfo.xml.in:82
88+
#: data/de.k_bo.Televido.metainfo.xml.in:86
8989
msgid "Added support for custom video players"
9090
msgstr "Benutzerdefinierte Videoplayer werden nun unterstützt"
9191

92-
#: data/de.k_bo.Televido.metainfo.xml.in:83
92+
#: data/de.k_bo.Televido.metainfo.xml.in:87
9393
msgid "Added support Daikhan as a video player"
9494
msgstr "Daikhan wird nun als Videoplayer unterstützt"
9595

96-
#: data/de.k_bo.Televido.metainfo.xml.in:89
96+
#: data/de.k_bo.Televido.metainfo.xml.in:93
9797
msgid "If an error occurs, a graphical error message is shown."
9898
msgstr ""
9999
"Wenn ein Fehler auftritt, wird eine graphische Fehlermeldung angezeigt."
100100

101-
#: data/de.k_bo.Televido.metainfo.xml.in:94
101+
#: data/de.k_bo.Televido.metainfo.xml.in:98
102102
msgid "Initital release"
103103
msgstr "Erstveröffentlichung"
104104

@@ -114,23 +114,23 @@ msgstr "Videostream konnte nicht abgespielt werden"
114114
msgid "Failed to launch video downloader"
115115
msgstr "Videodownloader konnte nicht gestartet werden"
116116

117-
#: src/help-overlay.blp:10
117+
#: src/help-overlay.blp:12
118118
msgid "General"
119119
msgstr "Allgemein"
120120

121-
#: src/help-overlay.blp:13
121+
#: src/help-overlay.blp:15
122122
msgid "Show livestreams"
123123
msgstr "Zeige Livestreams"
124124

125-
#: src/help-overlay.blp:18
125+
#: src/help-overlay.blp:20
126126
msgid "Show mediathek"
127127
msgstr "Zeige Mediathek"
128128

129-
#: src/help-overlay.blp:23 src/window.blp:41
129+
#: src/help-overlay.blp:25 src/window.blp:41
130130
msgid "Reload"
131131
msgstr "Neu laden"
132132

133-
#: src/help-overlay.blp:28
133+
#: src/help-overlay.blp:30
134134
msgid "Quit application"
135135
msgstr "Anwendung beenden"
136136

@@ -222,7 +222,11 @@ msgstr "Mittlere Qualität"
222222
msgid "Low Quality"
223223
msgstr "Niedrige Qualität"
224224

225-
#: src/mediathek/card.rs:177
225+
#: src/mediathek/card.blp:172
226+
msgid "Subtitles"
227+
msgstr "Untertitel"
228+
229+
#: src/mediathek/card.rs:198
226230
msgid "Failed to open website in browser"
227231
msgstr "Website konnte nicht im Browser geöffnet werden"
228232

po/televido.pot

+15-11
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ msgid ""
88
msgstr ""
99
"Project-Id-Version: televido\n"
1010
"Report-Msgid-Bugs-To: https://github.com/d-k-bo/televido/issues\n"
11-
"POT-Creation-Date: 2024-04-06 21:01+0200\n"
11+
"POT-Creation-Date: 2024-04-26 17:05+0200\n"
1212
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1313
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1414
"Language-Team: LANGUAGE <[email protected]>\n"
@@ -50,39 +50,39 @@ msgid ""
5050
"Parabolic."
5151
msgstr ""
5252

53-
#: data/de.k_bo.Televido.metainfo.xml.in:59
53+
#: data/de.k_bo.Televido.metainfo.xml.in:63
5454
msgid "Use adaptive dialogs for preferences, player selector and about dialog"
5555
msgstr ""
5656

57-
#: data/de.k_bo.Televido.metainfo.xml.in:60
57+
#: data/de.k_bo.Televido.metainfo.xml.in:64
5858
msgid "Added French translation"
5959
msgstr ""
6060

61-
#: data/de.k_bo.Televido.metainfo.xml.in:67
61+
#: data/de.k_bo.Televido.metainfo.xml.in:71
6262
msgid "Added support for downloading content using Parabolic"
6363
msgstr ""
6464

65-
#: data/de.k_bo.Televido.metainfo.xml.in:68
65+
#: data/de.k_bo.Televido.metainfo.xml.in:72
6666
msgid "Added Dutch translation"
6767
msgstr ""
6868

69-
#: data/de.k_bo.Televido.metainfo.xml.in:75
69+
#: data/de.k_bo.Televido.metainfo.xml.in:79
7070
msgid "Added support for mobile devices"
7171
msgstr ""
7272

73-
#: data/de.k_bo.Televido.metainfo.xml.in:82
73+
#: data/de.k_bo.Televido.metainfo.xml.in:86
7474
msgid "Added support for custom video players"
7575
msgstr ""
7676

77-
#: data/de.k_bo.Televido.metainfo.xml.in:83
77+
#: data/de.k_bo.Televido.metainfo.xml.in:87
7878
msgid "Added support Daikhan as a video player"
7979
msgstr ""
8080

81-
#: data/de.k_bo.Televido.metainfo.xml.in:89
81+
#: data/de.k_bo.Televido.metainfo.xml.in:93
8282
msgid "If an error occurs, a graphical error message is shown."
8383
msgstr ""
8484

85-
#: data/de.k_bo.Televido.metainfo.xml.in:94
85+
#: data/de.k_bo.Televido.metainfo.xml.in:98
8686
msgid "Initital release"
8787
msgstr ""
8888

@@ -199,7 +199,11 @@ msgstr ""
199199
msgid "Low Quality"
200200
msgstr ""
201201

202-
#: src/mediathek/card.rs:177
202+
#: src/mediathek/card.blp:172
203+
msgid "Subtitles"
204+
msgstr ""
205+
206+
#: src/mediathek/card.rs:198
203207
msgid "Failed to open website in browser"
204208
msgstr ""
205209

src/mediathek/card.blp

+5
Original file line numberDiff line numberDiff line change
@@ -167,4 +167,9 @@ menu copy_url_menu {
167167
label: _("Low Quality");
168168
action: "card.copy-url-low";
169169
}
170+
171+
item {
172+
label: _("Subtitles");
173+
action: "card.copy-subtitles-url";
174+
}
170175
}

src/mediathek/card.rs

+25-4
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,22 @@ impl TvMediathekCard {
9393
)
9494
.unwrap()
9595
}
96-
fn copy_url(&self, quality: VideoQuality) {
96+
fn copy_video_url(&self, quality: VideoQuality) {
9797
self.clipboard().set(
9898
&self
9999
.show()
100100
.and_then(|show| show.video_url(quality))
101101
.expect("action must only be enabled if url is not None"),
102102
);
103103
}
104+
fn copy_subtitles_url(&self) {
105+
self.clipboard().set(
106+
&self
107+
.show()
108+
.and_then(|show| show.subtitle_url())
109+
.expect("action must only be enabled if url is not None"),
110+
);
111+
}
104112
fn download(&self) {
105113
self.activate_action(
106114
"app.download",
@@ -150,9 +158,22 @@ impl TvMediathekCard {
150158
video_url_action!("play-medium", play, VideoQuality::Medium);
151159
video_url_action!("play-low", play, VideoQuality::Low);
152160

153-
video_url_action!("copy-url-high", copy_url, VideoQuality::High);
154-
video_url_action!("copy-url-medium", copy_url, VideoQuality::Medium);
155-
video_url_action!("copy-url-low", copy_url, VideoQuality::Low);
161+
video_url_action!("copy-url-high", copy_video_url, VideoQuality::High);
162+
video_url_action!("copy-url-medium", copy_video_url, VideoQuality::Medium);
163+
video_url_action!("copy-url-low", copy_video_url, VideoQuality::Low);
164+
165+
let copy_subtitles_url = gio::SimpleAction::new("copy-subtitles-url", None);
166+
copy_subtitles_url.connect_activate(
167+
glib::clone!(@weak self as slf => move |_,_| slf.copy_subtitles_url()),
168+
);
169+
self.connect_show_notify(glib::clone!(@weak copy_subtitles_url => move |slf| {
170+
copy_subtitles_url.set_enabled(
171+
slf.show()
172+
.and_then(|show| show.subtitle_url())
173+
.is_some()
174+
);
175+
}));
176+
actions.add_action(&copy_subtitles_url);
156177

157178
let download = gio::SimpleAction::new("download", None);
158179
download.connect_activate(glib::clone!(@weak self as slf => move |_,_| slf.download()));

src/mediathek/shows.rs

+6
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@ mod imp {
7575
get,
7676
member = url_website
7777
)]
78+
#[property(
79+
name = "subtitle-url",
80+
type = Option<String>,
81+
get,
82+
member = url_subtitle
83+
)]
7884
pub(super) inner: OnceCell<Item>,
7985
}
8086

0 commit comments

Comments
 (0)