79
79
self.treeview = gtk.TreeView()
80
80
self.treeview.set_rules_hint(True)
81
81
self.treeview.set_search_column(4)
82
self.treeview.connect("cursor-changed", self._treeview_cursor_cb)
82
self.treeview.get_selection().connect("changed", self._treeselection_changed_cb)
83
83
self.treeview.connect("row-activated", self._treeview_row_activated_cb)
84
84
self.treeview.connect("button-release-event",
85
85
self._treeview_row_mouseclick)
204
204
self.graph_column.set_max_width(width)
205
205
self.index = index
206
206
self.treeview.set_model(self.model)
207
self.treeview.get_selection().select_path(0)
207
210
def _on_key_pressed(self, widget, event):
208
211
""" Key press event handler. """
209
212
keyname = gtk.gdk.keyval_name(event.keyval)
221
224
if event.state & gtk.gdk.CONTROL_MASK:
224
def _treeview_cursor_cb(self, *args):
225
"""Callback for when the treeview cursor changes."""
226
(path, col) = self.treeview.get_cursor()
227
iter = self.model.get_iter(path)
228
revision = self.model.get_value(iter, treemodel.REVISION)
229
parents = self.model.get_value(iter, treemodel.PARENTS)
230
children = self.model.get_value(iter, treemodel.CHILDREN)
232
self.back_button.set_sensitive(len(parents) > 0)
233
self.fwd_button.set_sensitive(len(children) > 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, children)
227
def _treeselection_changed_cb(self, selection, *args):
228
"""Callback for when the treeview changes."""
229
(model, selected_rows) = selection.get_selected_rows()
230
if len(selected_rows) > 0:
231
iter = self.model.get_iter(selected_rows[0])
232
revision = self.model.get_value(iter, treemodel.REVISION)
233
parents = self.model.get_value(iter, treemodel.PARENTS)
234
children = self.model.get_value(iter, treemodel.CHILDREN)
236
self.back_button.set_sensitive(len(parents) > 0)
237
self.fwd_button.set_sensitive(len(children) > 0)
239
if self.branch.supports_tags():
240
tagdict = self.branch.tags.get_reverse_tag_dict()
241
if tagdict.has_key(revision.revision_id):
242
tags = tagdict[revision.revision_id]
243
self.logview.set_revision(revision, tags, children)
241
245
def _back_clicked_cb(self, *args):
242
246
"""Callback for when the back button is clicked."""