attempting to make async work
This commit is contained in:
parent
5152e2ff3f
commit
4c352df050
35
src/main.rs
35
src/main.rs
|
@ -372,31 +372,38 @@ impl cosmic::Application for App {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
||||||
fn update(
|
fn update(&mut self, message: Message) -> Task<Message> {
|
||||||
&mut self,
|
|
||||||
message: Message,
|
|
||||||
) -> cosmic::Task<cosmic::app::Message<Message>> {
|
|
||||||
match message {
|
match message {
|
||||||
Message::Present(message) => {
|
Message::Present(message) => {
|
||||||
debug!(?message);
|
debug!(?message);
|
||||||
let task = self.presenter.update(message);
|
|
||||||
if self.presentation_open {
|
if self.presentation_open {
|
||||||
if let Some(video) = &mut self.presenter.video {
|
if let Some(video) = &mut self.presenter.video {
|
||||||
video.set_muted(false);
|
video.set_muted(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
let task = self.presenter.update(message);
|
||||||
debug!("Past");
|
debug!("Past");
|
||||||
|
// let task = Task::perform(
|
||||||
|
// async { debug!("inside async") },
|
||||||
|
// |_| cosmic::app::Message::App(Message::None),
|
||||||
|
// );
|
||||||
// self.core.nav_bar_toggle();
|
// self.core.nav_bar_toggle();
|
||||||
// task.then(|x| {
|
task.then(move |x| {
|
||||||
// debug!(?x);
|
|
||||||
// Task::none()
|
|
||||||
// })
|
|
||||||
let task = task.map(|x| {
|
|
||||||
debug!(?x);
|
debug!(?x);
|
||||||
cosmic::app::Message::None
|
Task::perform(
|
||||||
});
|
async move {
|
||||||
task
|
println!("hi");
|
||||||
// Task::batch([task])
|
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) => {
|
Message::File(file) => {
|
||||||
self.file = file;
|
self.file = file;
|
||||||
|
|
|
@ -111,10 +111,7 @@ impl Presenter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn update(
|
pub fn update(&mut self, message: Message) -> Task<Message> {
|
||||||
&mut self,
|
|
||||||
message: Message,
|
|
||||||
) -> Task<cosmic::app::Message<Message>> {
|
|
||||||
match message {
|
match message {
|
||||||
Message::NextSlide => {
|
Message::NextSlide => {
|
||||||
debug!("next slide");
|
debug!("next slide");
|
||||||
|
@ -195,7 +192,7 @@ impl Presenter {
|
||||||
let _ = self.update(Message::EndAudio);
|
let _ = self.update(Message::EndAudio);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
op.map(|x| cosmic::app::Message::App(x))
|
op
|
||||||
}
|
}
|
||||||
Message::EndVideo => {
|
Message::EndVideo => {
|
||||||
// if self.current_slide.video_loop() {
|
// if self.current_slide.video_loop() {
|
||||||
|
@ -252,7 +249,10 @@ impl Presenter {
|
||||||
debug!("hi");
|
debug!("hi");
|
||||||
start_audio(Arc::clone(&self.sink.1), audio);
|
start_audio(Arc::clone(&self.sink.1), audio);
|
||||||
}
|
}
|
||||||
Task::none()
|
Task::perform(
|
||||||
|
async { debug!("inside async") },
|
||||||
|
|_| Message::None,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
Message::EndAudio => {
|
Message::EndAudio => {
|
||||||
self.sink.1.stop();
|
self.sink.1.stop();
|
||||||
|
|
Loading…
Reference in a new issue