From d5c857700121e437c8f1ca7364ccd0c9ec45f1e5 Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Tue, 7 Apr 2015 08:38:09 -0700 Subject: [PATCH] Make change-id a search link in change screen Change-Id: I8a38e2c5c47d524f485789f2685c8dc0bfd278c8 --- gertty/view/change.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gertty/view/change.py b/gertty/view/change.py index 502ad7b..48828ab 100644 --- a/gertty/view/change.py +++ b/gertty/view/change.py @@ -433,7 +433,7 @@ class ChangeView(urwid.WidgetWrap): self.message_rows = {} self.last_revision_key = None self.hide_comments = True - self.change_id_label = urwid.Text(u'', wrap='clip') + self.change_id_label = mywid.TextButton(u'', on_press=self.searchChangeId) self.owner_label = mywid.TextButton(u'', on_press=self.searchOwner) self.project_label = mywid.TextButton(u'', on_press=self.searchProject) self.branch_label = urwid.Text(u'', wrap='clip') @@ -444,7 +444,9 @@ class ChangeView(urwid.WidgetWrap): self.permalink_label = urwid.Text(u'', wrap='clip') change_info = [] change_info_map={'change-data': 'focused-change-data'} - for l, v in [("Change-Id", self.change_id_label), + for l, v in [("Change-Id", urwid.Padding(urwid.AttrMap(self.change_id_label, None, + focus_map=change_info_map), + width='pack')), ("Owner", urwid.Padding(urwid.AttrMap(self.owner_label, None, focus_map=change_info_map), width='pack')), @@ -550,12 +552,13 @@ class ChangeView(urwid.WidgetWrap): self.project_key = change.project.key self.project_name = change.project.name self.change_rest_id = change.id + self.change_id = change.change_id if change.owner: self.owner_email = change.owner.email else: self.owner_email = None - self.change_id_label.set_text(('change-data', change.change_id)) + self.change_id_label.text.set_text(('change-data', change.change_id)) self.owner_label.text.set_text(('change-data', change.owner_name)) self.project_label.text.set_text(('change-data', change.project.name)) self.branch_label.set_text(('change-data', change.branch)) @@ -1003,6 +1006,9 @@ class ChangeView(urwid.WidgetWrap): self.app.backScreen() self.refresh() + def searchChangeId(self, widget): + self.app.doSearch("status:open change:%s" % (self.change_id,)) + def searchOwner(self, widget): if self.owner_email: self.app.doSearch("status:open owner:%s" % (self.owner_email,))