use crate::free_launch::free_launch::{Actions, FreeLaunch};
const VERSION_STRING: &str = concat!(
env!("CARGO_PKG_VERSION"),
" (",
env!("GIT_COMMIT_HASH"),
")"
);
impl FreeLaunch {
#[must_use]
pub(crate) fn show_help_screen(&self, ui: &mut egui::Ui) -> Vec<Actions> {
egui::ScrollArea::vertical().show(ui, |ui| {
ui.vertical_centered(|ui| {
ui.heading("Free Launch - Help");
ui.add_space(10.0);
ui.label(format!("Version: {}", VERSION_STRING));
ui.add_space(10.0);
ui.label("Free Launch is an application launcher for Linux desktop environments.");
ui.add_space(10.0);
ui.separator();
ui.add_space(10.0);
ui.heading("Keyboard Shortcuts");
ui.add_space(10.0);
ui.horizontal(|ui| {
ui.label("Search:");
ui.label("Type to filter applications");
});
ui.horizontal(|ui| {
ui.label("↑/↓ Arrow Keys:");
ui.label("Navigate through results");
});
ui.horizontal(|ui| {
ui.label("Page Up/Down:");
ui.label("Navigate by page");
});
ui.horizontal(|ui| {
ui.label("Enter:");
ui.label("Launch selected application");
});
ui.horizontal(|ui| {
ui.label("Shift+Enter:");
ui.label("Open directory containing application");
});
ui.horizontal(|ui| {
ui.label("Tab:");
ui.label("Select/deselect highlighted item");
});
ui.horizontal(|ui| {
ui.label("Ctrl+H or Ctrl+?:");
ui.label("Toggle this help screen");
});
ui.horizontal(|ui| {
ui.label("Ctrl+Q, Ctrl+W, or Escape:");
ui.label("Quit Free Launch");
});
ui.add_space(20.0);
ui.separator();
ui.add_space(10.0);
if !self.search_providers.is_empty() {
ui.heading("Search Providers");
ui.add_space(10.0);
ui.label("Type an alias followed by your search term to search directly:");
ui.add_space(5.0);
for provider in &self.search_providers {
ui.horizontal(|ui| {
let aliases = provider.aliases.join(", ");
ui.label(format!("{}:", aliases));
ui.label(&provider.name);
});
}
ui.add_space(10.0);
ui.label(
"Example: 'g rust programming' to search Google for 'rust programming'",
);
ui.add_space(20.0);
ui.separator();
ui.add_space(10.0);
}
ui.label("Press Ctrl+H or Ctrl+? again to return to the main screen.");
});
});
Default::default()
}
}