class PopupCalendar(object):
- def __init__(self, parent, displayDate):
+ def __init__(self, parent, displayDate, title = ""):
self._displayDate = displayDate
self._calendar = gtk.Calendar()
self._calendar.connect("day-selected", self._on_day_selected)
self._popupWindow = gtk.Window()
- self._popupWindow.set_title("")
+ self._popupWindow.set_title(title)
self._popupWindow.add(self._calendar)
self._popupWindow.set_transient_for(parent)
self._popupWindow.set_modal(True)
self._nameCell = gtk.CellRendererText()
self._nameColumn.pack_start(self._nameCell, True)
self._nameColumn.set_attributes(self._nameCell, text=self.NAME_IDX)
+ self._nameColumn.set_expand(True)
self._dueColumn = gtk.TreeViewColumn('Due')
self._dueCell = gtk.CellRendererText()
self._dueColumn.pack_start(self._nameCell, False)
self._linkCell = gtk.CellRendererText()
self._linkColumn.pack_start(self._nameCell, False)
self._linkColumn.set_attributes(self._nameCell, text=self.LINK_IDX)
- self._notesColumn = gtk.TreeViewColumn('') # Notes
+ self._notesColumn = gtk.TreeViewColumn('Notes') # Notes
self._notesCell = gtk.CellRendererText()
self._notesColumn.pack_start(self._nameCell, False)
self._notesColumn.set_attributes(self._nameCell, text=self.NOTES_IDX)
self._todoItemScroll = gtk.ScrolledWindow()
self._todoItemScroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
self._todoItemTree = gtk.TreeView()
+ self._todoItemTree.set_headers_visible(True)
+ self._todoItemTree.set_rules_hint(True)
+ self._todoItemTree.set_search_column(self.NAME_IDX)
+ self._todoItemTree.set_enable_search(True)
+ self._todoItemTree.append_column(self._completionColumn)
+ self._todoItemTree.append_column(self._priorityColumn)
+ self._todoItemTree.append_column(self._nameColumn)
+ self._todoItemTree.append_column(self._dueColumn)
+ self._todoItemTree.append_column(self._linkColumn)
+ self._todoItemTree.append_column(self._notesColumn)
+ self._todoItemTree.connect("row-activated", self._on_item_select)
self._todoItemScroll.add(self._todoItemTree)
- self._onItemSelectId = 0
def enable(self, manager, projId):
self._manager = manager
self._todoItemScroll.show_all()
self._itemList.clear()
- self._todoItemTree.append_column(self._completionColumn)
- self._todoItemTree.append_column(self._priorityColumn)
- self._todoItemTree.append_column(self._nameColumn)
- self._todoItemTree.append_column(self._dueColumn)
- self._todoItemTree.append_column(self._linkColumn)
- self._todoItemTree.append_column(self._notesColumn)
try:
self.reset_task_list(self._projId)
except StandardError, e:
self._errorDisplay.push_exception()
- self._todoItemTree.set_headers_visible(False)
- self._nameColumn.set_expand(True)
-
- self._onItemSelectId = self._todoItemTree.connect("row-activated", self._on_item_select)
-
def disable(self):
self._manager = None
self._projId = None
self._todoBox.remove(self._todoItemScroll)
self._todoItemScroll.hide_all()
- self._todoItemTree.disconnect(self._onItemSelectId)
-
- self._todoItemTree.remove_column(self._completionColumn)
- self._todoItemTree.remove_column(self._priorityColumn)
- self._todoItemTree.remove_column(self._nameColumn)
- self._todoItemTree.remove_column(self._dueColumn)
- self._todoItemTree.remove_column(self._linkColumn)
- self._todoItemTree.remove_column(self._notesColumn)
+
self._itemList.clear()
self._itemList.set_model(None)
elif viewColumn is self._dueColumn:
due = self._manager.get_task_details(taskId)["dueDate"]
if due.is_good():
- calendar = gtk_toolbox.PopupCalendar(None, due.get())
+ calendar = gtk_toolbox.PopupCalendar(None, due.get(), "Due Date")
calendar.run()
elif viewColumn is self._linkColumn:
webbrowser.open(self._manager.get_task_details(taskId)["url"])