project hour labels clickable to select project
This commit is contained in:
parent
16f205178f
commit
19f3e8ec1b
16
Window.py
16
Window.py
@ -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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user