Add empty page offering download

This commit is contained in:
Elias Projahn 2025-03-23 16:04:14 +01:00
parent bf1ffef05a
commit 424c4c57a8
10 changed files with 295 additions and 9 deletions

View file

@ -8,6 +8,7 @@ use gtk::{gio, glib, glib::clone};
use crate::{
config,
editor::tracks::TracksEditor,
empty_page::EmptyPage,
library::{Library, LibraryQuery},
library_manager::LibraryManager,
player::Player,
@ -259,8 +260,29 @@ impl Window {
));
self.imp().player.set_library(&library);
let is_empty = library.is_empty()?;
self.imp().library.replace(Some(library));
self.reset_view();
if is_empty {
let navigation = self.imp().navigation_view.get();
let empty_page = EmptyPage::new(
self.imp().library.borrow().as_ref().unwrap(),
&self.imp().process_manager,
);
empty_page.connect_ready(clone!(
#[weak(rename_to = obj)]
self,
move |_| {
obj.reset_view();
}
));
navigation.replace(&[empty_page.into()]);
} else {
self.reset_view();
}
Ok(())
}