rind: Add one to MangaerModel iter user_data
This lets us use 0 to represent a child that we haven't descended down. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
6539299212
commit
e6cc3716eb
|
@ -20,7 +20,9 @@ class ManagerModel(GObject.GObject, Gtk.TreeModel):
|
|||
return 2
|
||||
|
||||
def do_get_path(self, iter):
|
||||
return Gtk.TreePath((iter.user_data))
|
||||
if iter != None:
|
||||
return Gtk.TreePath((iter.user_data - 1))
|
||||
return None
|
||||
|
||||
def do_get_value(self, iter, column):
|
||||
plist = self.iter_playlist(iter)
|
||||
|
@ -41,18 +43,20 @@ class ManagerModel(GObject.GObject, Gtk.TreeModel):
|
|||
def do_iter_nth_child(self, iter, n):
|
||||
if n < len(toplevel):
|
||||
iter = Gtk.TreeIter()
|
||||
iter.user_data = n
|
||||
iter.user_data = n + 1
|
||||
iter.user_data2 = 0
|
||||
iter.user_data3 = 0
|
||||
return (True, iter)
|
||||
return (False, None)
|
||||
|
||||
def do_iter_next(self, iter):
|
||||
iter.user_data += 1
|
||||
if iter.user_data >= len(toplevel):
|
||||
if iter.user_data > len(toplevel):
|
||||
return (False, None)
|
||||
return (True, iter)
|
||||
|
||||
def iter_playlist(self, iter):
|
||||
top = toplevel[iter.user_data]
|
||||
top = toplevel[iter.user_data - 1]
|
||||
if top != None:
|
||||
return curds.PlaylistManager[top]
|
||||
return None
|
||||
|
@ -64,7 +68,6 @@ class ManagerModel(GObject.GObject, Gtk.TreeModel):
|
|||
self.row_changed(path, iter)
|
||||
|
||||
|
||||
|
||||
MgrModel = ManagerModel()
|
||||
Treeview = gtk.Builder.get_object("manager_treeview")
|
||||
Treeview.set_model(MgrModel)
|
||||
|
|
|
@ -39,7 +39,9 @@ class TestManager(unittest.TestCase):
|
|||
|
||||
self.assertEqual(model.iter_n_children(None), 3)
|
||||
|
||||
self.assertEqual(iter.user_data, 0)
|
||||
self.assertEqual(iter.user_data, 1)
|
||||
self.assertEqual(iter.user_data2, 0)
|
||||
self.assertEqual(iter.user_data3, 0)
|
||||
self.assertFalse(model.iter_has_child(iter))
|
||||
self.assertEqual(model.iter_n_children(iter), 0)
|
||||
self.assertEqual(model.iter_playlist(iter), plist_mgr["Collection"])
|
||||
|
@ -53,7 +55,9 @@ class TestManager(unittest.TestCase):
|
|||
for i in range(1, 3):
|
||||
iter = model.iter_next(iter)
|
||||
path = model.get_path(iter)
|
||||
self.assertEqual(iter.user_data, i)
|
||||
self.assertEqual(iter.user_data, i + 1)
|
||||
self.assertEqual(iter.user_data2, 0)
|
||||
self.assertEqual(iter.user_data3, 0)
|
||||
self.assertEqual(path.get_indices()[0], i)
|
||||
self.assertEqual(model.iter_n_children(iter), 0)
|
||||
self.assertEqual(model.iter_playlist(iter), toplevel_plist[i])
|
||||
|
@ -61,4 +65,6 @@ class TestManager(unittest.TestCase):
|
|||
self.assertEqual(model.get_value(iter, 1), toplevel_names[i])
|
||||
|
||||
iter = model.iter_nth_child(None, 2)
|
||||
self.assertEqual(iter.user_data, 2)
|
||||
self.assertEqual(iter.user_data, 3)
|
||||
self.assertEqual(iter.user_data2, 0)
|
||||
self.assertEqual(iter.user_data3, 0)
|
||||
|
|
Loading…
Reference in New Issue