add ctrl/cmd+F shortcut to focus search entry

This commit is contained in:
Drew Weymouth
2023-01-19 18:15:37 -08:00
parent e04b4d1902
commit 85548a0d84
6 changed files with 54 additions and 13 deletions
+10 -13
View File
@@ -1,7 +1,6 @@
package ui
import (
"runtime"
"supersonic/backend"
"supersonic/res"
"supersonic/ui/browsing"
@@ -15,10 +14,9 @@ import (
)
var (
ShortcutBack = desktop.CustomShortcut{KeyName: fyne.KeyLeft, Modifier: fyne.KeyModifierAlt}
ShortcutBackDarwin = desktop.CustomShortcut{KeyName: fyne.KeyLeft, Modifier: fyne.KeyModifierSuper}
ShortcutForward = desktop.CustomShortcut{KeyName: fyne.KeyRight, Modifier: fyne.KeyModifierAlt}
ShortcutForwardDarwin = desktop.CustomShortcut{KeyName: fyne.KeyRight, Modifier: fyne.KeyModifierSuper}
ShortcutBack = desktop.CustomShortcut{KeyName: fyne.KeyLeft, Modifier: AltModifier}
ShortcutForward = desktop.CustomShortcut{KeyName: fyne.KeyRight, Modifier: AltModifier}
ShortcutSearch = desktop.CustomShortcut{KeyName: fyne.KeyF, Modifier: ControlModifier}
)
type MainWindow struct {
@@ -88,18 +86,17 @@ func (m *MainWindow) addNavigationButtons() {
}
func (m *MainWindow) addShortcuts() {
back := &ShortcutBack
fwd := &ShortcutForward
if runtime.GOOS == "darwin" {
back = &ShortcutBackDarwin
fwd = &ShortcutForwardDarwin
}
m.Canvas().AddShortcut(back, func(_ fyne.Shortcut) {
m.Canvas().AddShortcut(&ShortcutBack, func(_ fyne.Shortcut) {
m.BrowsingPane.GoBack()
})
m.Canvas().AddShortcut(fwd, func(_ fyne.Shortcut) {
m.Canvas().AddShortcut(&ShortcutForward, func(_ fyne.Shortcut) {
m.BrowsingPane.GoForward()
})
m.Canvas().AddShortcut(&ShortcutSearch, func(_ fyne.Shortcut) {
if s := m.BrowsingPane.GetSearchBarIfAny(); s != nil {
m.Window.Canvas().Focus(s)
}
})
m.Canvas().SetOnTypedKey(func(e *fyne.KeyEvent) {
if e.Name == fyne.KeySpace {