diff --git a/data/gtk/station_dialog.ui b/data/gtk/station_dialog.ui index 73e5ec151bd3bcc85c61df2ab0a8145bdf19b1e4..bd54e46f0a3aa7c2d813af4f2e5833fe95b17cfd 100644 --- a/data/gtk/station_dialog.ui +++ b/data/gtk/station_dialog.ui @@ -291,6 +291,39 @@ 3 + + + True + False + end + Stream + + + + 0 + 4 + + + + + True + False + start + + True + True + char + True + end + 20 + + + 1 + 4 + + False diff --git a/src/ui/station_dialog.rs b/src/ui/station_dialog.rs index a4c2eb07c70d773cbf89fdfa92df89bb6ad948b8..6fab37c978745b83db84120ff2442b4e7d8b2bac 100644 --- a/src/ui/station_dialog.rs +++ b/src/ui/station_dialog.rs @@ -34,11 +34,13 @@ pub struct StationDialog { homepage_label: gtk::Label, tags_label: gtk::Label, language_label: gtk::Label, + stream_label: gtk::Label, codec_label_label: gtk::Label, homepage_label_label: gtk::Label, tags_label_label: gtk::Label, language_label_label: gtk::Label, + stream_label_label: gtk::Label, builder: gtk::Builder, sender: Sender, @@ -54,10 +56,12 @@ impl StationDialog { get_widget!(builder, gtk::Label, homepage_label); get_widget!(builder, gtk::Label, tags_label); get_widget!(builder, gtk::Label, language_label); + get_widget!(builder, gtk::Label, stream_label); get_widget!(builder, gtk::Label, codec_label_label); get_widget!(builder, gtk::Label, homepage_label_label); get_widget!(builder, gtk::Label, tags_label_label); get_widget!(builder, gtk::Label, language_label_label); + get_widget!(builder, gtk::Label, stream_label_label); // Download & set station favicon get_widget!(builder, gtk::Box, favicon_box); @@ -89,10 +93,12 @@ impl StationDialog { homepage_label, tags_label, language_label, + stream_label, codec_label_label, homepage_label_label, tags_label_label, language_label_label, + stream_label_label, builder, sender, }; @@ -131,6 +137,12 @@ impl StationDialog { self.homepage_label.hide(); self.homepage_label_label.hide(); } + if let Some(ref stream_url) = self.station.url { + self.stream_label.set_markup(&format!("{}", stream_url, stream_url)); + } else { + self.stream_label.hide(); + self.stream_label_label.hide(); + } } pub fn show(&self) {