improv: messages now automatically convert into cosmic::app::Message
This commit is contained in:
parent
752662eedf
commit
0607161276
2 changed files with 10 additions and 10 deletions
|
|
@ -139,8 +139,7 @@ impl cosmic::Application for App {
|
||||||
|
|
||||||
// Send this back to the application.
|
// Send this back to the application.
|
||||||
Message::FileRead(url, contents)
|
Message::FileRead(url, contents)
|
||||||
})
|
});
|
||||||
.map(Into::into);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Creates a new open dialog.
|
// Creates a new open dialog.
|
||||||
|
|
@ -167,8 +166,7 @@ impl cosmic::Application for App {
|
||||||
|
|
||||||
Err(why) => Message::OpenError(Arc::new(why)),
|
Err(why) => Message::OpenError(Arc::new(why)),
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
.map(Into::into);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Displays an error in the application's warning bar.
|
// Displays an error in the application's warning bar.
|
||||||
|
|
|
||||||
|
|
@ -16,18 +16,20 @@ use iced_runtime::command::Action;
|
||||||
use std::future::Future;
|
use std::future::Future;
|
||||||
|
|
||||||
/// Yields a command which contains a batch of commands.
|
/// Yields a command which contains a batch of commands.
|
||||||
pub fn batch<M>(commands: impl IntoIterator<Item = Command<M>>) -> Command<M> {
|
pub fn batch<X: 'static + Into<Y>, Y: 'static>(
|
||||||
Command::batch(commands)
|
commands: impl IntoIterator<Item = Command<X>>,
|
||||||
|
) -> Command<Y> {
|
||||||
|
Command::batch(commands).map(Into::into)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Yields a command which will run the future on the runtime executor.
|
/// Yields a command which will run the future on the runtime executor.
|
||||||
pub fn future<M>(future: impl Future<Output = M> + Send + 'static) -> Command<M> {
|
pub fn future<X: Into<Y>, Y>(future: impl Future<Output = X> + Send + 'static) -> Command<Y> {
|
||||||
Command::single(Action::Future(Box::pin(future)))
|
Command::single(Action::Future(Box::pin(async move { future.await.into() })))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Yields a command which will return a message.
|
/// Yields a command which will return a message.
|
||||||
pub fn message<M: Send + 'static>(message: M) -> Command<M> {
|
pub fn message<X: Send + 'static + Into<Y>, Y>(message: X) -> Command<Y> {
|
||||||
future(async move { message })
|
future(async move { message.into() })
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Initiates a window drag.
|
/// Initiates a window drag.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue