header: Give the volume button public {inc,dec}rement() funcs
I made these functions part of the public interface with option arguments so they can be used in accelerator callbacks for increasing or decreasing the volume. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
397c693aef
commit
9cb927aabb
|
@ -41,17 +41,19 @@ class VolumeRow(Gtk.ListBoxRow):
|
|||
self._box.append(self._increment)
|
||||
self.set_child(self._box)
|
||||
|
||||
self._decrement.connect("clicked", self.__decrement)
|
||||
self._decrement.connect("clicked", self.decrement)
|
||||
self._scale.connect("value-changed", self.__value_changed)
|
||||
self._increment.connect("clicked", self.__increment)
|
||||
self._increment.connect("clicked", self.increment)
|
||||
|
||||
self.bind_property("volume", self._adjustment, "value",
|
||||
GObject.BindingFlags.BIDIRECTIONAL)
|
||||
|
||||
def __decrement(self, button: Gtk.Button) -> None:
|
||||
def decrement(self, button: Gtk.Button | None = None) -> None:
|
||||
"""Decrease the volume by STEP_SIZE."""
|
||||
self._scale.set_value(self._scale.get_value() - STEP_SIZE)
|
||||
|
||||
def __increment(self, button: Gtk.Button) -> None:
|
||||
def increment(self, button: Gtk.Button | None = None) -> None:
|
||||
"""Increase the volume by STEP_SIZE."""
|
||||
self._scale.set_value(self._scale.get_value() + STEP_SIZE)
|
||||
|
||||
def __value_changed(self, range: Gtk.Range) -> None:
|
||||
|
|
|
@ -57,6 +57,11 @@ class TestVolumeRow(unittest.TestCase):
|
|||
self.assertAlmostEqual(self.vol._scale.get_value(), 0.95)
|
||||
self.assertAlmostEqual(self.value.value, 0.95)
|
||||
|
||||
self.vol.decrement()
|
||||
self.assertAlmostEqual(self.vol.volume, 0.90)
|
||||
self.assertAlmostEqual(self.vol._scale.get_value(), 0.90)
|
||||
self.assertAlmostEqual(self.value.value, 0.90)
|
||||
|
||||
def test_scale(self):
|
||||
"""Check that the volume slider has been set up properly."""
|
||||
self.assertIsInstance(self.vol._adjustment, Gtk.Adjustment)
|
||||
|
@ -103,6 +108,11 @@ class TestVolumeRow(unittest.TestCase):
|
|||
self.assertAlmostEqual(self.vol._scale.get_value(), 0.95)
|
||||
self.assertAlmostEqual(self.value.value, 0.95)
|
||||
|
||||
self.vol.increment()
|
||||
self.assertAlmostEqual(self.vol.volume, 1.0)
|
||||
self.assertAlmostEqual(self.vol._scale.get_value(), 1.0)
|
||||
self.assertAlmostEqual(self.value.value, 1.0)
|
||||
|
||||
def test_format_value(self):
|
||||
"""Check that the scale value is formatted correctly."""
|
||||
format_value = emmental.header.volume.format_value_func
|
||||
|
|
Loading…
Reference in New Issue