diff --git a/locales/en-US/main.ftl b/locales/en-US/main.ftl index da2ea5c..9ee0bc4 100644 --- a/locales/en-US/main.ftl +++ b/locales/en-US/main.ftl @@ -2,6 +2,8 @@ tr-menu-debug = Debug +## + tr-menu-file = File tr-menu-file-open = Open tr-menu-open-specctra-session-file = Specctra session file @@ -31,6 +33,9 @@ tr-menu-place-place-via = Place Via tr-menu-route = Route tr-menu-route-autoroute = Autoroute +tr-menu-help = Help +tr-menu-help-online-documentation = Online Documentation + # Misnamed tag, TODO fix this. tr-menu-options = Options diff --git a/src/bin/topola-egui/action.rs b/src/bin/topola-egui/action.rs index da4294f..8a0665e 100644 --- a/src/bin/topola-egui/action.rs +++ b/src/bin/topola-egui/action.rs @@ -37,6 +37,10 @@ impl Trigger { self.triggered = ui.button(self.action.widget_text()).clicked(); } + pub fn hyperlink(&mut self, _ctx: &egui::Context, ui: &mut egui::Ui, url: &str) { + ui.hyperlink_to(self.action.widget_text(), url); + } + pub fn consume_key_triggered(&mut self, ctx: &egui::Context, ui: &mut egui::Ui) -> bool { self.consume_key(ctx, ui); self.triggered() diff --git a/src/bin/topola-egui/menu_bar.rs b/src/bin/topola-egui/menu_bar.rs index 9440e19..a71e013 100644 --- a/src/bin/topola-egui/menu_bar.rs +++ b/src/bin/topola-egui/menu_bar.rs @@ -125,6 +125,11 @@ impl MenuBar { egui::Modifiers::NONE, egui::Key::Plus, )); + let mut online_documentation = Trigger::new(Action::new( + tr.text("tr-menu-help-online-documentation"), + egui::Modifiers::NONE, + egui::Key::F1, + )); let workspace_activities_enabled = match &maybe_workspace { Some(w) => w @@ -258,6 +263,14 @@ impl MenuBar { }); }); + ui.menu_button(tr.text("tr-menu-help"), |ui| { + online_documentation.hyperlink( + ctx, + ui, + "https://topola.codeberg.page/doc/", + ); + }); + ui.separator(); egui::widgets::global_theme_preference_buttons(ui);