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