From 55970ab144d032ef997cce988142816c1cb71dd2 Mon Sep 17 00:00:00 2001 From: Aaron Gutierrez Date: Mon, 17 Aug 2015 20:54:33 -0700 Subject: [PATCH] more WIP --- ui.py | 50 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 15 deletions(-) diff --git a/ui.py b/ui.py index c40d610..d4c116b 100644 --- a/ui.py +++ b/ui.py @@ -268,23 +268,32 @@ class AssigneeTypeAhead(urwid.Pile): class ProjectTypeAhead(urwid.Pile): def __init__(self, task): - projects = [urwid.AttrMap(ProjectIcon(project, self.loadProject), - 'project') - for project in task['projects']] + body = [('pack', urwid.AttrMap(ProjectIcon(project, self.loadProject), + 'project')) + for project in task['projects']] - if task['parent'] != None: - parent = TaskEdit(task['parent']) - urwid.connect_signal(parent, 'updatetask', self.updateSubtask) - urwid.connect_signal(parent, 'details', self.showDetails) - - #Remap enter to load details of parent - urwid.connect_signal(parent, 'newtask', self.showDetails) - projects.append(parent) - projects = [ProjectIcon(project, self.loadProject) - for project in task['projects']] self.edit = urwid.Edit('Add Project: ') - project.append(self.edit) + 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): @@ -306,6 +315,17 @@ class TaskDetails(urwid.ListBox): self.userTypeAhead) urwid.connect_signal(assignee_type_ahead, 'assigntask', self.assignTask) + containers = [] + + if task['parent'] != None: + parent = TaskEdit(task['parent']) + urwid.connect_signal(parent, 'updatetask', self.updateSubtask) + urwid.connect_signal(parent, 'details', self.showDetails) + + #Remap enter to load details of parent + urwid.connect_signal(parent, 'newtask', self.showDetails) + containers.append(parent) + all_subtasks = [t for t in subtasks] subtask_list = TaskList(all_subtasks) urwid.connect_signal(subtask_list, 'complete', self.completeTask) @@ -313,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,