commit b7006ae3013b8011e2fe33db97e16313b769fb50
parent fa8ec8cbebaf53db5fac2e61b1fa786f7abc5f4f
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Thu, 30 Mar 2023 23:13:15 -0700
cleanup
Diffstat:
| M | src/main.rs | | | 88 | +++++++++++++++++++++++++++---------------------------------------------------- |
1 file changed, 30 insertions(+), 58 deletions(-)
diff --git a/src/main.rs b/src/main.rs
@@ -983,13 +983,7 @@ impl LeChatPHPClient {
});
}
- fn handle_input(
- &mut self,
- events: &Events,
- app: &mut App,
- messages: &Arc<Mutex<Vec<Message>>>,
- users: &Arc<Mutex<Users>>,
- ) -> std::result::Result<(), ExitSignal> {
+ fn handle_input(&mut self, events: &Events, app: &mut App, messages: &Arc<Mutex<Vec<Message>>>, users: &Arc<Mutex<Users>>, ) -> std::result::Result<(), ExitSignal> {
match events.next() {
Ok(Event::NeedLogin) => return Err(ExitSignal::NeedLogin),
Ok(Event::Terminate) => return Err(ExitSignal::Terminate),
@@ -998,13 +992,7 @@ impl LeChatPHPClient {
}
}
- fn handle_event(
- &mut self,
- app: &mut App,
- messages: &Arc<Mutex<Vec<Message>>>,
- users: &Arc<Mutex<Users>>,
- event: event::Event,
- ) -> std::result::Result<(), ExitSignal> {
+ fn handle_event(&mut self, app: &mut App, messages: &Arc<Mutex<Vec<Message>>>, users: &Arc<Mutex<Users>>, event: event::Event, ) -> std::result::Result<(), ExitSignal> {
match event {
event::Event::Resize(_cols, _rows) => Ok(()),
event::Event::FocusGained => Ok(()),
@@ -1015,13 +1003,7 @@ impl LeChatPHPClient {
}
}
- fn handle_key_event(
- &mut self,
- app: &mut App,
- messages: &Arc<Mutex<Vec<Message>>>,
- users: &Arc<Mutex<Users>>,
- key_event: KeyEvent,
- ) -> std::result::Result<(), ExitSignal> {
+ fn handle_key_event(&mut self, app: &mut App, messages: &Arc<Mutex<Vec<Message>>>, users: &Arc<Mutex<Users>>, key_event: KeyEvent, ) -> std::result::Result<(), ExitSignal> {
match app.input_mode {
InputMode::LongMessage => self.handle_long_message_mode_key_event(app, key_event, messages),
InputMode::Normal => self.handle_normal_mode_key_event(app, key_event, messages),
@@ -1029,44 +1011,11 @@ impl LeChatPHPClient {
}
}
- fn handle_long_message_mode_key_event(
- &mut self,
- app: &mut App,
- key_event: KeyEvent,
- messages: &Arc<Mutex<Vec<Message>>>,
- ) -> std::result::Result<(), ExitSignal> {
+ fn handle_long_message_mode_key_event(&mut self, app: &mut App, key_event: KeyEvent, messages: &Arc<Mutex<Vec<Message>>>, ) -> std::result::Result<(), ExitSignal> {
match key_event {
- KeyEvent {
- code: KeyCode::Enter,
- modifiers: KeyModifiers::NONE, ..
- }
- | KeyEvent {
- code: KeyCode::Esc,
- modifiers: KeyModifiers::NONE, ..
- } => {
- app.long_message = None;
- app.input_mode = InputMode::Normal;
- }
- KeyEvent {
- code: KeyCode::Char('d'),
- modifiers: KeyModifiers::CONTROL, ..
- } => {
- if let Some(idx) = app.items.state.selected() {
- if let Some(item) = app.items.items.get(idx) {
- self.post_msg(PostType::Clean(item.date.to_owned(), item.text.text()))
- .unwrap();
- let mut messages = messages.lock().unwrap();
- if let Some(pos) = messages
- .iter()
- .position(|m| m.date == item.date && m.text.text() == item.text.text())
- {
- messages[pos].hide = !messages[pos].hide;
- }
- app.long_message = None;
- app.input_mode = InputMode::Normal;
- }
- }
- }
+ KeyEvent { code: KeyCode::Enter, modifiers: KeyModifiers::NONE, .. } |
+ KeyEvent { code: KeyCode::Esc, modifiers: KeyModifiers::NONE, .. } => self.handle_long_message_mode_key_event_esc(app),
+ KeyEvent { code: KeyCode::Char('d'), modifiers: KeyModifiers::CONTROL, .. } => self.handle_long_message_mode_key_event_ctrl_d(app, messages),
_ => {}
}
Ok(())
@@ -1130,6 +1079,29 @@ impl LeChatPHPClient {
Ok(())
}
+ fn handle_long_message_mode_key_event_esc(&mut self, app: &mut App) {
+ app.long_message = None;
+ app.input_mode = InputMode::Normal;
+ }
+
+ fn handle_long_message_mode_key_event_ctrl_d(&mut self, app: &mut App, messages: &Arc<Mutex<Vec<Message>>>) {
+ if let Some(idx) = app.items.state.selected() {
+ if let Some(item) = app.items.items.get(idx) {
+ self.post_msg(PostType::Clean(item.date.to_owned(), item.text.text()))
+ .unwrap();
+ let mut messages = messages.lock().unwrap();
+ if let Some(pos) = messages
+ .iter()
+ .position(|m| m.date == item.date && m.text.text() == item.text.text())
+ {
+ messages[pos].hide = !messages[pos].hide;
+ }
+ app.long_message = None;
+ app.input_mode = InputMode::Normal;
+ }
+ }
+ }
+
fn handle_normal_mode_key_event_up(&mut self, app: &mut App) {
app.items.previous()
}