mirror of
https://github.com/johrpan/musicus.git
synced 2025-10-26 19:57:25 +01:00
player screen: Fix event handler closure
This commit is contained in:
parent
8fed2d7a18
commit
b17ffc5db9
1 changed files with 17 additions and 15 deletions
|
|
@ -175,25 +175,27 @@ impl Screen<(), ()> for PlayerScreen {
|
||||||
this.handle.backend.pl().clear();
|
this.handle.backend.pl().clear();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
event_controller.connect_event(clone!(@weak this => @default-panic, move |_, event| {
|
event_controller.connect_event(
|
||||||
if let Some(event) = event.downcast_ref::<gdk::ButtonEvent>() {
|
clone!(@weak this => @default-return glib::signal::Inhibit(false), move |_, event| {
|
||||||
if event.button() == gdk::BUTTON_PRIMARY {
|
if let Some(event) = event.downcast_ref::<gdk::ButtonEvent>() {
|
||||||
match event.event_type() {
|
if event.button() == gdk::BUTTON_PRIMARY {
|
||||||
gdk::EventType::ButtonPress => {
|
match event.event_type() {
|
||||||
this.seeking.replace(true);
|
gdk::EventType::ButtonPress => {
|
||||||
|
this.seeking.replace(true);
|
||||||
|
}
|
||||||
|
gdk::EventType::ButtonRelease => {
|
||||||
|
this.handle.backend.pl().seek(this.position.value() as u64);
|
||||||
|
this.seeking.replace(false);
|
||||||
|
}
|
||||||
|
_ => (),
|
||||||
}
|
}
|
||||||
gdk::EventType::ButtonRelease => {
|
|
||||||
this.handle.backend.pl().seek(this.position.value() as u64);
|
|
||||||
this.seeking.replace(false);
|
|
||||||
}
|
|
||||||
_ => (),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
glib::signal::Inhibit(false)
|
||||||
|
}),
|
||||||
glib::signal::Inhibit(false)
|
);
|
||||||
}));
|
|
||||||
|
|
||||||
position_scale.connect_value_changed(clone!(@weak this => move |_| {
|
position_scale.connect_value_changed(clone!(@weak this => move |_| {
|
||||||
if this.seeking.get() {
|
if this.seeking.get() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue