diff --git a/ui/mainwindow.go b/ui/mainwindow.go index 0baec49..272b271 100644 --- a/ui/mainwindow.go +++ b/ui/mainwindow.go @@ -126,11 +126,7 @@ func NewMainWindow(fyneApp fyne.App, appName, displayAppName, appVersion string, } }() }) - m.BrowsingPane.AddSettingsMenuItem("Settings...", func() { - m.Controller.ShowSettingsDialog(func() { - fyneApp.Settings().SetTheme(m.theme) - }, m.theme.ListThemeFiles()) - }) + m.BrowsingPane.AddSettingsMenuItem("Settings...", m.showSettingsDialog) m.BrowsingPane.AddSettingsMenuItem("About...", m.Controller.ShowAboutDialog) m.addNavigationButtons() m.BrowsingPane.DisableNavigationButtons() @@ -240,6 +236,11 @@ func (m *MainWindow) addShortcuts() { m.Canvas().Focus(nil) }) } + if os.SettingsShortcut != nil { + m.Canvas().AddShortcut(os.SettingsShortcut, func(_ fyne.Shortcut) { + m.showSettingsDialog() + }) + } m.Canvas().AddShortcut(&ShortcutReload, func(_ fyne.Shortcut) { m.BrowsingPane.Reload() @@ -276,6 +277,12 @@ func (m *MainWindow) addShortcuts() { }) } +func (m *MainWindow) showSettingsDialog() { + m.Controller.ShowSettingsDialog(func() { + fyne.CurrentApp().Settings().SetTheme(m.theme) + }, m.theme.ListThemeFiles()) +} + func (m *MainWindow) Show() { m.Window.Show() } diff --git a/ui/os/keymodifiers_darwin.go b/ui/os/shortcuts_darwin.go similarity index 84% rename from ui/os/keymodifiers_darwin.go rename to ui/os/shortcuts_darwin.go index b25f262..d1c7369 100644 --- a/ui/os/keymodifiers_darwin.go +++ b/ui/os/shortcuts_darwin.go @@ -21,4 +21,5 @@ var ( {Modifier: fyne.KeyModifierSuper, KeyName: fyne.KeyRight}, {Modifier: fyne.KeyModifierSuper, KeyName: fyne.KeyRightBracket}, } + SettingsShortcut = &desktop.CustomShortcut{Modifier: fyne.KeyModifierSuper, KeyName: fyne.KeyComma} ) diff --git a/ui/os/keymodifiers_default.go b/ui/os/shortcuts_default.go similarity index 80% rename from ui/os/keymodifiers_default.go rename to ui/os/shortcuts_default.go index a272789..3bcc331 100644 --- a/ui/os/keymodifiers_default.go +++ b/ui/os/shortcuts_default.go @@ -19,4 +19,5 @@ var ( ForwardShortcuts = []desktop.CustomShortcut{ {Modifier: fyne.KeyModifierAlt, KeyName: fyne.KeyRight}, } + SettingsShortcut *desktop.CustomShortcut = nil // TODO: is there a platform standard for Win/Linux? )