mirror of
https://github.com/SoongNoonien/mpdevil.git
synced 2023-08-10 21:12:44 +03:00
fixed label update in SeekBar
This commit is contained in:
parent
c32cdf352d
commit
82ad11472c
@ -3050,10 +3050,11 @@ class SeekBar(Gtk.Box):
|
|||||||
elapsed_event_box.connect("button-release-event", self._on_label_button_release_event, elapsed_dict)
|
elapsed_event_box.connect("button-release-event", self._on_label_button_release_event, elapsed_dict)
|
||||||
rest_event_box.connect("button-release-event", self._on_label_button_release_event, rest_dict)
|
rest_event_box.connect("button-release-event", self._on_label_button_release_event, rest_dict)
|
||||||
self._scale.connect("change-value", self._on_change_value)
|
self._scale.connect("change-value", self._on_change_value)
|
||||||
self._scale.connect("value-changed", self._on_value_changed)
|
|
||||||
self._scale.connect("scroll-event", lambda *args: True) # disable mouse wheel
|
self._scale.connect("scroll-event", lambda *args: True) # disable mouse wheel
|
||||||
self._scale.connect("button-press-event", self._on_scale_button_press_event)
|
self._scale.connect("button-press-event", self._on_scale_button_press_event)
|
||||||
self._scale.connect("button-release-event", self._on_scale_button_release_event)
|
self._scale.connect("button-release-event", self._on_scale_button_release_event)
|
||||||
|
self._adjustment.connect("notify::value", self._update_labels)
|
||||||
|
self._adjustment.connect("notify::upper", self._update_labels)
|
||||||
self._client.emitter.connect("disconnected", self._disable)
|
self._client.emitter.connect("disconnected", self._disable)
|
||||||
self._client.emitter.connect("state", self._on_state)
|
self._client.emitter.connect("state", self._on_state)
|
||||||
self._client.emitter.connect("elapsed", self._refresh)
|
self._client.emitter.connect("elapsed", self._refresh)
|
||||||
@ -3074,6 +3075,20 @@ class SeekBar(Gtk.Box):
|
|||||||
self._disable()
|
self._disable()
|
||||||
self._elapsed.set_text(str(Duration(elapsed)))
|
self._elapsed.set_text(str(Duration(elapsed)))
|
||||||
|
|
||||||
|
def _update_labels(self, *args):
|
||||||
|
duration=self._adjustment.get_upper()
|
||||||
|
value=self._scale.get_value()
|
||||||
|
if value > duration: # fix display error
|
||||||
|
elapsed=duration
|
||||||
|
else:
|
||||||
|
elapsed=value
|
||||||
|
if duration > 0:
|
||||||
|
self._elapsed.set_text(str(Duration(elapsed)))
|
||||||
|
self._rest.set_text(str(Duration(duration-elapsed)))
|
||||||
|
else:
|
||||||
|
self._elapsed.set_text(str(Duration()))
|
||||||
|
self._rest.set_text(str(Duration()))
|
||||||
|
|
||||||
def _disable(self, *args):
|
def _disable(self, *args):
|
||||||
self.set_sensitive(False)
|
self.set_sensitive(False)
|
||||||
self._scale.set_fill_level(0)
|
self._scale.set_fill_level(0)
|
||||||
@ -3090,20 +3105,6 @@ class SeekBar(Gtk.Box):
|
|||||||
if scroll in (Gtk.ScrollType.STEP_BACKWARD, Gtk.ScrollType.STEP_FORWARD , Gtk.ScrollType.PAGE_BACKWARD, Gtk.ScrollType.PAGE_FORWARD):
|
if scroll in (Gtk.ScrollType.STEP_BACKWARD, Gtk.ScrollType.STEP_FORWARD , Gtk.ScrollType.PAGE_BACKWARD, Gtk.ScrollType.PAGE_FORWARD):
|
||||||
self._client.seekcur(value)
|
self._client.seekcur(value)
|
||||||
|
|
||||||
def _on_value_changed(self, scale):
|
|
||||||
duration=self._adjustment.get_upper()
|
|
||||||
value=self._scale.get_value()
|
|
||||||
if value > duration: # fix display error
|
|
||||||
elapsed=duration
|
|
||||||
else:
|
|
||||||
elapsed=value
|
|
||||||
if duration > 0:
|
|
||||||
self._elapsed.set_text(str(Duration(elapsed)))
|
|
||||||
self._rest.set_text(str(Duration(duration-elapsed)))
|
|
||||||
else:
|
|
||||||
self._elapsed.set_text(str(Duration()))
|
|
||||||
self._rest.set_text(str(Duration()))
|
|
||||||
|
|
||||||
def _on_label_button_release_event(self, widget, event, scroll_type):
|
def _on_label_button_release_event(self, widget, event, scroll_type):
|
||||||
self._scale.emit("move-slider", scroll_type.get(event.button, Gtk.ScrollType.NONE))
|
self._scale.emit("move-slider", scroll_type.get(event.button, Gtk.ScrollType.NONE))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user