attempting to make async work

This commit is contained in:
Chris Cochrun 2024-12-13 23:04:59 -06:00
parent 5152e2ff3f
commit 4c352df050
2 changed files with 27 additions and 20 deletions

View file

@ -372,31 +372,38 @@ impl cosmic::Application for App {
None
}
fn update(
&mut self,
message: Message,
) -> cosmic::Task<cosmic::app::Message<Message>> {
fn update(&mut self, message: Message) -> Task<Message> {
match message {
Message::Present(message) => {
debug!(?message);
let task = self.presenter.update(message);
if self.presentation_open {
if let Some(video) = &mut self.presenter.video {
video.set_muted(false);
}
}
let task = self.presenter.update(message);
debug!("Past");
// let task = Task::perform(
// async { debug!("inside async") },
// |_| cosmic::app::Message::App(Message::None),
// );
// self.core.nav_bar_toggle();
// task.then(|x| {
// debug!(?x);
// Task::none()
// })
let task = task.map(|x| {
task.then(move |x| {
debug!(?x);
cosmic::app::Message::None
});
task
// Task::batch([task])
Task::perform(
async move {
println!("hi");
debug!(?x);
},
|_| cosmic::app::Message::App(Message::None),
)
})
// let task = task.map(|x| {
// debug!(?x);
// cosmic::app::Message::App(Message::None)
// });
// task.chain(Task::none())
// task
}
Message::File(file) => {
self.file = file;

View file

@ -111,10 +111,7 @@ impl Presenter {
}
}
pub fn update(
&mut self,
message: Message,
) -> Task<cosmic::app::Message<Message>> {
pub fn update(&mut self, message: Message) -> Task<Message> {
match message {
Message::NextSlide => {
debug!("next slide");
@ -195,7 +192,7 @@ impl Presenter {
let _ = self.update(Message::EndAudio);
}
}
op.map(|x| cosmic::app::Message::App(x))
op
}
Message::EndVideo => {
// if self.current_slide.video_loop() {
@ -252,7 +249,10 @@ impl Presenter {
debug!("hi");
start_audio(Arc::clone(&self.sink.1), audio);
}
Task::none()
Task::perform(
async { debug!("inside async") },
|_| Message::None,
)
}
Message::EndAudio => {
self.sink.1.stop();