rind: Add the node id to the GtkTreeIter
We don't use user_data3 for anything yet, so let's use it to find playlists easier. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
02f271bba0
commit
16bbdb7105
|
@ -88,6 +88,7 @@ class NodeTreeModel(GObject.GObject, Gtk.TreeModel):
|
|||
iter.user_data2 += 1
|
||||
else:
|
||||
iter.user_data += 1
|
||||
iter.user_data3 = id(self.iter_playlist(iter))
|
||||
return self.iter_valid(iter)
|
||||
|
||||
def do_iter_parent(self, child):
|
||||
|
@ -149,6 +150,7 @@ class NodeTreeModel(GObject.GObject, Gtk.TreeModel):
|
|||
iter = Gtk.TreeIter()
|
||||
iter.user_data = path[0] + 1
|
||||
iter.user_data2 = path[1] + 1 if len(path) >= 2 else 0
|
||||
iter.user_data3 = id(plist)
|
||||
return iter
|
||||
|
||||
def set_filter_text(self, entry):
|
||||
|
|
|
@ -58,18 +58,18 @@ class TestNodeTreeModel(unittest.TestCase):
|
|||
|
||||
def test_model_get_iter(self):
|
||||
for i, node in enumerate(plist_root.children):
|
||||
path = Gtk.TreePath.new_from_indices([ i ])
|
||||
path = Gtk.TreePath(node.get_path())
|
||||
iter = self.model.get_iter(path)
|
||||
self.assertTreeIterEqual(iter, (i + 1, 0, 0))
|
||||
self.assertTreeIterEqual(iter, (i + 1, 0, id(node)))
|
||||
|
||||
path = Gtk.TreePath.new_from_indices([ plist_root.n_children() ])
|
||||
self.assertRaises(ValueError, self.model.get_iter, path)
|
||||
|
||||
index = self.genre.node_index()
|
||||
for i, node in enumerate(self.genre.children):
|
||||
path = Gtk.TreePath.new_from_indices([ index, i ])
|
||||
path = Gtk.TreePath(node.get_path())
|
||||
iter = self.model.get_iter(path)
|
||||
self.assertTreeIterEqual(iter, (index + 1, i + 1, 0))
|
||||
self.assertTreeIterEqual(iter, (index + 1, i + 1, id(node)))
|
||||
|
||||
def test_model_get_path(self):
|
||||
iter = Gtk.TreeIter()
|
||||
|
@ -102,7 +102,7 @@ class TestNodeTreeModel(unittest.TestCase):
|
|||
|
||||
def test_model_iter_children(self):
|
||||
iter = self.model.iter_children(None)
|
||||
self.assertTreeIterEqual(iter, (1, 0, 0))
|
||||
self.assertTreeIterEqual(iter, (1, 0, id(plist_root.nth_child(0))))
|
||||
|
||||
for i, node in enumerate(plist_root.children):
|
||||
iter.user_data = i + 1
|
||||
|
@ -114,7 +114,7 @@ class TestNodeTreeModel(unittest.TestCase):
|
|||
|
||||
iter = self.model.playlist_iter(self.genre)
|
||||
child = self.model.iter_children(iter)
|
||||
self.assertTreeIterEqual(child, (iter.user_data, 1, 0))
|
||||
self.assertTreeIterEqual(child, (iter.user_data, 1, id(self.genre.nth_child(0))))
|
||||
|
||||
for i, node in enumerate(self.genre.children):
|
||||
child.user_data2 = i + 1
|
||||
|
@ -155,7 +155,7 @@ class TestNodeTreeModel(unittest.TestCase):
|
|||
def test_model_iter_nth_child(self):
|
||||
for i, node in enumerate(plist_root.children):
|
||||
iter = self.model.iter_nth_child(None, i)
|
||||
self.assertTreeIterEqual(iter, (i + 1, 0, 0))
|
||||
self.assertTreeIterEqual(iter, (i + 1, 0, id(node)))
|
||||
if node not in [self.artist, self.decade, self.genre]:
|
||||
self.assertIsNone(self.model.iter_nth_child(iter, 0))
|
||||
self.assertIsNone(self.model.iter_nth_child(None, plist_root.n_children()))
|
||||
|
@ -163,20 +163,20 @@ class TestNodeTreeModel(unittest.TestCase):
|
|||
iter = self.model.playlist_iter(self.genre)
|
||||
for i, node in enumerate(self.genre.children):
|
||||
child = self.model.iter_nth_child(iter, i)
|
||||
self.assertTreeIterEqual(child, (iter.user_data, i + 1, 0))
|
||||
self.assertTreeIterEqual(child, (iter.user_data, i + 1, id(node)))
|
||||
self.assertIsNone(self.model.iter_nth_child(iter, i + 1))
|
||||
|
||||
def test_model_iter_next(self):
|
||||
iter = self.model.iter_children(None)
|
||||
for i, node in enumerate(plist_root.children):
|
||||
self.assertTreeIterEqual(iter, (i + 1, 0, 0))
|
||||
self.assertTreeIterEqual(iter, (i + 1, 0, id(node)))
|
||||
iter = self.model.iter_next(iter)
|
||||
self.assertIsNone(iter)
|
||||
|
||||
iter = self.model.playlist_iter(self.genre)
|
||||
child = self.model.iter_children(iter)
|
||||
for i, node in enumerate(self.genre.children):
|
||||
self.assertTreeIterEqual(child, (iter.user_data, i + 1, 0))
|
||||
self.assertTreeIterEqual(child, (iter.user_data, i + 1, id(node)))
|
||||
child = self.model.iter_next(child)
|
||||
self.assertIsNone(child)
|
||||
|
||||
|
@ -190,7 +190,7 @@ class TestNodeTreeModel(unittest.TestCase):
|
|||
iter = self.model.iter_children(iter)
|
||||
for i, node in enumerate(self.genre.children):
|
||||
parent = self.model.iter_parent(iter)
|
||||
self.assertTreeIterEqual(parent, (iter.user_data, 0, 0))
|
||||
self.assertTreeIterEqual(parent, (iter.user_data, 0, id(self.genre)))
|
||||
iter = self.model.iter_next(iter)
|
||||
|
||||
def test_model_iter_playlist(self):
|
||||
|
@ -231,12 +231,12 @@ class TestNodeTreeModel(unittest.TestCase):
|
|||
|
||||
for i, node in enumerate(plist_root.children):
|
||||
iter = self.model.playlist_iter(node)
|
||||
self.assertTreeIterEqual(iter, (i + 1, 0, 0))
|
||||
self.assertTreeIterEqual(iter, (i + 1, 0, id(node)))
|
||||
|
||||
iter = self.model.playlist_iter(self.genre)
|
||||
for i, node in enumerate(self.genre.children):
|
||||
child = self.model.playlist_iter(node)
|
||||
self.assertTreeIterEqual(child, (iter.user_data, i + 1, 0))
|
||||
self.assertTreeIterEqual(child, (iter.user_data, i + 1, id(node)))
|
||||
|
||||
def test_node_selection(self):
|
||||
selection = node.Treeview.get_selection()
|
||||
|
|
Loading…
Reference in New Issue