diff options
| -rw-r--r-- | po/POTFILES | 2 | ||||
| -rw-r--r-- | po/en_US.po | 272 | ||||
| -rw-r--r-- | po/systems.tranquil.Map.pot | 147 | ||||
| -rw-r--r-- | src/actions.rs | 3 | ||||
| -rw-r--r-- | src/components/header.rs | 7 | ||||
| -rw-r--r-- | src/main.rs | 25 |
6 files changed, 287 insertions, 169 deletions
diff --git a/po/POTFILES b/po/POTFILES index dc19e9a..220116d 100644 --- a/po/POTFILES +++ b/po/POTFILES @@ -1,3 +1,5 @@ +src/components/footer.rs +src/components/header.rs src/dialogs.rs src/handlers/export.rs src/handlers/file.rs diff --git a/po/en_US.po b/po/en_US.po index 0de8671..6c66653 100644 --- a/po/en_US.po +++ b/po/en_US.po @@ -8,69 +8,112 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-19 00:17+0100\n" -"PO-Revision-Date: 2026-01-19 00:18+0100\n" +"POT-Creation-Date: 2026-03-27 11:47+0100\n" +"PO-Revision-Date: 2026-03-27 12:19+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: en_US\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.8\n" +"X-Generator: Poedit 3.9\n" -#: src/dialogs.rs:35 +#: src/components/footer.rs:43 src/components/header.rs:184 +msgid "command.view.zoom_out" +msgstr "Zoom Out" + +#: src/components/footer.rs:66 src/components/header.rs:183 +msgid "command.view.zoom_in" +msgstr "Zoom In" + +#: src/components/header.rs:57 src/components/header.rs:177 +msgid "command.view.use_vertical_layout" +msgstr "Use Vertical Layout" + +#: src/components/header.rs:58 +msgid "command.view.use_horizontal_layout" +msgstr "Use Horizontal Layout" + +#: src/components/header.rs:72 src/components/header.rs:171 +msgid "command.file.export" +msgstr "Export as Image" + +#: src/components/header.rs:161 +msgid "command.file.new" +msgstr "New Map" + +#: src/components/header.rs:163 +msgid "command.file.new_from_template" +msgstr "New from Template" + +#: src/components/header.rs:166 +msgid "command.file.open" +msgstr "Open..." + +#: src/components/header.rs:167 +msgid "command.file.save" +msgstr "Save" + +#: src/components/header.rs:168 +msgid "command.file.save_as" +msgstr "Save As..." + +#: src/components/header.rs:169 +msgid "command.file.close" +msgstr "Close" + +#: src/components/header.rs:189 +msgid "command.application.about" +msgstr "About" + +#: src/components/header.rs:196 +msgid "command.application.preferences" +msgstr "Preferences..." + +#: src/dialogs.rs:36 msgid "dialog.file_type.wmap" msgstr "Wardley Map Files" -#: src/dialogs.rs:62 -msgid "dialog.open.title" -msgstr "Open Map" - -#: src/dialogs.rs:66 src/dialogs.rs:106 src/dialogs.rs:152 src/dialogs.rs:202 -#: src/preferences/pages/general.rs:105 src/preferences/pages/general.rs:137 +#: src/dialogs.rs:44 src/dialogs.rs:140 msgid "dialog.action.cancel" msgstr "Cancel" -#: src/dialogs.rs:67 src/preferences/pages/general.rs:138 -msgid "dialog.action.open" -msgstr "Open" +#: src/dialogs.rs:58 +msgid "dialog.open.title" +msgstr "Open Map" -#: src/dialogs.rs:102 +#: src/dialogs.rs:95 msgid "dialog.save.title" msgstr "Save Map As" -#: src/dialogs.rs:107 src/dialogs.rs:153 src/preferences/pages/general.rs:106 -msgid "dialog.action.save" -msgstr "Save" +#: src/dialogs.rs:136 +msgid "dialog.unsaved_changes.title" +msgstr "Unsaved Changes" -#: src/dialogs.rs:148 +#: src/dialogs.rs:137 msgid "dialog.unsaved_changes.message" msgstr "Save changes before closing?" -#: src/dialogs.rs:150 -msgid "dialog.unsaved_changes.title" -msgstr "Unsaved Changes" - -#: src/dialogs.rs:151 +#: src/dialogs.rs:139 msgid "dialog.action.dont_save" msgstr "Don't Save" -#: src/dialogs.rs:184 +#: src/dialogs.rs:141 +msgid "dialog.action.save" +msgstr "Save" + +#: src/dialogs.rs:178 msgid "dialog.file_type.png" msgstr "PNG Image" -#: src/dialogs.rs:185 +#: src/dialogs.rs:179 msgid "dialog.file_type.svg" msgstr "SVG Image" -#: src/dialogs.rs:198 +#: src/dialogs.rs:199 msgid "dialog.export.title" msgstr "Export Map as Image" -#: src/dialogs.rs:203 -msgid "dialog.action.export" -msgstr "Export" - #: src/handlers/export.rs:45 msgid "error.file.export" msgstr "Could not export image. Please make sure the destination is writable." @@ -83,57 +126,93 @@ msgstr "Could not open file. Please make sure the file is readable." msgid "errors.file.save" msgstr "Could not save file. Please make sure the destination is writable." -#: src/main.rs:251 +#: src/main.rs:171 msgid "document.untitled" msgstr "Untitled" -#: src/main.rs:446 -msgid "command.file.new" -msgstr "New Map" - -#: src/main.rs:448 -msgid "command.file.new_from_template" -msgstr "New from Template" - -#: src/main.rs:451 -msgid "command.file.open" -msgstr "Open..." - -#: src/main.rs:452 -msgid "command.file.save" -msgstr "Save" - -#: src/main.rs:453 -msgid "command.file.save_as" -msgstr "Save As..." - -#: src/main.rs:454 -msgid "command.file.close" -msgstr "Close" - -#: src/main.rs:456 src/main.rs:520 -msgid "command.file.export" -msgstr "Export as Image" - -#: src/main.rs:462 src/main.rs:506 -msgid "command.view.use_vertical_layout" -msgstr "Use Vertical Layout" - -#: src/main.rs:468 src/main.rs:605 -msgid "command.view.zoom_in" -msgstr "Zoom In" - -#: src/main.rs:469 src/main.rs:582 -msgid "command.view.zoom_out" -msgstr "Zoom Out" - -#: src/main.rs:474 -msgid "command.application.preferences" -msgstr "Preferences" - -#: src/main.rs:507 -msgid "command.view.use_horizontal_layout" -msgstr "Use Horizontal Layout" +#: src/main.rs:614 +msgid "about.comment" +msgstr "" +"Map is a <a href=\"https://medium.com/wardleymaps\">wardley map</a> editor " +"for linux that uses a simple language to easily create and edit maps. Draw " +"components, link dependencies, create groups, write notes, or add inertia " +"and evolution markers, and see your map change in an instant.\n" +"\n" +"<big><b>Language Reference</b></big>\n" +"\n" +"The wmap language is a simple notation to create and edit wardley maps and " +"is easy to pick up:\n" +"\n" +"<b>Components</b>\n" +"\n" +"Components are written as <tt>Name (x,y)</tt>. The name can contain spaces, " +"and the x and y coordinates are a whole or decimal number from 0 to 100 and " +"represent how far from the top left corner the component will be drawn.\n" +"\n" +"By default, components will be drawn as a circle, but you can specify the " +"shape by appending <tt>[Square]</tt>, <tt>[Triangle]</tt>, or <tt>[x]</tt>. " +"Here's some examples:\n" +"\n" +"<tt>Component (1,2)</tt>\n" +"<tt>My Cool Component (10.0,21.0)</tt>\n" +"<tt>A (1, 2.0) [Square]</tt>\n" +"<tt>Rose Wall (44.3, 50.0) [x]</tt>\n" +"\n" +"<b>Dependencies</b>\n" +"\n" +"Dependencies connect two components, and they are written as <tt>Component A " +"-- Component B</tt>. This will draw a simple line between them. If you want " +"an arrow, you can use <tt>Component -> Component</tt> instead.\n" +"\n" +"<tt>Component -- My Cool Component</tt>\n" +"<tt>A -> Component</tt>\n" +"\n" +"<b>Inertia</b>\n" +"\n" +"You can place an inertia marker in front of a component by writing " +"<tt>[Inertia] Component</tt>.\n" +"\n" +"<tt>[Inertia] My Cool Component</tt>\n" +"<tt>[Inertia] A</tt>\n" +"\n" +"<b>Evolution</b>\n" +"\n" +"Evolution arrows are notated by using <tt>[Evolution] Component +x</tt> or " +"<tt>[Evolution] Component -x</tt>, where x is a whole or decimal number " +"between 0 and 100.\n" +"\n" +"<tt>[Evolution] My Cool Component -10</tt>\n" +"<tt>[Evolution] A +15</tt>\n" +"\n" +"<b>Notes</b>\n" +"\n" +"Sometimes it's helpful to add some text clarifying the map. Writing " +"<tt>[Note] (x, y) Text</tt> will create a note block right at those " +"coordinates. Just like components, x and y are numbers between 0 and 100. " +"You can write \\n to force a line break.\n" +"\n" +"<tt>[Note] (30, 45) Here we want to call out an explanation or context.</" +"tt>\n" +"<tt>[Note] (90, 25) We're close to the edge \\n so we can multiline it.</" +"tt>\n" +"\n" +"<b>Groups</b>\n" +"\n" +"You can group components together by using <tt>[Group] ComponentA, " +"ComponentB...</tt>\n" +"\n" +"<tt>[Group] Tinker, Tailor, Soldier</tt>\n" +"<tt>[Group] Two Words, Three Words Here</tt>\n" +"\n" +"<b>Resizing Evolution Stages</b>\n" +"\n" +"If you need more space for one of the four stages, you can use <b>[I] x</b>, " +"<b>[II] x</b>, or <b>[III] x</b>. As with other lines, x is a number between " +"0-100.\n" +"\n" +"<tt>[I] 15</tt>\n" +"<tt>[II] 35.5</tt>\n" +"<tt>[III] 80</tt>" #: src/preferences/models.rs:53 src/stages.rs:78 msgid "stages.cynefin.name" @@ -261,7 +340,7 @@ msgstr "Soft wrap lines" msgid "preferences.editor.editor_style.use_custom_font" msgstr "Use custom font" -#: src/preferences/pages/editor.rs:143 +#: src/preferences/pages/editor.rs:145 msgid "preferences.editor.font" msgstr "Font" @@ -292,15 +371,15 @@ msgstr "" "Export your preferences to share with others or back up your settings.\n" "Import preferences from a file to restore settings." -#: src/preferences/pages/general.rs:98 src/preferences/pages/general.rs:130 +#: src/preferences/pages/general.rs:98 src/preferences/pages/general.rs:124 msgid "dialog.file_type.json" msgstr "JSON File" -#: src/preferences/pages/general.rs:101 +#: src/preferences/pages/general.rs:104 msgid "dialog.export_preferences.title" msgstr "Export Preferences" -#: src/preferences/pages/general.rs:133 +#: src/preferences/pages/general.rs:130 msgid "dialog.import_preferences.title" msgstr "Import Preferences" @@ -324,19 +403,19 @@ msgstr "Use custom font" msgid "preferences.map.font" msgstr "Font" -#: src/preferences/pages/map.rs:155 +#: src/preferences/pages/map.rs:156 msgid "preferences.map.export.title" msgstr "Export" -#: src/preferences/pages/map.rs:163 +#: src/preferences/pages/map.rs:164 msgid "preferences.map.export.default_format" msgstr "Default export format" -#: src/preferences/pages/map.rs:167 +#: src/preferences/pages/map.rs:168 msgid "export_formats.png" msgstr "PNG (Raster)" -#: src/preferences/pages/map.rs:167 +#: src/preferences/pages/map.rs:168 msgid "export_formats.svg" msgstr "SVG (Vector)" @@ -407,27 +486,27 @@ msgstr "This is the default template." msgid "preferences.templates.help.set_as_default" msgstr "Set as default template." -#: src/preferences/window.rs:105 +#: src/preferences/window.rs:106 msgid "preferences.title" msgstr "Preferences" -#: src/preferences/window.rs:131 +#: src/preferences/window.rs:129 msgid "preferences.menu.general" msgstr "General" -#: src/preferences/window.rs:132 +#: src/preferences/window.rs:130 msgid "preferences.menu.editor" msgstr "Editor" -#: src/preferences/window.rs:133 +#: src/preferences/window.rs:131 msgid "preferences.menu.map" msgstr "Map" -#: src/preferences/window.rs:134 +#: src/preferences/window.rs:132 msgid "preferences.menu.stages" msgstr "Stages" -#: src/preferences/window.rs:135 +#: src/preferences/window.rs:133 msgid "preferences.menu.templates" msgstr "Templates" @@ -853,6 +932,12 @@ msgstr "Previous Experience" msgid "stages.behavior.iv" msgstr "Known / common usage" +#~ msgid "dialog.action.open" +#~ msgstr "Open" + +#~ msgid "dialog.action.export" +#~ msgstr "Export" + #~ msgid "command.group.file.title" #~ msgstr "File Commands" @@ -861,6 +946,3 @@ msgstr "Known / common usage" #~ msgid "command.group.application.title" #~ msgstr "Application Commands" - -#~ msgid "command.application.keyboard_shortcuts" -#~ msgstr "Keyboard Shortcuts" diff --git a/po/systems.tranquil.Map.pot b/po/systems.tranquil.Map.pot index ba912a4..a4b68ce 100644 --- a/po/systems.tranquil.Map.pot +++ b/po/systems.tranquil.Map.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-19 00:17+0100\n" +"POT-Creation-Date: 2026-03-27 11:47+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,121 +17,120 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: src/dialogs.rs:35 -msgid "dialog.file_type.wmap" +#: src/components/footer.rs:43 src/components/header.rs:184 +msgid "command.view.zoom_out" msgstr "" -#: src/dialogs.rs:62 -msgid "dialog.open.title" +#: src/components/footer.rs:66 src/components/header.rs:183 +msgid "command.view.zoom_in" msgstr "" -#: src/dialogs.rs:66 src/dialogs.rs:106 src/dialogs.rs:152 src/dialogs.rs:202 -#: src/preferences/pages/general.rs:105 src/preferences/pages/general.rs:137 -msgid "dialog.action.cancel" +#: src/components/header.rs:57 src/components/header.rs:177 +msgid "command.view.use_vertical_layout" msgstr "" -#: src/dialogs.rs:67 src/preferences/pages/general.rs:138 -msgid "dialog.action.open" +#: src/components/header.rs:58 +msgid "command.view.use_horizontal_layout" msgstr "" -#: src/dialogs.rs:102 -msgid "dialog.save.title" +#: src/components/header.rs:72 src/components/header.rs:171 +msgid "command.file.export" msgstr "" -#: src/dialogs.rs:107 src/dialogs.rs:153 src/preferences/pages/general.rs:106 -msgid "dialog.action.save" +#: src/components/header.rs:161 +msgid "command.file.new" msgstr "" -#: src/dialogs.rs:148 -msgid "dialog.unsaved_changes.message" +#: src/components/header.rs:163 +msgid "command.file.new_from_template" msgstr "" -#: src/dialogs.rs:150 -msgid "dialog.unsaved_changes.title" +#: src/components/header.rs:166 +msgid "command.file.open" msgstr "" -#: src/dialogs.rs:151 -msgid "dialog.action.dont_save" +#: src/components/header.rs:167 +msgid "command.file.save" msgstr "" -#: src/dialogs.rs:184 -msgid "dialog.file_type.png" +#: src/components/header.rs:168 +msgid "command.file.save_as" msgstr "" -#: src/dialogs.rs:185 -msgid "dialog.file_type.svg" +#: src/components/header.rs:169 +msgid "command.file.close" msgstr "" -#: src/dialogs.rs:198 -msgid "dialog.export.title" +#: src/components/header.rs:189 +msgid "command.application.about" msgstr "" -#: src/dialogs.rs:203 -msgid "dialog.action.export" +#: src/components/header.rs:196 +msgid "command.application.preferences" msgstr "" -#: src/handlers/export.rs:45 -msgid "error.file.export" +#: src/dialogs.rs:36 +msgid "dialog.file_type.wmap" msgstr "" -#: src/handlers/file.rs:39 -msgid "errors.file.open" +#: src/dialogs.rs:44 src/dialogs.rs:140 +msgid "dialog.action.cancel" msgstr "" -#: src/handlers/file.rs:62 -msgid "errors.file.save" +#: src/dialogs.rs:58 +msgid "dialog.open.title" msgstr "" -#: src/main.rs:251 -msgid "document.untitled" +#: src/dialogs.rs:95 +msgid "dialog.save.title" msgstr "" -#: src/main.rs:446 -msgid "command.file.new" +#: src/dialogs.rs:136 +msgid "dialog.unsaved_changes.title" msgstr "" -#: src/main.rs:448 -msgid "command.file.new_from_template" +#: src/dialogs.rs:137 +msgid "dialog.unsaved_changes.message" msgstr "" -#: src/main.rs:451 -msgid "command.file.open" +#: src/dialogs.rs:139 +msgid "dialog.action.dont_save" msgstr "" -#: src/main.rs:452 -msgid "command.file.save" +#: src/dialogs.rs:141 +msgid "dialog.action.save" msgstr "" -#: src/main.rs:453 -msgid "command.file.save_as" +#: src/dialogs.rs:178 +msgid "dialog.file_type.png" msgstr "" -#: src/main.rs:454 -msgid "command.file.close" +#: src/dialogs.rs:179 +msgid "dialog.file_type.svg" msgstr "" -#: src/main.rs:456 src/main.rs:520 -msgid "command.file.export" +#: src/dialogs.rs:199 +msgid "dialog.export.title" msgstr "" -#: src/main.rs:462 src/main.rs:506 -msgid "command.view.use_vertical_layout" +#: src/handlers/export.rs:45 +msgid "error.file.export" msgstr "" -#: src/main.rs:468 src/main.rs:605 -msgid "command.view.zoom_in" +#: src/handlers/file.rs:39 +msgid "errors.file.open" msgstr "" -#: src/main.rs:469 src/main.rs:582 -msgid "command.view.zoom_out" +#: src/handlers/file.rs:62 +msgid "errors.file.save" msgstr "" -#: src/main.rs:474 -msgid "command.application.preferences" +#: src/main.rs:171 +msgid "document.untitled" msgstr "" -#: src/main.rs:507 -msgid "command.view.use_horizontal_layout" +#: src/main.rs:614 +msgid "about.comment" msgstr "" #: src/preferences/models.rs:53 src/stages.rs:78 @@ -206,7 +205,7 @@ msgstr "" msgid "preferences.editor.editor_style.use_custom_font" msgstr "" -#: src/preferences/pages/editor.rs:143 +#: src/preferences/pages/editor.rs:145 msgid "preferences.editor.font" msgstr "" @@ -235,15 +234,15 @@ msgstr "" msgid "preferences.general.explanation" msgstr "" -#: src/preferences/pages/general.rs:98 src/preferences/pages/general.rs:130 +#: src/preferences/pages/general.rs:98 src/preferences/pages/general.rs:124 msgid "dialog.file_type.json" msgstr "" -#: src/preferences/pages/general.rs:101 +#: src/preferences/pages/general.rs:104 msgid "dialog.export_preferences.title" msgstr "" -#: src/preferences/pages/general.rs:133 +#: src/preferences/pages/general.rs:130 msgid "dialog.import_preferences.title" msgstr "" @@ -267,19 +266,19 @@ msgstr "" msgid "preferences.map.font" msgstr "" -#: src/preferences/pages/map.rs:155 +#: src/preferences/pages/map.rs:156 msgid "preferences.map.export.title" msgstr "" -#: src/preferences/pages/map.rs:163 +#: src/preferences/pages/map.rs:164 msgid "preferences.map.export.default_format" msgstr "" -#: src/preferences/pages/map.rs:167 +#: src/preferences/pages/map.rs:168 msgid "export_formats.png" msgstr "" -#: src/preferences/pages/map.rs:167 +#: src/preferences/pages/map.rs:168 msgid "export_formats.svg" msgstr "" @@ -350,27 +349,27 @@ msgstr "" msgid "preferences.templates.help.set_as_default" msgstr "" -#: src/preferences/window.rs:105 +#: src/preferences/window.rs:106 msgid "preferences.title" msgstr "" -#: src/preferences/window.rs:131 +#: src/preferences/window.rs:129 msgid "preferences.menu.general" msgstr "" -#: src/preferences/window.rs:132 +#: src/preferences/window.rs:130 msgid "preferences.menu.editor" msgstr "" -#: src/preferences/window.rs:133 +#: src/preferences/window.rs:131 msgid "preferences.menu.map" msgstr "" -#: src/preferences/window.rs:134 +#: src/preferences/window.rs:132 msgid "preferences.menu.stages" msgstr "" -#: src/preferences/window.rs:135 +#: src/preferences/window.rs:133 msgid "preferences.menu.templates" msgstr "" diff --git a/src/actions.rs b/src/actions.rs index 33289b1..09b7d4b 100644 --- a/src/actions.rs +++ b/src/actions.rs @@ -65,6 +65,9 @@ pub enum Action { DisableHorizontalLayout, EnableHorizontalLayout, + // Help and About + OpenAboutDialog, + // Preferences ShowPreferences, PreferencesChanged(UserPreferences), diff --git a/src/components/header.rs b/src/components/header.rs index 6c1055b..7977a5b 100644 --- a/src/components/header.rs +++ b/src/components/header.rs @@ -184,6 +184,13 @@ impl Header { zoom_section.append(Some(&tr!("command.view.zoom_out")), Some("window.zoom-out")); main_menu.append_section(None, &zoom_section); + let help_section = gio::Menu::new(); + help_section.append( + Some(&tr!("command.application.about")), + Some("window.about"), + ); + main_menu.append_section(None, &help_section); + let prefs_section = gio::Menu::new(); prefs_section.append( Some(&tr!("command.application.preferences")), diff --git a/src/main.rs b/src/main.rs index cd71c94..655462c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -94,6 +94,7 @@ relm4::new_stateless_action!( ); relm4::new_stateless_action!(ZoomInAction, WindowActionGroup, "zoom-in"); relm4::new_stateless_action!(ZoomOutAction, WindowActionGroup, "zoom-out"); +relm4::new_stateless_action!(AboutAction, WindowActionGroup, "about"); relm4::new_stateless_action!(PreferencesAction, WindowActionGroup, "preferences"); struct NewFromTemplateAction; @@ -133,6 +134,7 @@ struct AppModel { preferences_window: Option<relm4::Controller<preferences::PreferencesWindow>>, editor_css_provider: gtk::CssProvider, horizontal_layout_enabled: bool, + // Child Components header: Controller<Header>, footer: Controller<Footer>, @@ -432,6 +434,7 @@ impl SimpleComponent for AppModel { SaveAsAction => Action::SaveAs { close_after: false }, &["<Primary><Shift>s"]; OpenAction => Action::Open, &["<Primary>o"]; CloseAction => Action::CloseWindow, &["<Primary>w"]; + AboutAction => Action::OpenAboutDialog, &[]; PreferencesAction => Action::ShowPreferences, &["<Primary>comma"] ]); let layout_action = register_action!( @@ -591,6 +594,28 @@ impl SimpleComponent for AppModel { } Action::EnableHorizontalLayout => handlers::view::change_horizontal_layout(self, true), + Action::OpenAboutDialog => { + adw::AboutDialog::builder() + .developers( + env!("CARGO_PKG_AUTHORS") + .split(':') + .map(String::from) + .collect::<Vec<_>>(), + ) + .comments(tr!("about.comment")) + .copyright("© 2026 Rubén Beltrán del Río") + .license_type(gtk::License::Agpl30) + .application_icon("systems.tranquil.Map") + .application_name(env!("CARGO_PKG_NAME")) + .version(env!("CARGO_PKG_VERSION")) + .website(env!("CARGO_PKG_HOMEPAGE")) + .issue_url("https://todo.sr.ht/~rbdr/wmap") + .support_url("mailto:wmap@r.bdr.sh") + .visible(true) + .build() + .present(Some(&self.window)); + }, + // Preferences Action::ShowPreferences => handlers::preferences::show(self, &sender), Action::PreferencesChanged(preferences) => { |