Forward roster key events to room when focused

This commit is contained in:
FIGBERT 2023-03-18 00:30:23 -07:00
parent dc5632e946
commit 0af8d507e1
No known key found for this signature in database
GPG key ID: 67F1598D607A844B

View file

@ -192,6 +192,18 @@ func (rstr *RosterView) OnKeyEvent(event mauview.KeyEvent) bool {
Ch: event.Rune(),
Mod: event.Modifiers(),
}
if rstr.focused {
if rstr.parent.config.Keybindings.Roster[kb] == "clear" {
rstr.focused = false
rstr.selected = nil
} else {
if roomView, ok := rstr.parent.getRoomView(rstr.selected.ID, true); ok {
return roomView.OnKeyEvent(event)
}
}
}
switch rstr.parent.config.Keybindings.Roster[kb] {
case "next_room":
if index := rstr.index(rstr.selected); index == -1 || index == len(rstr.rooms)-1 {
@ -206,7 +218,6 @@ func (rstr *RosterView) OnKeyEvent(event mauview.KeyEvent) bool {
rstr.selected = rstr.rooms[index-1]
}
case "clear":
rstr.focused = false
rstr.selected = nil
case "quit":
rstr.parent.gmx.Stop(true)