feat(egui): add `Help > Online Documentation` menu button

This commit is contained in:
Mikolaj Wielgus 2024-10-13 16:17:00 +02:00
parent adad7a8926
commit 2bc090b132
3 changed files with 22 additions and 0 deletions

View File

@ -2,6 +2,8 @@
tr-menu-debug = Debug tr-menu-debug = Debug
##
tr-menu-file = File tr-menu-file = File
tr-menu-file-open = Open tr-menu-file-open = Open
tr-menu-open-specctra-session-file = Specctra session file 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 = Route
tr-menu-route-autoroute = Autoroute tr-menu-route-autoroute = Autoroute
tr-menu-help = Help
tr-menu-help-online-documentation = Online Documentation
# Misnamed tag, TODO fix this. # Misnamed tag, TODO fix this.
tr-menu-options = Options tr-menu-options = Options

View File

@ -37,6 +37,10 @@ impl Trigger {
self.triggered = ui.button(self.action.widget_text()).clicked(); 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 { pub fn consume_key_triggered(&mut self, ctx: &egui::Context, ui: &mut egui::Ui) -> bool {
self.consume_key(ctx, ui); self.consume_key(ctx, ui);
self.triggered() self.triggered()

View File

@ -125,6 +125,11 @@ impl MenuBar {
egui::Modifiers::NONE, egui::Modifiers::NONE,
egui::Key::Plus, 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 { let workspace_activities_enabled = match &maybe_workspace {
Some(w) => w 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(); ui.separator();
egui::widgets::global_theme_preference_buttons(ui); egui::widgets::global_theme_preference_buttons(ui);