From dc0acdae22912eeb50aed90038e8d5e2e0ec9836 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Mon, 21 Mar 2011 16:51:24 -0400 Subject: [PATCH] tasks are selectable --- Window.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Window.py b/Window.py index 11e674b..8383641 100644 --- a/Window.py +++ b/Window.py @@ -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