playlist: Create a DirectionButton button
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
9cfbf2acc9
commit
768a3388d7
|
@ -27,3 +27,14 @@ class UpDownBox(Gtk.Box):
|
|||
|
||||
@GObject.Signal
|
||||
def move_down(self): pass
|
||||
|
||||
|
||||
class DirectionButton(Gtk.Button):
|
||||
def __init__(self):
|
||||
Gtk.Button.__init__(self, sensitive=False)
|
||||
self.set_icon_name("view-sort-ascending")
|
||||
|
||||
def set_direction(self, direction, active):
|
||||
sort = "ascending" if direction == "ASC" else "descending"
|
||||
self.set_icon_name(f"view-sort-{sort}")
|
||||
self.set_sensitive(active)
|
||||
|
|
|
@ -49,3 +49,21 @@ class TestUpDownBox(unittest.TestCase):
|
|||
self.assertTrue(self.up)
|
||||
updown.get_last_child().emit("clicked")
|
||||
self.assertTrue(self.down)
|
||||
|
||||
|
||||
class TestDirectionButton(unittest.TestCase):
|
||||
def test_init(self):
|
||||
button = sort.DirectionButton()
|
||||
self.assertIsInstance(button, Gtk.Button)
|
||||
self.assertEqual(button.get_icon_name(), "view-sort-ascending")
|
||||
self.assertFalse(button.get_sensitive())
|
||||
|
||||
def test_set_direction(self):
|
||||
button = sort.DirectionButton()
|
||||
button.set_direction("DESC", active=True)
|
||||
self.assertEqual(button.get_icon_name(), "view-sort-descending")
|
||||
self.assertTrue(button.get_sensitive())
|
||||
|
||||
button.set_direction("ASC", active=False)
|
||||
self.assertEqual(button.get_icon_name(), "view-sort-ascending")
|
||||
self.assertFalse(button.get_sensitive())
|
||||
|
|
Loading…
Reference in New Issue