diff --git a/src/ui/components/media_grid/film_grid.rs b/src/ui/components/media_grid/film_grid.rs index dfc2b71..c9b8c3a 100644 --- a/src/ui/components/media_grid/film_grid.rs +++ b/src/ui/components/media_grid/film_grid.rs @@ -4,7 +4,7 @@ use relm4::factory::FactoryVecDeque; use relm4::{Component, ComponentParts, ComponentSender, component}; use crate::persist::data_manager::{DataManager, DataManagerError}; -use crate::ui::components::media_grid_item::{FilmGridItem, FilmGridItemInput}; +use crate::ui::components::media_grid_item::FilmGridItem; use crate::ui::factory_sorting::sort_factory_vec; use crate::ui::filtering::WatchedFilter; use crate::ui::sorting::{ @@ -98,11 +98,7 @@ impl Component for FilmGrid { } }); } - FilmGridInput::ApplyWatchedFilter(watched_filter) => { - self - .items - .broadcast(FilmGridItemInput::ApplyWatchedFilter(watched_filter)); - } + FilmGridInput::ApplyWatchedFilter(_watched_filter) => {} } } diff --git a/src/ui/components/media_grid_item/film_grid_item.rs b/src/ui/components/media_grid_item/film_grid_item.rs index 21df41a..4c28cf6 100644 --- a/src/ui/components/media_grid_item/film_grid_item.rs +++ b/src/ui/components/media_grid_item/film_grid_item.rs @@ -10,7 +10,6 @@ use relm4::{Component, ComponentController, Controller, FactorySender, RelmWidge use crate::persist::data_manager::{DataManager, DataManagerError}; use crate::ui::components::media_details::{FilmDetails, FilmDetailsOutput}; -use crate::ui::filtering::WatchedFilter; use crate::ui::widget_extensions::{AttrListExt, CondDialogExt, CondLabelExt}; use crate::views::overview::FilmOverview; @@ -20,7 +19,6 @@ pub struct FilmGridItem { film: FilmOverview, poster: Option, details: Option>, - watched_filter: Option, } impl FilmGridItem { @@ -36,19 +34,23 @@ pub enum FilmGridItemCmdOutput { PosterFailed(DataManagerError), } -#[derive(Clone, Copy, Debug)] +#[derive(Debug)] pub enum FilmGridItemInput { ItemClicked, DetailsClosed, WatchedStatusChanged(bool), - ApplyWatchedFilter(Option), +} + +#[derive(Debug)] +pub enum FilmGridItemOutput { + WatchedStatusChanged(String, bool), } #[factory(pub)] impl FactoryComponent for FilmGridItem { type Init = FilmOverview; type Input = FilmGridItemInput; - type Output = (); + type Output = FilmGridItemOutput; type CommandOutput = FilmGridItemCmdOutput; type ParentWidget = FlowBox; @@ -56,13 +58,6 @@ impl FactoryComponent for FilmGridItem { #[root] root = FlowBoxChild { set_focusable: false, - #[watch] - set_visible: match self.watched_filter { - Some(WatchedFilter::OnlyWatched) => self.film.watched, - Some(WatchedFilter::OnlyUnwatched) => !self.film.watched, - None => true, - }, - Button { connect_clicked => FilmGridItemInput::ItemClicked, set_css_classes: &["flat", "media-grid-item"], @@ -169,7 +164,6 @@ impl FactoryComponent for FilmGridItem { film, poster: None, details: None, - watched_filter: None, } } @@ -195,9 +189,6 @@ impl FactoryComponent for FilmGridItem { FilmGridItemInput::WatchedStatusChanged(watched) => { self.film.watched = watched; } - FilmGridItemInput::ApplyWatchedFilter(watched_filter) => { - self.watched_filter = watched_filter; - } } }