From 55fb426500c431ec67bd462f49c3159e8e1aa82f Mon Sep 17 00:00:00 2001 From: Thomas Perl Date: Mon, 8 Aug 2016 20:05:02 +0200 Subject: [PATCH] Activate URLs on enter and do not handle selection clicks --- src/gpodder/gtkui/shownotes.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/gpodder/gtkui/shownotes.py b/src/gpodder/gtkui/shownotes.py index 6b734d34..52455480 100644 --- a/src/gpodder/gtkui/shownotes.py +++ b/src/gpodder/gtkui/shownotes.py @@ -115,6 +115,7 @@ class gPodderShownotesText(gPodderShownotes): self.text_view.set_border_width(10) self.text_view.set_editable(False) self.text_view.connect('button-release-event', self.on_button_release) + self.text_view.connect('key-press-event', self.on_key_press) self.text_buffer = gtk.TextBuffer() self.text_buffer.create_tag('heading', scale=pango.SCALE_LARGE, weight=pango.WEIGHT_BOLD) self.text_buffer.create_tag('subheading', scale=pango.SCALE_SMALL) @@ -145,6 +146,17 @@ class gPodderShownotesText(gPodderShownotes): def on_button_release(self, widget, event): if event.button == 1: + self.activate_links() + + def on_key_press(self, widget, event): + if gtk.gdk.keyval_name(event.keyval) == 'Return': + self.activate_links() + return True + + return False + + def activate_links(self): + if self.text_buffer.get_selection_bounds() == (): pos = self.text_buffer.props.cursor_position target = next((url for start, end, url in self.hyperlinks if start < pos < end), None) if target is not None: