From 3d93f7a13af313df1c059f9f974c5f6b88908ccc Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Sun, 17 Aug 2014 15:00:45 -0700 Subject: [PATCH] Make the commit message box hypertext So that commentlinks run on it. Change-Id: Iab75f35807a6978ddad6f2c0b485f9aa953fec6d --- gertty/mywid.py | 2 +- gertty/view/change.py | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/gertty/mywid.py b/gertty/mywid.py index 06cb586..12d986a 100644 --- a/gertty/mywid.py +++ b/gertty/mywid.py @@ -120,7 +120,7 @@ class HyperText(urwid.Text): self._mouse_press_item = None self.selectable_items = [] self.focused_index = None - self.last_focused_index = None + self.last_focused_index = 0 super(HyperText, self).__init__(markup, align, wrap, layout) def focusFirstItem(self): diff --git a/gertty/view/change.py b/gertty/view/change.py index ac7ec88..69c2bb7 100644 --- a/gertty/view/change.py +++ b/gertty/view/change.py @@ -269,6 +269,17 @@ class ChangeMessageBox(mywid.HyperText): comment_text = commentlink.run(app, comment_text) self.set_text(text+comment_text) +class CommitMessageBox(mywid.HyperText): + def __init__(self, app, message): + self.app = app + super(CommitMessageBox, self).__init__(message) + + def set_text(self, text): + text = [text] + for commentlink in self.app.config.commentlinks: + text = commentlink.run(self.app, text) + super(CommitMessageBox, self).set_text(text) + class ChangeView(urwid.WidgetWrap): _help = """ Checkout the most recent revision into the local repo. @@ -319,7 +330,7 @@ class ChangeView(urwid.WidgetWrap): row = urwid.Columns([(12, urwid.Text(('change-header', l), wrap='clip')), v]) change_info.append(row) change_info = urwid.Pile(change_info) - self.commit_message = urwid.Text(u'') + self.commit_message = CommitMessageBox(app, u'') votes = mywid.Table([]) self.depends_on = urwid.Pile([]) self.depends_on_rows = {} @@ -344,6 +355,8 @@ class ChangeView(urwid.WidgetWrap): self.checkGitRepo() self.refresh() + self.listbox.set_focus(0) + top.set_focus(0) def checkGitRepo(self): missing_revisions = set()