From f46b80d4a8c3b581ac4a82f8d60dd8d8ffbe9e2d Mon Sep 17 00:00:00 2001 From: Agustin Zubiaga Date: Tue, 29 May 2012 00:07:28 +0000 Subject: Scroll to selected item --- diff --git a/TODO b/TODO index 58239db..a387693 100644 --- a/TODO +++ b/TODO @@ -5,4 +5,4 @@ Fixes: - Enable drag and drop between frames. - Correct frame selection in ping pong mode Bugs: - - Doesn't scroll to the seleceted item + Void. diff --git a/frames_list.py b/frames_list.py index 5df5ba6..c61c673 100644 --- a/frames_list.py +++ b/frames_list.py @@ -25,25 +25,34 @@ import gtk class FramesList(gtk.ScrolledWindow): + def __init__(self): super(FramesList, self).__init__() + self._animation = None self._animation_connected = False + self.set_size_request(225, -1) self.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) + self.store = gtk.ListStore(int, gtk.gdk.Pixbuf) self.treeview = gtk.TreeView(self.store) + self.set_vadjustment(self.treeview.get_vadjustment()) self.selection = self.treeview.get_selection() self.selection.connect("changed", self._selection_changed_cb) + column = gtk.TreeViewColumn("Frame") self.treeview.append_column(column) + num_cell = gtk.CellRendererText() preview_cell = gtk.CellRendererPixbuf() + column.pack_start(num_cell) column.pack_start(preview_cell) column.add_attribute(num_cell, 'text', 0) column.add_attribute(preview_cell, 'pixbuf', 1) + self.treeview.show() self.add(self.treeview) self.frames = 0 @@ -65,6 +74,8 @@ class FramesList(gtk.ScrolledWindow): def _select_frame(self, widget, index): self.selection.select_iter(self.store.get_iter(index)) + selected_path = self.store.get_path(self.selection.get_selected()[1]) + self.treeview.scroll_to_cell(selected_path) def add_frame(self, pixbuf): self.frames += 1 -- cgit v0.9.1