Update to latest gtk-rs crates

The only (?) breaking change was that the .widget() method now returns
an Option, so we have to unwrap it since we know the widget will be
valid.
This commit is contained in:
Emmanuel Gil Peyrot 2025-03-11 05:33:26 +01:00
parent 980bb139e9
commit bdf17e297c
3 changed files with 24 additions and 4 deletions

View file

@ -15,8 +15,8 @@ categories = ["gui", "multimedia"]
[dependencies]
pipewire = "0.8.0"
adw = { version = "0.6", package = "libadwaita", features = ["v1_4"] }
glib = { version = "0.19", features = ["log"] }
adw = { version = "0.7", package = "libadwaita", features = ["v1_4"] }
glib = { version = "0.20", features = ["log"] }
async-channel = "2.2"
log = "0.4.11"

View file

@ -276,6 +276,7 @@ mod imp {
drag_controller.connect_drag_begin(|drag_controller, x, y| {
let widget = drag_controller
.widget()
.unwrap()
.dynamic_cast::<super::GraphView>()
.expect("drag-begin event is not on the GraphView");
let mut dragged_node = widget.imp().dragged_node.borrow_mut();
@ -315,6 +316,7 @@ mod imp {
drag_controller.connect_drag_update(|drag_controller, x, y| {
let widget = drag_controller
.widget()
.unwrap()
.dynamic_cast::<super::GraphView>()
.expect("drag-update event is not on the GraphView");
let dragged_node = widget.imp().dragged_node.borrow();
@ -348,6 +350,7 @@ mod imp {
controller.connect_enter(|controller, x, y| {
let graph = controller
.widget()
.unwrap()
.downcast::<super::GraphView>()
.expect("Widget should be a graphview");
@ -357,6 +360,7 @@ mod imp {
controller.connect_motion(|controller, x, y| {
let graph = controller
.widget()
.unwrap()
.downcast::<super::GraphView>()
.expect("Widget should be a graphview");
@ -366,6 +370,7 @@ mod imp {
controller.connect_leave(|controller| {
let graph = controller
.widget()
.unwrap()
.downcast::<super::GraphView>()
.expect("Widget should be a graphview");
@ -430,6 +435,7 @@ mod imp {
{
let widget = eventcontroller
.widget()
.unwrap()
.downcast::<super::GraphView>()
.unwrap();
widget.set_zoom_factor(widget.zoom_factor() + (0.1 * -delta_y), None);
@ -445,7 +451,11 @@ mod imp {
fn setup_zoom_gesture(&self) {
let zoom_gesture = gtk::GestureZoom::new();
zoom_gesture.connect_begin(|gesture, _| {
let widget = gesture.widget().downcast::<super::GraphView>().unwrap();
let widget = gesture
.widget()
.unwrap()
.downcast::<super::GraphView>()
.unwrap();
widget
.imp()
@ -457,7 +467,11 @@ mod imp {
.set(gesture.bounding_box_center());
});
zoom_gesture.connect_scale_changed(move |gesture, delta| {
let widget = gesture.widget().downcast::<super::GraphView>().unwrap();
let widget = gesture
.widget()
.unwrap()
.downcast::<super::GraphView>()
.unwrap();
let initial_zoom = widget
.imp()
@ -480,6 +494,7 @@ mod imp {
drag_controller.connect_drag_begin(|drag_controller, _, _| {
let widget = drag_controller
.widget()
.unwrap()
.downcast::<super::GraphView>()
.unwrap();
@ -489,6 +504,7 @@ mod imp {
drag_controller.connect_drag_update(|drag_controller, x, y| {
let widget = drag_controller
.widget()
.unwrap()
.downcast::<super::GraphView>()
.unwrap();

View file

@ -218,6 +218,7 @@ mod imp {
drag_src.connect_drag_begin(|drag_source, _| {
let port = drag_source
.widget()
.unwrap()
.dynamic_cast::<super::Port>()
.expect("Widget should be a Port");
@ -226,6 +227,7 @@ mod imp {
drag_src.connect_drag_cancel(|drag_source, _, _| {
let port = drag_source
.widget()
.unwrap()
.dynamic_cast::<super::Port>()
.expect("Widget should be a Port");
@ -241,6 +243,7 @@ mod imp {
drop_target.connect_value_notify(|drop_target| {
let port = drop_target
.widget()
.unwrap()
.dynamic_cast::<super::Port>()
.expect("Widget should be a Port");
@ -260,6 +263,7 @@ mod imp {
drop_target.connect_drop(|drop_target, val, _, _| {
let port = drop_target
.widget()
.unwrap()
.dynamic_cast::<super::Port>()
.expect("Widget should be a Port");
let other_port = val