From a75562aa8b62247d09c52c92a620b947d19bbb95 Mon Sep 17 00:00:00 2001 From: Liming An Date: Tue, 8 May 2012 19:48:06 +0800 Subject: [PATCH] Hob: add original url show function with the tooltip hyperlink for user When case about No browser, such as running in 'Build Appliance', user can't open the hyper link, so add this work around for user. (Checking the browser is avaiable or not is hard by different system and browser type) [YOCTO #2340] (Bitbake rev: 02cc701869bceb2d0e11fe3cf51fb0582cda01b0) Signed-off-by: Liming An Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/crumbs/persistenttooltip.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/bitbake/lib/bb/ui/crumbs/persistenttooltip.py b/bitbake/lib/bb/ui/crumbs/persistenttooltip.py index b43d297bf7..927c194292 100644 --- a/bitbake/lib/bb/ui/crumbs/persistenttooltip.py +++ b/bitbake/lib/bb/ui/crumbs/persistenttooltip.py @@ -125,11 +125,17 @@ class PersistentTooltip(gtk.Window): style.fg[gtk.STATE_NORMAL] = gtk.gdk.color_parse(val) self.label.set_style(style) break # we only care for the tooltip_fg_color + self.label.set_markup(markup) self.label.show() bin.add(self.label) hbox.pack_end(bin, True, True, 6) + # add the original URL display for user reference + if 'a href' in markup: + hbox.set_tooltip_text(self.get_markup_url(markup)) + hbox.show() + self.connect("key-press-event", self._catch_esc_cb) """ @@ -165,3 +171,16 @@ class PersistentTooltip(gtk.Window): def hide(self): self.shown = False gtk.Window.hide(self) + + """ + Called to get the hyperlink URL from markup text. + """ + def get_markup_url(self, markup): + url = "http:" + if markup and type(markup) == str: + s = markup + if 'http:' in s: + import re + url = re.search('(http:[^,\\ "]+)', s).group(0) + + return url