project hour labels clickable to select project

This commit is contained in:
Josh Holtrop 2011-03-20 11:04:23 -04:00
parent 16f205178f
commit 19f3e8ec1b

View File

@ -97,6 +97,7 @@ class Window:
self.projects_container.remove(self.projects_table)
self.projects = self.ds.getProjects()
self.project_hour_labels = {}
self.project_labels_to_pnum = {}
projects_to_show = {}
for p in self.shown_projects:
projects_to_show[p] = 1
@ -106,6 +107,7 @@ class Window:
self.tasks = self.ds.getTasks(self.currProject)
self.task_hour_labels = {}
self.task_labels_to_pnum = {}
# Header row
col_headers = ('Project',
@ -132,14 +134,17 @@ class Window:
pnum = self.getProjectNum(pname)
e = projTblCell(pname, pnum)
e.get_child().set_alignment(0.0, 0.0)
self.project_labels_to_pnum[e.get_child()] = pnum
e.add_events(gtk.gdk.BUTTON_PRESS_MASK)
e.connect("button-press-event", self.project_click_event)
self.projects_table.attach(e, 0, 1, row, row + 1)
self.project_hour_labels[pnum] = {}
for i in range(8):
e = projTblCell(" ", pnum)
e = projTblCell('', pnum)
self.projects_table.attach(e, i + 1, i + 2, row, row + 1)
self.project_hour_labels[pnum][i] = e.get_child()
e.connect("button-press-event", self.project_click_event)
self.project_labels_to_pnum[e.get_child()] = pnum
row += 1
# Totals row
@ -297,7 +302,7 @@ class Window:
pnum = 0
if pnum:
self.shown_projects[pnum] = 1
self.project_select_event(pname)
self.project_select_event(pnum)
self.updateProjects()
def project_key_press_event(self, widget, event, data=None):
@ -310,14 +315,15 @@ class Window:
lbl = ebox.get_child()
if lbl:
if event.button == 1:
return self.project_select_event(lbl.get_text())
if lbl in self.project_labels_to_pnum:
return self.project_select_event(
self.project_labels_to_pnum[lbl])
elif event.button == 3:
# TODO: handle right-click
return True
return False
def project_select_event(self, projectName):
pnum = self.getProjectNum(projectName)
def project_select_event(self, pnum):
if pnum:
self.currProject = pnum
self.updateProjects()