diff --git a/src/sample_list.rs b/src/sample_list.rs index ba534b3..ccbdce1 100644 --- a/src/sample_list.rs +++ b/src/sample_list.rs @@ -88,14 +88,10 @@ impl SimpleComponent for SampleListModel { item.set_child(Some(&cell)) }); - let list_store = gtk::gio::ListStore::new(gtk::glib::types::Type::OBJECT); - let samples = gtk::MultiSelection::new(Some(list_store)); + let mut list_store = gtk::gio::ListStore::new(gtk::glib::types::Type::OBJECT); + let samples = gtk::MultiSelection::new(None::); + samples.set_model(Some(&list_store)); - // XXX: ideally I could use the above list_store, but it gets moved...? - let mut list_store = samples - .model() - .and_downcast::() - .unwrap(); list_store.extend( list_samples(&mut pool.get().expect("Expected a connection")) .into_iter() @@ -108,6 +104,7 @@ impl SimpleComponent for SampleListModel { gtk::gdk::FileList::static_type(), gtk::gdk::DragAction::COPY, ); + drop_target.connect_drop(move |_, value, _, _| { for f in value .get::()