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:
parent
483ced5f74
commit
f4896ed222
@ -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()
|
||||||
|
|
||||||
|
@ -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':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user