minor fix

This commit is contained in:
Naveen Prashanth 2026-05-05 12:15:53 +05:30
parent 1ed9cb052c
commit ebae451582
6 changed files with 41 additions and 23 deletions

View file

@ -21,8 +21,8 @@ use adw::{
prelude::*,
subclass::prelude::*,
};
use pipewire::channel::Sender;
use async_channel::Receiver;
use pipewire::channel::Sender;
use crate::{graph_manager::GraphManager, ui, GtkMessage, PipewireMessage};

View file

@ -112,7 +112,6 @@ mod imp {
});
}
fn graph_view(&self) -> crate::ui::graph::GraphView {
self.graph.borrow().clone().expect("graph should be set")
}

View file

@ -30,10 +30,11 @@ use libspa::{
use log::{debug, error, info, warn};
use pipewire::{
context::ContextRc,
core::{CoreListener, CoreRc},
core::CoreRc,
keys,
link::{Link, LinkChangeMask, LinkListener, LinkState},
loop_::MainLoopRc,
node::{Node, NodeChangeMask, NodeListener},
main_loop::MainLoopRc,
node::{Node, NodeListener},
port::{Port, PortChangeMask, PortListener},
registry::{GlobalObject, RegistryRc},
types::ObjectType,

View file

@ -360,7 +360,9 @@ mod imp {
controller.connect_enter(|controller, x, y| {
let graph = controller
.widget().unwrap().downcast::<super::GraphView>()
.widget()
.unwrap()
.downcast::<super::GraphView>()
.expect("Widget should be a graphview");
graph.imp().port_drag_enter(controller, x, y)
@ -368,7 +370,9 @@ mod imp {
controller.connect_motion(|controller, x, y| {
let graph = controller
.widget().unwrap().downcast::<super::GraphView>()
.widget()
.unwrap()
.downcast::<super::GraphView>()
.expect("Widget should be a graphview");
graph.imp().port_drag_motion(x, y)
@ -376,7 +380,9 @@ mod imp {
controller.connect_leave(|controller| {
let graph = controller
.widget().unwrap().downcast::<super::GraphView>()
.widget()
.unwrap()
.downcast::<super::GraphView>()
.expect("Widget should be a graphview");
graph.imp().port_drag_leave()
@ -502,7 +508,9 @@ mod imp {
drag_controller.connect_drag_begin(|drag_controller, _, _| {
let widget = drag_controller
.widget().unwrap().downcast::<super::GraphView>()
.widget()
.unwrap()
.downcast::<super::GraphView>()
.unwrap();
widget.imp().move_view_state.set((0.0, 0.0));
@ -510,7 +518,9 @@ mod imp {
drag_controller.connect_drag_update(|drag_controller, x, y| {
let widget = drag_controller
.widget().unwrap().downcast::<super::GraphView>()
.widget()
.unwrap()
.downcast::<super::GraphView>()
.unwrap();
let imp = widget.imp();
@ -624,12 +634,8 @@ mod imp {
fn snapshot_links(&self, widget: &super::GraphView, snapshot: &gtk::Snapshot) {
let (width, height) = (widget.width(), widget.height());
let link_cr = snapshot.append_cairo(&graphene::Rect::new(
0.0,
0.0,
width as f32,
height as f32,
));
let link_cr =
snapshot.append_cairo(&graphene::Rect::new(0.0, 0.0, width as f32, height as f32));
link_cr.set_line_width(2.0 * self.zoom_factor.get());

View file

@ -217,14 +217,18 @@ mod imp {
drag_src.set_icon(Some(&gdk::Paintable::new_empty(0, 0)), 0, 0);
drag_src.connect_drag_begin(|drag_source, _| {
let port = drag_source
.widget().unwrap().dynamic_cast::<super::Port>()
.widget()
.unwrap()
.dynamic_cast::<super::Port>()
.expect("Widget should be a Port");
log::trace!("Drag started from port {}", port.pipewire_id());
});
drag_src.connect_drag_cancel(|drag_source, _, _| {
let port = drag_source
.widget().unwrap().dynamic_cast::<super::Port>()
.widget()
.unwrap()
.dynamic_cast::<super::Port>()
.expect("Widget should be a Port");
log::trace!("Drag from port {} was cancelled", port.pipewire_id());
@ -238,7 +242,9 @@ mod imp {
drop_target.set_preload(true);
drop_target.connect_value_notify(|drop_target| {
let port = drop_target
.widget().unwrap().dynamic_cast::<super::Port>()
.widget()
.unwrap()
.dynamic_cast::<super::Port>()
.expect("Widget should be a Port");
let Some(value) = drop_target.value() else {
@ -256,7 +262,9 @@ mod imp {
});
drop_target.connect_drop(|drop_target, val, _, _| {
let port = drop_target
.widget().unwrap().dynamic_cast::<super::Port>()
.widget()
.unwrap()
.dynamic_cast::<super::Port>()
.expect("Widget should be a Port");
let other_port = val
.get::<super::Port>()

View file

@ -144,9 +144,13 @@ mod imp {
if let Some(ref widget) = widget {
widget.connect_notify_local(
Some("zoom-factor"),
clone!(#[weak(rename_to = imp)] self, move |graphview, _| {
imp.update_zoom_factor_text(graphview.zoom_factor());
}),
clone!(
#[weak(rename_to = imp)]
self,
move |graphview, _| {
imp.update_zoom_factor_text(graphview.zoom_factor());
}
),
);
self.update_zoom_factor_text(widget.zoom_factor());
}