Cleaned up some code with some macros

This commit is contained in:
2023-08-08 10:50:05 -06:00
parent cab3d1d50d
commit 0f9dc639a8
10 changed files with 132 additions and 204 deletions
@@ -4,7 +4,7 @@ use crate::handlers::{handle_prompt_toggle, KeyEventHandler};
use crate::models::radarr_models::{MinimumAvailability, Monitor};
use crate::models::{Scrollable, StatefulTable};
use crate::network::radarr_network::RadarrEvent;
use crate::{App, Key};
use crate::{handle_text_box_keys, App, Key};
pub(super) struct AddMovieHandler<'a> {
key: &'a Key,
@@ -259,15 +259,7 @@ impl<'a> KeyEventHandler<'a, ActiveRadarrBlock> for AddMovieHandler<'a> {
fn handle_char_key_event(&mut self) {
let key = self.key;
if self.active_radarr_block == &ActiveRadarrBlock::AddMovieSearchInput {
match self.key {
_ if *key == DEFAULT_KEYBINDINGS.backspace.key => {
self.app.data.radarr_data.search.pop();
}
Key::Char(character) => {
self.app.data.radarr_data.search.push(*character);
}
_ => (),
}
handle_text_box_keys!(self, key, self.app.data.radarr_data.search)
}
}
}
+7 -19
View File
@@ -7,7 +7,7 @@ use crate::handlers::{handle_clear_errors, handle_prompt_toggle, KeyEventHandler
use crate::models::Scrollable;
use crate::network::radarr_network::RadarrEvent;
use crate::utils::strip_non_alphanumeric_characters;
use crate::{App, Key};
use crate::{handle_text_box_keys, App, Key};
mod add_movie_handler;
mod collection_details_handler;
@@ -425,24 +425,12 @@ impl<'a> KeyEventHandler<'a, ActiveRadarrBlock> for RadarrHandler<'a> {
}
_ => (),
},
ActiveRadarrBlock::SearchMovie | ActiveRadarrBlock::SearchCollection => match self.key {
_ if *key == DEFAULT_KEYBINDINGS.backspace.key => {
self.app.data.radarr_data.search.pop();
}
Key::Char(character) => {
self.app.data.radarr_data.search.push(*character);
}
_ => (),
},
ActiveRadarrBlock::FilterMovies | ActiveRadarrBlock::FilterCollections => match self.key {
_ if *key == DEFAULT_KEYBINDINGS.backspace.key => {
self.app.data.radarr_data.filter.pop();
}
Key::Char(character) => {
self.app.data.radarr_data.filter.push(*character);
}
_ => (),
},
ActiveRadarrBlock::SearchMovie | ActiveRadarrBlock::SearchCollection => {
handle_text_box_keys!(self, key, self.app.data.radarr_data.search)
}
ActiveRadarrBlock::FilterMovies | ActiveRadarrBlock::FilterCollections => {
handle_text_box_keys!(self, key, self.app.data.radarr_data.filter)
}
_ => (),
}
}
@@ -3,7 +3,7 @@ use crate::app::radarr::ActiveRadarrBlock;
use crate::app::App;
use crate::event::Key;
use crate::handlers::{handle_prompt_toggle, KeyEventHandler};
use crate::models::{Scrollable, StatefulTable};
use crate::models::Scrollable;
use crate::network::radarr_network::RadarrEvent;
pub(super) struct MovieDetailsHandler<'a> {