add Ctrl+(num) shortcuts for the navigation buttons

This commit is contained in:
Drew Weymouth
2023-02-20 16:53:20 -08:00
parent c9cd0922ea
commit ba25e432c8
2 changed files with 25 additions and 0 deletions
+7
View File
@@ -123,6 +123,13 @@ func (b *BrowsingPane) EnableNavigationButtons() {
}
}
func (b *BrowsingPane) ActivateNavigationButton(num int) {
if num < len(b.navBtnsContainer.Objects) {
btn := b.navBtnsContainer.Objects[num].(*widget.Button)
btn.OnTapped()
}
}
func (b *BrowsingPane) GetSearchBarIfAny() fyne.Focusable {
if s, ok := b.curPage.(Searchable); ok {
return s.SearchWidget()
+18
View File
@@ -18,6 +18,16 @@ var (
ShortcutForward = desktop.CustomShortcut{KeyName: fyne.KeyRight, Modifier: os.AltModifier}
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}
ShortcutNavTwo = desktop.CustomShortcut{KeyName: fyne.Key2, Modifier: os.ControlModifier}
ShortcutNavThree = desktop.CustomShortcut{KeyName: fyne.Key3, Modifier: os.ControlModifier}
ShortcutNavFour = desktop.CustomShortcut{KeyName: fyne.Key4, Modifier: os.ControlModifier}
ShortcutNavFive = desktop.CustomShortcut{KeyName: fyne.Key5, Modifier: os.ControlModifier}
ShortcutNavSix = desktop.CustomShortcut{KeyName: fyne.Key6, Modifier: os.ControlModifier}
NavShortcuts = []desktop.CustomShortcut{ShortcutNavOne, ShortcutNavTwo, ShortcutNavThree,
ShortcutNavFour, ShortcutNavFive, ShortcutNavSix}
)
type MainWindow struct {
@@ -120,6 +130,14 @@ func (m *MainWindow) addShortcuts() {
m.BrowsingPane.SelectAll()
})
for i, ns := range NavShortcuts {
m.Canvas().AddShortcut(&ns, func(i int) func(fyne.Shortcut) {
return func(fyne.Shortcut) {
m.BrowsingPane.ActivateNavigationButton(i)
}
}(i))
}
m.Canvas().SetOnTypedKey(func(e *fyne.KeyEvent) {
if e.Name == fyne.KeySpace {
m.App.Player.PlayPause()