emmental/playlist/model.py
Anna Schumaker 91ef91a5f0 playlist: Create a way to switch tags in the TagModel
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2021-07-23 12:56:02 -04:00

28 lines
690 B
Python

# Copyright 2021 (c) Anna Schumaker.
from gi.repository import GObject, Gio
class TagModel(GObject.GObject, Gio.ListModel):
def __init__(self, tag=None):
GObject.GObject.__init__(self)
self.tag = tag
def do_get_item_type(self):
return GObject.TYPE_PYOBJECT
def do_get_n_items(self):
if self.tag:
return len(self.tag)
return 0
def do_get_item(self, n):
if self.tag:
return self.tag[n]
def do_get_object(self, n):
return self.tag[n]
def switch_tag(self, tag):
prev = len(self.tag) if self.tag else 0
self.tag = tag
self.items_changed(0, prev, len(self.tag))