77
77
self.treeview = gtk.TreeView()
78
78
self.treeview.set_rules_hint(True)
79
79
self.treeview.set_search_column(4)
80
self.treeview.connect("cursor-changed", self._treeview_cursor_cb)
80
self.treeview.get_selection().connect("changed", self._treeselection_changed_cb)
81
81
self.treeview.connect("row-activated", self._treeview_row_activated_cb)
82
82
self.treeview.connect("button-release-event",
83
83
self._treeview_row_mouseclick)
205
205
self.treeview.set_model(self.model)
206
206
self.treeview.get_selection().select_path(0)
207
self.logview.set_revision(self.model[0][0], []) # TODO: Send tags as well
210
209
def _on_key_pressed(self, widget, event):
223
222
def _on_key_press_q(self, event):
224
223
if event.state & gtk.gdk.CONTROL_MASK:
227
def _treeview_cursor_cb(self, *args):
228
"""Callback for when the treeview cursor changes."""
229
(path, col) = self.treeview.get_cursor()
230
revision = self.model[path][0]
232
self.back_button.set_sensitive(len(self.parent_ids[revision]) > 0)
233
self.fwd_button.set_sensitive(len(self.children[revision]) > 0)
235
if self.branch.supports_tags():
236
tagdict = self.branch.tags.get_reverse_tag_dict()
237
if tagdict.has_key(revision.revision_id):
238
tags = tagdict[revision.revision_id]
239
self.logview.set_revision(revision, tags)
226
def _treeselection_changed_cb(self, selection, *args):
227
"""Callback for when the treeview changes."""
228
(model, selected_rows) = selection.get_selected_rows()
229
if len(selected_rows) > 0:
230
revision = self.model[selected_rows[0]][0]
232
self.back_button.set_sensitive(len(self.parent_ids[revision]) > 0)
233
self.fwd_button.set_sensitive(len(self.children[revision]) > 0)
235
if self.branch.supports_tags():
236
tagdict = self.branch.tags.get_reverse_tag_dict()
237
if tagdict.has_key(revision.revision_id):
238
tags = tagdict[revision.revision_id]
239
self.logview.set_revision(revision, tags)
241
241
def _back_clicked_cb(self, *args):
242
242
"""Callback for when the back button is clicked."""