From 154ddc8766e7f2f837d4c801e940cbc535b13911 Mon Sep 17 00:00:00 2001
From: "James E. Blair" <jeblair@hp.com>
Date: Tue, 13 Jan 2015 16:16:28 +1300
Subject: [PATCH] Include descriptions in review dialog

Include the category description (eg "looks good to me") next to
the review values (eg "+1").

Change-Id: Ibd36da053bfa311097e72a7029d5dc6141169d57
---
 gertty/view/change.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gertty/view/change.py b/gertty/view/change.py
index 1f9da74..a140717 100644
--- a/gertty/view/change.py
+++ b/gertty/view/change.py
@@ -104,12 +104,16 @@ class ReviewDialog(urwid.WidgetWrap):
         rows = []
         categories = []
         values = {}
+        descriptions = {}
         self.button_groups = {}
         message = ''
         with self.app.db.getSession() as session:
             revision = session.getRevision(self.revision_row.revision_key)
             change = revision.change
             if revision == change.revisions[-1]:
+                for label in change.labels:
+                    d = descriptions.setdefault(label.category, {})
+                    d[label.value] = label.description
                 for label in change.permitted_labels:
                     if label.category not in categories:
                         categories.append(label.category)
@@ -134,7 +138,9 @@ class ReviewDialog(urwid.WidgetWrap):
                             strvalue = ' 0'
                         else:
                             strvalue = str(value)
+                        strvalue += '  ' + descriptions[category][value]
                         b = urwid.RadioButton(group, strvalue, state=(value == current))
+                        b._value = value
                         rows.append(b)
                     rows.append(urwid.Divider())
             m = revision.getPendingMessage()
@@ -155,7 +161,7 @@ class ReviewDialog(urwid.WidgetWrap):
         for category, group in self.button_groups.items():
             for button in group:
                 if button.state:
-                    approvals[category] = int(button.get_label())
+                    approvals[category] = button._value
         message = self.message.edit_text.strip()
         self.change_view.saveReview(self.revision_row.revision_key, approvals,
                                     message, upload, submit)