From 8f6dd9309daa24a1554556a429b75ac35796587d Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Thu, 14 Aug 2025 13:26:43 -0500 Subject: [PATCH] getting closer --- src/main.rs | 10 ++++------ src/ui/library.rs | 11 ++++++----- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/main.rs b/src/main.rs index a247f4a..1f06ae7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -13,12 +13,12 @@ use cosmic::iced_widget::{column, row}; use cosmic::widget::dnd_destination::DragId; use cosmic::widget::nav_bar::nav_bar_style; use cosmic::widget::segmented_button::Entity; -use cosmic::widget::text; use cosmic::widget::tooltip::Position as TPosition; use cosmic::widget::{ button, horizontal_space, nav_bar, search_input, tooltip, Space, }; use cosmic::widget::{icon, slider}; +use cosmic::widget::{mouse_area, text}; use cosmic::{executor, Application, ApplicationExt, Element}; use cosmic::{prelude::*, theme}; use cosmic::{widget::Container, Theme}; @@ -249,11 +249,9 @@ impl cosmic::Application for App { debug!("left"); cosmic::Action::App(Message::DndLeave(entity)) }) - .on_dnd_drop::(|entity, data, action| { + .on_dnd_drop::(|_, _, _| { debug!("dropped"); - cosmic::Action::App(Message::DndDrop( - entity, data, action, - )) + cosmic::Action::App(Message::DndDrop) }) .drag_id(DragId::new()) .on_context(|id| { @@ -639,7 +637,7 @@ impl cosmic::Application for App { // debug!(?action); // debug!(?service_item); - if let Some(library) = self.library { + if let Some(library) = &self.library { if let Some((lib, item)) = library.dragged_item { // match lib { // core::model::LibraryKind::Song => , diff --git a/src/ui/library.rs b/src/ui/library.rs index 3e8550d..ada8fbe 100644 --- a/src/ui/library.rs +++ b/src/ui/library.rs @@ -46,7 +46,7 @@ pub(crate) struct Library { pub(crate) enum Action { OpenItem(Option<(LibraryKind, i32)>), - DraggedItem(Option<(LibraryKind, i32)>), + DraggedItem(ServiceItem), Task(Task), None, } @@ -60,7 +60,7 @@ pub(crate) enum Message { OpenLibrary(Option), HoverItem(Option<(LibraryKind, i32)>), SelectItem(Option<(LibraryKind, i32)>), - DragItem(Option<(LibraryKind, i32)>), + DragItem(ServiceItem), UpdateSong(Song), SongChanged, UpdateImage(Image), @@ -121,8 +121,9 @@ impl<'a> Library { self.selected_item = item; } Message::DragItem(item) => { - self.dragged_item = item; - // return Action::DraggedItem(item); + debug!(?item); + // self.dragged_item = item; + return Action::DraggedItem(item); } Message::UpdateSong(song) => { let Some((kind, index)) = self.editing_item else { @@ -372,7 +373,7 @@ impl<'a> Library { .map(|_| Message::None); DndSource::::new( mouse_area(visual_item) - .on_drag(Message::DragItem(Some((model.kind, index as i32)))) + .on_drag(Message::DragItem(service_item.clone())) .on_enter(Message::HoverItem( Some(( model.kind,