Making null_backend mirror the interface created for rtm_backend
[doneit] / src / rtm_view.py
index 9061f5d..27bd95a 100644 (file)
@@ -172,6 +172,7 @@ class ItemListView(object):
                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)
@@ -180,7 +181,7 @@ class ItemListView(object):
                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)
@@ -189,8 +190,18 @@ class ItemListView(object):
                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
@@ -200,36 +211,18 @@ class ItemListView(object):
                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)
 
@@ -290,7 +283,7 @@ class ItemListView(object):
                        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"])