audio: Add a custom AutoPauseScale widget
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
edc3e7f876
commit
da1211f595
|
@ -59,6 +59,19 @@ class SeekScale(ScalePlus):
|
|||
return GLib.SOURCE_CONTINUE
|
||||
|
||||
|
||||
class AutoPauseScale(ScalePlus):
|
||||
def __init__(self):
|
||||
ScalePlus.__init__(self, -1, 99, 1, 5)
|
||||
self.set_digits(0)
|
||||
|
||||
def format_value(self, scale, value):
|
||||
value = int(value)
|
||||
if value == -1: return "Keep Playing"
|
||||
elif value == 0: return "This Track"
|
||||
elif value == 1: return "Next Track"
|
||||
return f"{value} Tracks"
|
||||
|
||||
|
||||
class VolumeScale(ScalePlus):
|
||||
def __init__(self, player):
|
||||
ScalePlus.__init__(self, 0.0, 1.0, 0.05, 0.25)
|
||||
|
|
|
@ -109,6 +109,27 @@ class TestSeekScale(unittest.TestCase):
|
|||
self.assertEqual(fake.seek_val, 0)
|
||||
|
||||
|
||||
class TestAutoPauseScale(unittest.TestCase):
|
||||
def test_autopause_scale_init(self):
|
||||
pause = scale.AutoPauseScale()
|
||||
adj = pause.get_adjustment()
|
||||
|
||||
self.assertIsInstance(pause, scale.ScalePlus)
|
||||
self.assertEqual(pause.get_digits(), 0)
|
||||
self.assertEqual(adj.get_value(), -1)
|
||||
self.assertEqual(adj.get_lower(), -1)
|
||||
self.assertEqual(adj.get_upper(), 99)
|
||||
self.assertEqual(adj.get_step_increment(), 1)
|
||||
self.assertEqual(adj.get_page_increment(), 5)
|
||||
|
||||
def test_autopause_scale_values(self):
|
||||
pause = scale.AutoPauseScale()
|
||||
self.assertEqual(pause.format_value(pause, -1), "Keep Playing")
|
||||
self.assertEqual(pause.format_value(pause, 0), "This Track")
|
||||
self.assertEqual(pause.format_value(pause, 1), "Next Track")
|
||||
self.assertEqual(pause.format_value(pause, 2), "2 Tracks")
|
||||
|
||||
|
||||
class TestVolumeScale(unittest.TestCase):
|
||||
def test_volume_scale_init(self):
|
||||
fake = FakePlayer(0, 5 * Gst.SECOND, 1.0)
|
||||
|
|
Loading…
Reference in New Issue