From ecf592a04f3b933b4acddd74fe2cea4d1633b9d9 Mon Sep 17 00:00:00 2001 From: Thomas Perl Date: Mon, 22 Nov 2010 15:30:01 +0100 Subject: [PATCH] Maemo 5: Expose "Pause subscription" in UI --- src/gpodder/gtkui/frmntl/episodes.py | 18 ++++++++++++++++++ src/gpodder/gtkui/frmntl/model.py | 6 ++++++ src/gpodder/gtkui/model.py | 2 +- src/gpodder/gui.py | 3 ++- 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/src/gpodder/gtkui/frmntl/episodes.py b/src/gpodder/gtkui/frmntl/episodes.py index 5f0fd19e..f60c4572 100644 --- a/src/gpodder/gtkui/frmntl/episodes.py +++ b/src/gpodder/gtkui/frmntl/episodes.py @@ -80,6 +80,12 @@ class gPodderEpisodes(BuilderWidget): button = gtk.Button() action.connect_proxy(button) appmenu.append(button) + + self.pause_sub_button = hildon.CheckButton(gtk.HILDON_SIZE_FINGER_HEIGHT) + self.pause_sub_button.set_label(_('Pause subscription')) + self.pause_sub_button.connect('toggled', self.on_pause_subscription_button_toggled) + appmenu.append(self.pause_sub_button) + for filter in (self.item_view_episodes_all, \ self.item_view_episodes_undeleted, \ self.item_view_episodes_downloaded): @@ -89,6 +95,15 @@ class gPodderEpisodes(BuilderWidget): appmenu.show_all() self.main_window.set_app_menu(appmenu) + def on_pause_subscription_button_toggled(self, widget): + new_value = not widget.get_active() + print 'toggled with new value = ', new_value + if new_value != self.channel.feed_update_enabled: + self.channel.feed_update_enabled = new_value + self.cover_downloader.reload_cover_from_disk(self.channel) + self.channel.save() + self.update_podcast_list_model(urls=[self.channel.url]) + def on_rename_button_clicked(self, widget): if self.channel is None: return @@ -208,6 +223,9 @@ class gPodderEpisodes(BuilderWidget): self.action_check_for_new_episodes.set_visible(all_episodes) self.action_delete_episodes.set_visible(True) + self.pause_sub_button.set_active(\ + not self.channel.feed_update_enabled) + self.main_window.set_title(self.channel.title) self.main_window.show() self.treeview.grab_focus() diff --git a/src/gpodder/gtkui/frmntl/model.py b/src/gpodder/gtkui/frmntl/model.py index 79fbb5f4..2586472b 100644 --- a/src/gpodder/gtkui/frmntl/model.py +++ b/src/gpodder/gtkui/frmntl/model.py @@ -595,6 +595,12 @@ class PodcastListModel(model.PodcastListModel): def _format_description(self, channel, total, deleted, \ new, downloaded, unplayed): title_markup = cgi.escape(channel.title) + if not channel.feed_update_enabled: + disabled_text = cgi.escape(_('Subscription paused')) + if new: + return self._active_markup % (title_markup, disabled_text) + else: + return self._unplayed_markup % (title_markup, disabled_text) if not unplayed and not new: return self._normal_markup % title_markup diff --git a/src/gpodder/gtkui/model.py b/src/gpodder/gtkui/model.py index 182b6ee9..463a910f 100644 --- a/src/gpodder/gtkui/model.py +++ b/src/gpodder/gtkui/model.py @@ -695,7 +695,7 @@ class PodcastListModel(gtk.ListStore): if channel.feed_update_enabled: description_markup = xml.sax.saxutils.escape(util.get_first_line(channel.description) or ' ') else: - description_markup = xml.sax.saxutils.escape(_('Subscription paused.')) + description_markup = xml.sax.saxutils.escape(_('Subscription paused')) d = [] if new: d.append('') diff --git a/src/gpodder/gui.py b/src/gpodder/gui.py index 4d5837e4..8ba8d8e8 100644 --- a/src/gpodder/gui.py +++ b/src/gpodder/gui.py @@ -416,7 +416,8 @@ class gPodder(BuilderWidget, dbus.service.Object): remove_download_task_monitor=self.remove_download_task_monitor, \ for_each_episode_set_task_status=self.for_each_episode_set_task_status, \ on_itemUpdate_activate=self.on_itemUpdate_activate, \ - show_delete_episodes_window=self.show_delete_episodes_window) + show_delete_episodes_window=self.show_delete_episodes_window, \ + cover_downloader=self.cover_downloader) # Expose objects for episode list type-ahead find self.hbox_search_episodes = self.episodes_window.hbox_search_episodes -- 2.11.4.GIT