From patchwork Tue May 8 11:48:06 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [bitbake-devel, 2/4] Hob: add original url show function with the tooltip hyperlink for user Date: Tue, 08 May 2012 11:48:06 -0000 From: An, LimingX L X-Patchwork-Id: 27281 Message-Id: <60a5d9dd3330307d428d8d6ce3779ad70d6c1ea7.1336477313.git.limingx.l.an@intel.com> To: bitbake-devel@lists.openembedded.org 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) [CTO #2340] Signed-off-by: Liming An --- bitbake/lib/bb/ui/crumbs/persistenttooltip.py | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/bitbake/lib/bb/ui/crumbs/persistenttooltip.py b/bitbake/lib/bb/ui/crumbs/persistenttooltip.py index b43d297..927c194 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