Change active project toggle key

Use 'L' to toggle listing of projects with unreviewed changes.
Clean up some nomenclature around that feature.

Change-Id: I314500300587d56a4c56683203878c5fbaa37ee3
This commit is contained in:
James E. Blair 2014-08-23 11:38:57 -07:00
parent 483ced5f74
commit f4896ed222
2 changed files with 13 additions and 13 deletions

View File

@ -421,17 +421,17 @@ class DatabaseSession(object):
def delete(self, obj): def delete(self, obj):
self.session().delete(obj) self.session().delete(obj)
def getProjects(self, subscribed=False, active_only=False): def getProjects(self, subscribed=False, unreviewed=False):
"""Retrieve projects. """Retrieve projects.
:param subscribed: If True limit to only subscribed projects. :param subscribed: If True limit to only subscribed projects.
:param active_only: If True limit to only projects with unreviewed :param unreviewed: If True limit to only projects with unreviewed
reviews. changes.
""" """
query = self.session().query(Project) query = self.session().query(Project)
if subscribed: if subscribed:
query = query.filter_by(subscribed=subscribed) query = query.filter_by(subscribed=subscribed)
if active_only: if unreviewed:
query = query.filter(exists().where(Project.unreviewed_changes)) query = query.filter(exists().where(Project.unreviewed_changes))
return query.order_by(Project.name).all() return query.order_by(Project.name).all()

View File

@ -67,8 +67,8 @@ class ProjectListHeader(urwid.WidgetWrap):
class ProjectListView(urwid.WidgetWrap): class ProjectListView(urwid.WidgetWrap):
_help = """ _help = """
<a> Toggle hiding of projects with no active reviews (default: hidden).
<l> Toggle whether only subscribed projects or all projects are listed. <l> Toggle whether only subscribed projects or all projects are listed.
<L> Toggle listing of projects with unreviewed changes.
<s> Toggle the subscription flag for the currently selected project. <s> Toggle the subscription flag for the currently selected project.
<ctrl-r> Sync all projects. <ctrl-r> Sync all projects.
""" """
@ -79,7 +79,7 @@ class ProjectListView(urwid.WidgetWrap):
def __init__(self, app): def __init__(self, app):
super(ProjectListView, self).__init__(urwid.Pile([])) super(ProjectListView, self).__init__(urwid.Pile([]))
self.app = app self.app = app
self.active_only = True self.unreviewed = True
self.subscribed = True self.subscribed = True
self.project_rows = {} self.project_rows = {}
self.listbox = urwid.ListBox(urwid.SimpleFocusListWalker([])) self.listbox = urwid.ListBox(urwid.SimpleFocusListWalker([]))
@ -98,17 +98,17 @@ class ProjectListView(urwid.WidgetWrap):
def refresh(self): def refresh(self):
if self.subscribed: if self.subscribed:
self.title = u'Subscribed Projects' self.title = u'Subscribed projects'
if self.active_only: if self.unreviewed:
self.title += u' with unreviewed reviews' self.title += u' with unreviewed changes'
else: else:
self.title = u'All Projects' self.title = u'All projects'
self.app.status.update(title=self.title) self.app.status.update(title=self.title)
unseen_keys = set(self.project_rows.keys()) unseen_keys = set(self.project_rows.keys())
with self.app.db.getSession() as session: with self.app.db.getSession() as session:
i = 0 i = 0
for project in session.getProjects( for project in session.getProjects(
subscribed=self.subscribed, active_only=self.active_only): subscribed=self.subscribed, unreviewed=self.unreviewed):
row = self.project_rows.get(project.key) row = self.project_rows.get(project.key)
if not row: if not row:
row = ProjectRow(project, self.onSelect) row = ProjectRow(project, self.onSelect)
@ -138,8 +138,8 @@ class ProjectListView(urwid.WidgetWrap):
project_name, unreviewed=True)) project_name, unreviewed=True))
def keypress(self, size, key): def keypress(self, size, key):
if key=='a': if key=='L':
self.active_only = not self.active_only self.unreviewed = not self.unreviewed
self.refresh() self.refresh()
return None return None
if key=='l': if key=='l':