mirror of
https://github.com/johrpan/musicus.git
synced 2025-10-27 20:27:25 +01:00
Remove AlbumPage from stack on library changes
This commit is contained in:
parent
48cfdd354a
commit
c50ef90e9b
1 changed files with 4 additions and 8 deletions
|
|
@ -9,6 +9,7 @@ use gettextrs::gettext;
|
||||||
use gtk::{gio, glib, glib::clone};
|
use gtk::{gio, glib, glib::clone};
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
|
album_page::AlbumPage,
|
||||||
config,
|
config,
|
||||||
editor::tracks::TracksEditor,
|
editor::tracks::TracksEditor,
|
||||||
empty_page::EmptyPage,
|
empty_page::EmptyPage,
|
||||||
|
|
@ -362,17 +363,12 @@ impl Window {
|
||||||
fn reset_view(&self) {
|
fn reset_view(&self) {
|
||||||
let navigation = self.imp().navigation_view.get();
|
let navigation = self.imp().navigation_view.get();
|
||||||
|
|
||||||
// Get all pages that are not instances of SearchPage.
|
// Get all pages that are not instances of SearchPage or AlbumPage.
|
||||||
let mut navigation_stack = navigation
|
let mut navigation_stack = navigation
|
||||||
.navigation_stack()
|
.navigation_stack()
|
||||||
.iter::<adw::NavigationPage>()
|
.iter::<adw::NavigationPage>()
|
||||||
.filter_map(|page| match page {
|
.filter_map(|page| page.ok())
|
||||||
Ok(page) => match page.downcast_ref::<SearchPage>() {
|
.filter(|page| !page.is::<SearchPage>() && !page.is::<AlbumPage>())
|
||||||
Some(_) => None,
|
|
||||||
None => Some(page),
|
|
||||||
},
|
|
||||||
Err(_) => None,
|
|
||||||
})
|
|
||||||
.collect::<Vec<adw::NavigationPage>>();
|
.collect::<Vec<adw::NavigationPage>>();
|
||||||
|
|
||||||
navigation_stack.insert(
|
navigation_stack.insert(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue