Compare commits
3 Commits
assignee-d
...
subtask
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
55970ab144 | ||
|
|
65bd30d026 | ||
|
|
dac83e00a1 |
42
ui.py
42
ui.py
@@ -266,6 +266,35 @@ class AssigneeTypeAhead(urwid.Pile):
|
||||
self.contents = [self.contents[0]]
|
||||
self.edit.set_edit_text(user['name'])
|
||||
|
||||
class ProjectTypeAhead(urwid.Pile):
|
||||
def __init__(self, task):
|
||||
body = [('pack', urwid.AttrMap(ProjectIcon(project, self.loadProject),
|
||||
'project'))
|
||||
for project in task['projects']]
|
||||
|
||||
|
||||
self.edit = urwid.Edit('Add Project: ')
|
||||
urwid.connect_signal(self.edit, 'change', self.typeAhead)
|
||||
|
||||
body.append(('pack', self.edit))
|
||||
|
||||
super(ProjecTypeAhead).__init__(body)
|
||||
|
||||
def typeAhead(self, widget, text):
|
||||
urwid.emit_signal(self, 'projecttypeahead', text, self.updateTypeAhead)
|
||||
|
||||
def updateTypeAhead(self, projects):
|
||||
projects = [(TypeAheadButton(p, self.add), ('pack', None))
|
||||
for p in projects]
|
||||
|
||||
body = [('pack', urwid.AttrMap(ProjectIcon(project, self.loadProject),
|
||||
'project'))
|
||||
for project in self.task['projects']]
|
||||
|
||||
body.append(('pack', self.edit))
|
||||
|
||||
self.contents = body + projects
|
||||
|
||||
class TaskDetails(urwid.ListBox):
|
||||
def __init__(self, task, stories, subtasks):
|
||||
self.task = task
|
||||
@@ -285,10 +314,8 @@ class TaskDetails(urwid.ListBox):
|
||||
urwid.connect_signal(assignee_type_ahead, 'usertypeahead',
|
||||
self.userTypeAhead)
|
||||
urwid.connect_signal(assignee_type_ahead, 'assigntask', self.assignTask)
|
||||
|
||||
projects = [urwid.AttrMap(ProjectIcon(project, self.loadProject),
|
||||
'project')
|
||||
for project in task['projects']]
|
||||
|
||||
containers = []
|
||||
|
||||
if task['parent'] != None:
|
||||
parent = TaskEdit(task['parent'])
|
||||
@@ -297,8 +324,8 @@ class TaskDetails(urwid.ListBox):
|
||||
|
||||
#Remap enter to load details of parent
|
||||
urwid.connect_signal(parent, 'newtask', self.showDetails)
|
||||
projects.append(parent)
|
||||
|
||||
containers.append(parent)
|
||||
|
||||
all_subtasks = [t for t in subtasks]
|
||||
subtask_list = TaskList(all_subtasks)
|
||||
urwid.connect_signal(subtask_list, 'complete', self.completeTask)
|
||||
@@ -306,7 +333,7 @@ class TaskDetails(urwid.ListBox):
|
||||
urwid.connect_signal(subtask_list, 'updatetask', self.updateSubtask)
|
||||
urwid.connect_signal(subtask_list, 'details', self.showDetails)
|
||||
|
||||
body = projects + \
|
||||
body = containers + \
|
||||
[
|
||||
urwid.Divider('='),
|
||||
task_name_edit,
|
||||
@@ -325,7 +352,6 @@ class TaskDetails(urwid.ListBox):
|
||||
|
||||
def completeTask(self, task_id):
|
||||
urwid.emit_signal(self, 'complete', task_id)
|
||||
del self.body[self.focus_position]
|
||||
|
||||
def newTask(self, task_after_id=None):
|
||||
urwid.emit_signal(self, 'newtask', task_after_id)
|
||||
|
||||
Reference in New Issue
Block a user