add Cmd+[ Cmd+] shortcuts on Mac

This commit is contained in:
Drew Weymouth
2023-03-22 17:26:17 -07:00
parent 2f1ef07deb
commit e17498d267
3 changed files with 39 additions and 15 deletions
+16 -13
View File
@@ -15,10 +15,8 @@ import (
) )
var ( var (
ShortcutBack = desktop.CustomShortcut{KeyName: fyne.KeyLeft, Modifier: os.AltModifier} ShortcutReload = desktop.CustomShortcut{KeyName: fyne.KeyR, Modifier: os.ControlModifier}
ShortcutForward = desktop.CustomShortcut{KeyName: fyne.KeyRight, Modifier: os.AltModifier} ShortcutSearch = desktop.CustomShortcut{KeyName: fyne.KeyF, Modifier: os.ControlModifier}
ShortcutReload = desktop.CustomShortcut{KeyName: fyne.KeyR, Modifier: os.ControlModifier}
ShortcutSearch = desktop.CustomShortcut{KeyName: fyne.KeyF, Modifier: os.ControlModifier}
ShortcutNavOne = desktop.CustomShortcut{KeyName: fyne.Key1, Modifier: os.ControlModifier} ShortcutNavOne = desktop.CustomShortcut{KeyName: fyne.Key1, Modifier: os.ControlModifier}
ShortcutNavTwo = desktop.CustomShortcut{KeyName: fyne.Key2, Modifier: os.ControlModifier} ShortcutNavTwo = desktop.CustomShortcut{KeyName: fyne.Key2, Modifier: os.ControlModifier}
@@ -118,15 +116,20 @@ func (m *MainWindow) addNavigationButtons() {
} }
func (m *MainWindow) addShortcuts() { func (m *MainWindow) addShortcuts() {
m.Canvas().AddShortcut(&ShortcutBack, func(_ fyne.Shortcut) { for _, sh := range os.BackShortcuts {
m.BrowsingPane.GoBack() m.Canvas().AddShortcut(&sh, func(_ fyne.Shortcut) {
// TODO: reset focus only if something inside the page had focus m.BrowsingPane.GoBack()
m.Canvas().Focus(nil) // TODO: reset focus only if something inside the page had focus
}) m.Canvas().Focus(nil)
m.Canvas().AddShortcut(&ShortcutForward, func(_ fyne.Shortcut) { })
m.BrowsingPane.GoForward() }
m.Canvas().Focus(nil) for _, sh := range os.ForwardShortcuts {
}) m.Canvas().AddShortcut(&sh, func(_ fyne.Shortcut) {
m.BrowsingPane.GoForward()
m.Canvas().Focus(nil)
})
}
m.Canvas().AddShortcut(&ShortcutReload, func(_ fyne.Shortcut) { m.Canvas().AddShortcut(&ShortcutReload, func(_ fyne.Shortcut) {
m.BrowsingPane.Reload() m.BrowsingPane.Reload()
}) })
+13 -1
View File
@@ -4,9 +4,21 @@ package os
import ( import (
"fyne.io/fyne/v2" "fyne.io/fyne/v2"
"fyne.io/fyne/v2/driver/desktop"
) )
var ( const (
ControlModifier = fyne.KeyModifierSuper ControlModifier = fyne.KeyModifierSuper
AltModifier = fyne.KeyModifierSuper AltModifier = fyne.KeyModifierSuper
) )
var (
BackShortcuts = []desktop.CustomShortcut{
{Modifier: fyne.KeyModifierSuper, KeyName: fyne.KeyLeft},
{Modifier: fyne.KeyModifierSuper, KeyName: fyne.KeyLeftBracket},
}
ForwardShortcuts = []desktop.CustomShortcut{
{Modifier: fyne.KeyModifierSuper, KeyName: fyne.KeyRight},
{Modifier: fyne.KeyModifierSuper, KeyName: fyne.KeyRightBracket},
}
)
+10 -1
View File
@@ -4,7 +4,16 @@ package os
import "fyne.io/fyne/v2" import "fyne.io/fyne/v2"
var ( const (
ControlModifier = fyne.KeyModifierControl ControlModifier = fyne.KeyModifierControl
AltModifier = fyne.KeyModifierAlt AltModifier = fyne.KeyModifierAlt
) )
var (
BackShortcuts = []desktop.CustomShortcut{
{Modifier: fyne.KeyModifierAlt, KeyName: fyne.KeyLeft},
}
ForwardShortcuts = []desktop.CustomShortcut{
{Modifier: fyne.KeyModifierAlt, KeyName: fyne.KeyRight},
}
)