+ self.treeview.get_selection().set_mode(gtk.SELECTION_SINGLE)
+ hildon.hildon_gtk_tree_view_set_ui_mode(self.treeview, gtk.HILDON_UI_MODE_EDIT)
+ self.refreshList()
+ self.treeview.append_column(gtk.TreeViewColumn('Feed Name', gtk.CellRendererText(), text = 0))
+
+ self.pannableArea.add(self.treeview)
+
+ #self.show_all()
+
+ def refreshList(self, selected=None, offset=0):
+ #x = self.treeview.get_visible_rect().x
+ rect = self.treeview.get_visible_rect()
+ y = rect.y+rect.height
+ #self.pannableArea.jump_to(-1, 0)
+ self.treestore = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
+ for key in self.listing.getListOfFeeds():
+ item = self.treestore.append([self.listing.getFeedTitle(key), key])
+ if key == selected:
+ selectedItem = item
+ self.treeview.set_model(self.treestore)
+ if not selected == None:
+ self.treeview.get_selection().select_iter(selectedItem)
+ self.treeview.scroll_to_cell(self.treeview.get_model().get_path(selectedItem))
+ #self.pannableArea.jump_to(-1, y+offset)
+ self.pannableArea.show_all()
+
+ def getSelectedItem(self):
+ (model, iter) = self.treeview.get_selection().get_selected()
+ if not iter:
+ return None
+ return model.get_value(iter, 1)
+
+ def findIndex(self, key):
+ after = None
+ before = None
+ found = False
+ for row in self.treestore:
+ if found:
+ return (before, row.iter)
+ if key == list(row)[0]:
+ found = True
+ else:
+ before = row.iter
+ return (before, None)
+
+ def buttonUp(self, button):
+ key = self.getSelectedItem()
+ if not key == None:
+ self.listing.moveUp(key)
+ self.refreshList(key, -10)
+ #placement = self.pannableArea.get_placement()
+ #placement = self.treeview.get_visible_rect().y
+ #self.displayFeeds(key)
+
+ #self.treeview.scroll_to_point(-1, y)
+ #self.pannableArea.set_placement(placement)
+
+ def buttonDown(self, button):
+ key = self.getSelectedItem()
+ if not key == None:
+ self.listing.moveDown(key)
+ #(before, after) = self.findIndex(key)
+ #self.treestore.move_after(iter, after)
+ #self.treeview.set_model(self.treestore)
+ #self.treeview.show_all()
+ self.refreshList(key, 10)
+
+ #placement = self.pannableArea.get_placement()
+ #self.displayFeeds(key)
+ #self.pannableArea.set_placement(placement)
+
+ def buttonDelete(self, button):
+ key = self.getSelectedItem()
+ if not key == None:
+ self.listing.removeFeed(key)
+ self.refreshList()
+
+ def buttonDone(self, *args):
+ self.destroy()
+