tasks are selectable

This commit is contained in:
Josh Holtrop 2011-03-21 16:51:24 -04:00
parent 19f3e8ec1b
commit dc0acdae22

View File

@ -107,7 +107,7 @@ class Window:
self.tasks = self.ds.getTasks(self.currProject)
self.task_hour_labels = {}
self.task_labels_to_pnum = {}
self.task_labels_to_tnum = {}
# Header row
col_headers = ('Project',
@ -184,14 +184,23 @@ class Window:
l.set_alignment(0.0, 0.0)
e = gtk.EventBox()
e.add(l)
self.task_labels_to_tnum[l] = tnum
if tnum == self.currTask:
e.set_state(gtk.STATE_SELECTED)
e.add_events(gtk.gdk.BUTTON_PRESS_MASK)
e.connect("button-press-event", self.task_click_event)
self.projects_table.attach(e, 0, 1, row, row + 1)
self.task_hour_labels[tnum] = {}
for i in range(8):
e = gtk.EventBox()
l = gtk.Label()
self.projects_table.attach(l, i + 1, i + 2, row, row + 1)
e.add(l)
if tnum == self.currTask:
e.set_state(gtk.STATE_SELECTED)
self.projects_table.attach(e, i + 1, i + 2, row, row + 1)
self.task_hour_labels[tnum][i] = l
e.connect("button-press-event", self.task_click_event)
self.task_labels_to_tnum[l] = tnum
row += 1
# Totals row
@ -326,6 +335,7 @@ class Window:
def project_select_event(self, pnum):
if pnum:
self.currProject = pnum
self.currTask = 0
self.updateProjects()
return True
return False
@ -340,7 +350,7 @@ class Window:
tnum = 0
if tnum:
self.tasks = self.ds.getTasks(self.currProject)
self.task_select_event(tname)
self.task_select_event(tnum)
self.updateProjects()
def task_key_press_event(self, widget, event, data=None):
@ -353,14 +363,14 @@ class Window:
lbl = ebox.get_child()
if lbl:
if event.button == 1:
return self.task_select_event(lbl.get_text())
if lbl in self.task_labels_to_tnum:
return self.task_select_event(self.task_labels_to_tnum[lbl])
elif event.button == 3:
# TODO: handle right-click
return True
return False
def task_select_event(self, taskName):
tnum = self.getTaskNum(taskName)
def task_select_event(self, tnum):
if tnum:
self.updateCurrTaskHours()
self.currTask = tnum