diff --git a/src/persist/data_manager.rs b/src/persist/data_manager.rs index d4a6278..c7e5c46 100644 --- a/src/persist/data_manager.rs +++ b/src/persist/data_manager.rs @@ -35,12 +35,11 @@ pub struct DataManager {} impl DataManager { pub async fn init() -> Result<(), DataManagerError> { - let data_dir = match var_os("XDG_DATA_HOME") { - Some(xdg_home_data_dir) => concat_os_str!(xdg_home_data_dir, "/zoodex"), - None => { - let home_dir = var_os("HOME").ok_or(DataManagerError::NoHomeDir)?; - concat_os_str!(home_dir, "/.local/share/zoodex") - } + let data_dir = if let Some(xdg_home_data_dir) = var_os("XDG_DATA_HOME") { + concat_os_str!(xdg_home_data_dir, "/zoodex") + } else { + let home_dir = var_os("HOME").ok_or(DataManagerError::NoHomeDir)?; + concat_os_str!(home_dir, "/.local/share/zoodex") }; let sqlite_manager = SqliteManager::new(data_dir.as_os_str()).await?; diff --git a/src/persist/sqlite_manager.rs b/src/persist/sqlite_manager.rs index ef46186..8286824 100644 --- a/src/persist/sqlite_manager.rs +++ b/src/persist/sqlite_manager.rs @@ -99,7 +99,7 @@ async fn create_client(data_dir: &OsStr) -> Result { Ok(()) }) .await - .map(|_| client) + .map(|()| client) }) .await; diff --git a/src/ui/components/app.rs b/src/ui/components/app.rs index 085ee9a..3d948c6 100644 --- a/src/ui/components/app.rs +++ b/src/ui/components/app.rs @@ -39,7 +39,7 @@ impl Component for App { fn init(_init: (), root: ApplicationWindow, sender: ComponentSender) -> ComponentParts { sender.oneshot_command(async { match DataManager::init().await { - Ok(_) => AppCmdOutput::DataManagerReady, + Ok(()) => AppCmdOutput::DataManagerReady, Err(error) => AppCmdOutput::DataManagerFailed(error), } }); @@ -64,7 +64,7 @@ impl Component for App { } AppCmdOutput::DataManagerFailed(error) => { // TODO: Show error in GUI. - println!("Error occurred in data manager initialization: {:?}", error); + println!("Error occurred in data manager initialization: {error:?}"); } } } diff --git a/src/ui/components/collatable_media_grid/collatable_film_grid.rs b/src/ui/components/collatable_media_grid/collatable_film_grid.rs index cfd174b..8da5f15 100644 --- a/src/ui/components/collatable_media_grid/collatable_film_grid.rs +++ b/src/ui/components/collatable_media_grid/collatable_film_grid.rs @@ -31,7 +31,7 @@ impl SimpleComponent for CollatableFilmGrid { fn init( _init: (), - _root: gtk4::Box, + root: gtk4::Box, _sender: ComponentSender, ) -> ComponentParts { let film_grid = FilmGrid::builder().launch(()).detach(); diff --git a/src/ui/components/collatable_media_grid/collatable_series_grid.rs b/src/ui/components/collatable_media_grid/collatable_series_grid.rs index 61a2a07..aa0371d 100644 --- a/src/ui/components/collatable_media_grid/collatable_series_grid.rs +++ b/src/ui/components/collatable_media_grid/collatable_series_grid.rs @@ -31,7 +31,7 @@ impl SimpleComponent for CollatableSeriesGrid { fn init( _init: (), - _root: gtk4::Box, + root: gtk4::Box, _sender: ComponentSender, ) -> ComponentParts { let series_grid = SeriesGrid::builder().launch(()).detach(); diff --git a/src/ui/components/media_collation_menu/film_collation_menu.rs b/src/ui/components/media_collation_menu/film_collation_menu.rs index 7537494..be32ef0 100644 --- a/src/ui/components/media_collation_menu/film_collation_menu.rs +++ b/src/ui/components/media_collation_menu/film_collation_menu.rs @@ -100,7 +100,7 @@ impl SimpleComponent for FilmCollationMenu { fn init( _init: (), - _root: gtk4::Box, + root: gtk4::Box, sender: ComponentSender, ) -> ComponentParts { let model = FilmCollationMenu { diff --git a/src/ui/components/media_collation_menu/series_collation_menu.rs b/src/ui/components/media_collation_menu/series_collation_menu.rs index 7809066..478b8a7 100644 --- a/src/ui/components/media_collation_menu/series_collation_menu.rs +++ b/src/ui/components/media_collation_menu/series_collation_menu.rs @@ -98,7 +98,7 @@ impl SimpleComponent for SeriesCollationMenu { fn init( _init: (), - _root: gtk4::Box, + root: gtk4::Box, sender: ComponentSender, ) -> ComponentParts { let model = SeriesCollationMenu { diff --git a/src/ui/components/media_details/film_details.rs b/src/ui/components/media_details/film_details.rs index 1638587..82eeaba 100644 --- a/src/ui/components/media_details/film_details.rs +++ b/src/ui/components/media_details/film_details.rs @@ -36,7 +36,7 @@ impl SimpleComponent for FilmDetails { fn init( film_overview: FilmOverview, - _root: gtk4::Box, + root: gtk4::Box, _sender: ComponentSender, ) -> ComponentParts { let model = FilmDetails { film_overview }; diff --git a/src/ui/components/media_details/series_details.rs b/src/ui/components/media_details/series_details.rs index 0c323f2..9152fe7 100644 --- a/src/ui/components/media_details/series_details.rs +++ b/src/ui/components/media_details/series_details.rs @@ -31,7 +31,7 @@ impl SimpleComponent for SeriesDetails { fn init( series_overview: SeriesOverview, - _root: gtk4::Box, + root: gtk4::Box, _sender: ComponentSender, ) -> ComponentParts { let model = SeriesDetails { series_overview }; diff --git a/src/ui/components/media_grid/film_grid.rs b/src/ui/components/media_grid/film_grid.rs index 0d79ccb..5397968 100644 --- a/src/ui/components/media_grid/film_grid.rs +++ b/src/ui/components/media_grid/film_grid.rs @@ -54,7 +54,7 @@ impl Component for FilmGrid { fn init( _init: (), - _root: ScrolledWindow, + root: ScrolledWindow, sender: ComponentSender, ) -> ComponentParts { let widgets = view_output!(); @@ -119,7 +119,7 @@ impl Component for FilmGrid { )); } FilmGridCmdOutput::OverviewDataFailed(error) => { - println!("Error occurred in loading films overview: {:?}", error); + println!("Error occurred in loading films overview: {error:?}"); } } } diff --git a/src/ui/components/media_grid/series_grid.rs b/src/ui/components/media_grid/series_grid.rs index 7dcfb61..a71b87c 100644 --- a/src/ui/components/media_grid/series_grid.rs +++ b/src/ui/components/media_grid/series_grid.rs @@ -54,7 +54,7 @@ impl Component for SeriesGrid { fn init( _init: (), - _root: ScrolledWindow, + root: ScrolledWindow, sender: ComponentSender, ) -> ComponentParts { let widgets = view_output!(); @@ -119,7 +119,7 @@ impl Component for SeriesGrid { )); } SeriesGridCmdOutput::OverviewDataFailed(error) => { - println!("Error occurred in loading series overview: {:?}", error); + println!("Error occurred in loading series overview: {error:?}"); } } } 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 68d9e39..74e786a 100644 --- a/src/ui/components/media_grid_item/film_grid_item.rs +++ b/src/ui/components/media_grid_item/film_grid_item.rs @@ -90,7 +90,7 @@ impl FactoryComponent for FilmGridItem { #[name="original_name"] Label { set_visible: self.film.original_name.is_some(), - set_cond_label: self.film.original_name.as_ref().map(String::as_str), + set_cond_label: self.film.original_name.as_deref(), }, gtk4::Box { @@ -121,7 +121,7 @@ impl FactoryComponent for FilmGridItem { root.toplevel_window().expect("root widget of FilmGridItem should be ancestor of a window") }), #[watch] - set_child: self.details.as_ref().map(|details| details.widget()), + set_child: self.details.as_ref().map(ComponentController::widget), connect_closed => FilmGridItemInput::DetailsClosed, }, } @@ -172,7 +172,7 @@ impl FactoryComponent for FilmGridItem { // If no poster is present we don't need to do anything. FilmGridItemCmdOutput::NoPosterFound => {} FilmGridItemCmdOutput::PosterFailed(error) => { - println!("Error occurred in loading film poster: {:?}", error); + println!("Error occurred in loading film poster: {error:?}"); } } } diff --git a/src/ui/components/media_grid_item/series_grid_item.rs b/src/ui/components/media_grid_item/series_grid_item.rs index 9b2e81a..d773371 100644 --- a/src/ui/components/media_grid_item/series_grid_item.rs +++ b/src/ui/components/media_grid_item/series_grid_item.rs @@ -89,7 +89,7 @@ impl FactoryComponent for SeriesGridItem { #[name="original_name"] Label { set_visible: self.series.original_name.is_some(), - set_cond_label: self.series.original_name.as_ref().map(String::as_str), + set_cond_label: self.series.original_name.as_deref(), }, #[name="release_date"] @@ -109,7 +109,7 @@ impl FactoryComponent for SeriesGridItem { root.toplevel_window().expect("root widget of FilmGridItem should be ancestor of a window") }), #[watch] - set_child: self.details.as_ref().map(|details| details.widget()), + set_child: self.details.as_ref().map(ComponentController::widget), connect_closed => SeriesGridItemInput::DetailsClosed, }, } @@ -166,7 +166,7 @@ impl FactoryComponent for SeriesGridItem { // If no poster is present we don't need to do anything. SeriesGridItemCmdOutput::NoPosterFound => {} SeriesGridItemCmdOutput::PosterFailed(error) => { - println!("Error occurred in loading series poster: {:?}", error); + println!("Error occurred in loading series poster: {error:?}"); } } } diff --git a/src/ui/components/media_type_switcher.rs b/src/ui/components/media_type_switcher.rs index 3cc650c..5fe681c 100644 --- a/src/ui/components/media_type_switcher.rs +++ b/src/ui/components/media_type_switcher.rs @@ -39,7 +39,7 @@ impl SimpleComponent for MediaTypeSwitcher { fn init( _init: (), - _root: ToolbarView, + root: ToolbarView, _sender: ComponentSender, ) -> ComponentParts { let films_grid = CollatableFilmGrid::builder().launch(()).detach(); diff --git a/src/ui/factory_sorting.rs b/src/ui/factory_sorting.rs index f3cb40f..44d2472 100644 --- a/src/ui/factory_sorting.rs +++ b/src/ui/factory_sorting.rs @@ -12,10 +12,10 @@ where F: Fn(&I, &I) -> Ordering, I: FactoryComponent, { - _sort_factory_vec(factory_vec, 0, factory_vec.len(), &compare); + sort_factory_vec_inner(factory_vec, 0, factory_vec.len(), &compare); } -fn _sort_factory_vec( +fn sort_factory_vec_inner( factory_vec: &mut FactoryVecDequeGuard, start_index: usize, end_index: usize, @@ -26,8 +26,8 @@ fn _sort_factory_vec( { if end_index - start_index > 1 { let pivot = lomuto_partition(factory_vec, start_index, end_index, compare); - _sort_factory_vec(factory_vec, start_index, pivot, compare); - _sort_factory_vec(factory_vec, pivot + 1, end_index, compare); + sort_factory_vec_inner(factory_vec, start_index, pivot, compare); + sort_factory_vec_inner(factory_vec, pivot + 1, end_index, compare); } } diff --git a/src/ui/widget_extensions.rs b/src/ui/widget_extensions.rs index 295e78b..a3405dd 100644 --- a/src/ui/widget_extensions.rs +++ b/src/ui/widget_extensions.rs @@ -40,9 +40,8 @@ pub trait CondDialogExt: IsA { // Unlike AdwDialogExt::present the parent is not a reference, so that using it // with Option::map is more ergonomic. fn cond_present>(&self, parent: Option) { - match parent { - Some(parent) => self.present(Some(&parent)), - None => {} + if let Some(parent) = parent { + self.present(Some(&parent)); } } }