Remove AlbumPage from stack on library changes

This commit is contained in:
Elias Projahn 2025-08-10 11:56:28 +02:00
parent 48cfdd354a
commit c50ef90e9b

View file

@ -9,6 +9,7 @@ use gettextrs::gettext;
use gtk::{gio, glib, glib::clone};
use crate::{
album_page::AlbumPage,
config,
editor::tracks::TracksEditor,
empty_page::EmptyPage,
@ -362,17 +363,12 @@ impl Window {
fn reset_view(&self) {
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
.navigation_stack()
.iter::<adw::NavigationPage>()
.filter_map(|page| match page {
Ok(page) => match page.downcast_ref::<SearchPage>() {
Some(_) => None,
None => Some(page),
},
Err(_) => None,
})
.filter_map(|page| page.ok())
.filter(|page| !page.is::<SearchPage>() && !page.is::<AlbumPage>())
.collect::<Vec<adw::NavigationPage>>();
navigation_stack.insert(