#[cfg(feature = "gui")]
use eframe::egui;
#[cfg(feature = "gui")]
pub struct Shortcuts {
pub filter: egui::KeyboardShortcut,
pub run: egui::KeyboardShortcut,
pub subprocess: egui::KeyboardShortcut,
pub toggle_left: egui::KeyboardShortcut,
pub help: egui::KeyboardShortcut,
pub cpu: egui::KeyboardShortcut,
pub mode_run: egui::KeyboardShortcut,
pub mode_view: egui::KeyboardShortcut,
pub mode_edit: egui::KeyboardShortcut,
pub no_smt: egui::KeyboardShortcut,
pub apply: egui::KeyboardShortcut,
pub clear_threads: egui::KeyboardShortcut,
pub order_pu: egui::KeyboardShortcut,
pub order_cores: egui::KeyboardShortcut,
pub order_l3: egui::KeyboardShortcut,
pub order_none: egui::KeyboardShortcut,
pub order_ignore_main: egui::KeyboardShortcut,
pub thread_count: egui::KeyboardShortcut,
pub thread_apply_time: egui::KeyboardShortcut,
pub process_next: egui::KeyboardShortcut,
pub process_previous: egui::KeyboardShortcut,
}
#[cfg(feature = "gui")]
impl Shortcuts {
pub fn new() -> Shortcuts {
type Modifiers = egui::Modifiers;
type Key = egui::Key;
type Shortcut = egui::KeyboardShortcut;
Shortcuts {
filter: Shortcut::new(Modifiers::CTRL, Key::F),
run: Shortcut::new(Modifiers::CTRL, Key::R),
subprocess: Shortcut::new(Modifiers::CTRL, Key::P),
toggle_left: Shortcut::new(Modifiers::CTRL, Key::F10),
help: Shortcut::new(Modifiers::NONE, Key::F1),
cpu: Shortcut::new(Modifiers::NONE, Key::F2),
mode_run: Shortcut::new(Modifiers::NONE, Key::F3),
mode_view: Shortcut::new(Modifiers::NONE, Key::F4),
mode_edit: Shortcut::new(Modifiers::NONE, Key::F5),
no_smt: Shortcut::new(Modifiers::CTRL, Key::N),
apply: Shortcut::new(Modifiers::CTRL, Key::Enter),
clear_threads: Shortcut::new(Modifiers::CTRL, Key::Backspace),
order_pu: Shortcut::new(Modifiers::CTRL, Key::Num1),
order_cores: Shortcut::new(Modifiers::CTRL, Key::Num2),
order_l3: Shortcut::new(Modifiers::CTRL, Key::Num3),
order_none: Shortcut::new(Modifiers::CTRL, Key::Num0),
order_ignore_main: Shortcut::new(Modifiers::CTRL, Key::Minus),
thread_count: Shortcut::new(Modifiers::CTRL, Key::T),
thread_apply_time: Shortcut::new(Modifiers::CTRL, Key::E),
process_next: Shortcut::new(Modifiers::NONE, Key::ArrowDown),
process_previous: Shortcut::new(Modifiers::NONE, Key::ArrowUp),
}
}
}