Converge Command types from iced_futures and iced_native

This commit is contained in:
Héctor Ramón Jiménez 2023-03-05 06:23:40 +01:00
parent 43414bbdfb
commit 8af69be47e
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
9 changed files with 161 additions and 266 deletions

View file

@ -1,7 +1,7 @@
use crate::clipboard;
use crate::core::widget;
use crate::font;
use crate::system;
use crate::widget;
use crate::window;
use iced_futures::MaybeSend;
@ -28,7 +28,7 @@ pub enum Action<T> {
System(system::Action<T>),
/// Run a widget action.
Widget(widget::Action<T>),
Widget(Box<dyn widget::Operation<T>>),
/// Load a font from its bytes.
LoadFont {
@ -59,7 +59,9 @@ impl<T> Action<T> {
Self::Clipboard(action) => Action::Clipboard(action.map(f)),
Self::Window(window) => Action::Window(window.map(f)),
Self::System(system) => Action::System(system.map(f)),
Self::Widget(widget) => Action::Widget(widget.map(f)),
Self::Widget(operation) => {
Action::Widget(Box::new(widget::operation::map(operation, f)))
}
Self::LoadFont { bytes, tagger } => Action::LoadFont {
bytes,
tagger: Box::new(move |result| f(tagger(result))),