use crate::app::window_state::WindowState;
use winit::event::{ElementState, KeyEvent};
use winit::keyboard::{Key, NamedKey};
impl WindowState {
pub(crate) fn handle_agent_usage_panel_keys(&mut self, event: &KeyEvent) -> bool {
if !self.overlay_ui.agent_usage_panel.visible {
return false;
}
if event.state == ElementState::Pressed {
match &event.logical_key {
Key::Named(NamedKey::Escape) => {
self.overlay_ui.agent_usage_panel.close();
self.focus_state.needs_redraw = true;
return true;
}
Key::Character(ch) if ch.as_str() == "l" => {
let count = self.status_bar_ui.usage_snapshot().records.len();
self.overlay_ui.agent_usage_panel.cycle_agent(true, count);
self.focus_state.needs_redraw = true;
return true;
}
Key::Character(ch) if ch.as_str() == "h" => {
let count = self.status_bar_ui.usage_snapshot().records.len();
self.overlay_ui.agent_usage_panel.cycle_agent(false, count);
self.focus_state.needs_redraw = true;
return true;
}
_ => {}
}
}
false
}
}