From f33844bb40e9a755f4a7184115fc02316b864443 Mon Sep 17 00:00:00 2001 From: Thomas Perl Date: Mon, 30 Nov 2009 19:41:13 +0100 Subject: [PATCH] Add "on_drag_mark_played" config option This allows the user to configure gPodder so that episodes that are dragged (either to the file manager or an application like VLC) to be marked as played. --- src/gpodder/config.py | 2 ++ src/gpodder/gui.py | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/gpodder/config.py b/src/gpodder/config.py index 7cd32c76..a78cd8c7 100644 --- a/src/gpodder/config.py +++ b/src/gpodder/config.py @@ -198,6 +198,8 @@ gPodderSettings = { ("Enable the use of finger-scrollable widgets on Maemo.")), 'double_click_episode_action': (str, 'shownotes', ("Episode double-click/enter action handler (shownotes, download, stream)")), + 'on_drag_mark_played': (bool, False, + ("Mark episode as played when using drag'n'drop to copy/open it")), 'feed_update_skipping': (bool, True, ('Skip podcasts that are unlikely to have new episodes when updating feeds.')), diff --git a/src/gpodder/gui.py b/src/gpodder/gui.py index 97338d5a..0027cdad 100644 --- a/src/gpodder/gui.py +++ b/src/gpodder/gui.py @@ -675,6 +675,10 @@ class gPodder(BuilderWidget, dbus.service.Object): self.treeAvailable.enable_model_drag_source(gtk.gdk.BUTTON1_MASK, \ (('text/uri-list', 0, 0),), gtk.gdk.ACTION_COPY) def drag_data_get(tree, context, selection_data, info, timestamp): + if self.config.on_drag_mark_played: + for episode in self.get_selected_episodes(): + episode.mark(is_played=True) + self.on_selected_episodes_status_changed() uris = ['file://'+e.local_filename(create=False) \ for e in self.get_selected_episodes() \ if e.was_downloaded(and_exists=True)] -- 2.11.4.GIT