Redesign default tree controls

This commit is contained in:
Storm Dragon
2026-09-05 00:34:40 -04:00
parent db2d441dfc
commit ef19a558d2
7 changed files with 160 additions and 31 deletions
+14 -2
View File
@@ -253,6 +253,17 @@ func (b *Barnard) StopTransmission() {
func (b *Barnard) TreeItemCharacter(ui *uiterm.Ui, tree *uiterm.Tree, item uiterm.TreeItem, ch rune) {
}
func matchesVolumeResetKey(configured *uiterm.Key, pressed uiterm.Key) bool {
if configured == nil {
return false
}
if pressed == *configured {
return true
}
return (*configured == uiterm.KeyBackspace || *configured == uiterm.KeyBackspace2) &&
(pressed == uiterm.KeyBackspace || pressed == uiterm.KeyBackspace2)
}
func (b *Barnard) TreeItemKeyPress(ui *uiterm.Ui, tree *uiterm.Tree, item uiterm.TreeItem, key uiterm.Key) {
treeItem := item.(TreeItem)
if key == uiterm.KeyEnter {
@@ -310,8 +321,9 @@ func (b *Barnard) TreeItemKeyPress(ui *uiterm.Ui, tree *uiterm.Tree, item uiterm
if key == *b.Hotkeys.VolumeUp {
b.changeVolume(makeUsersArray(treeItem.Channel.Users), 0.1)
}
if key == *b.Hotkeys.VolumeReset {
if matchesVolumeResetKey(b.Hotkeys.VolumeReset, key) {
b.resetVolume(makeUsersArray(treeItem.Channel.Users))
b.setChannelMuted(treeItem.Channel.ID, false)
}
}
@@ -331,7 +343,7 @@ func (b *Barnard) TreeItemKeyPress(ui *uiterm.Ui, tree *uiterm.Tree, item uiterm
if key == *b.Hotkeys.VolumeUp {
b.changeVolume([]*gumble.User{treeItem.User}, 0.1)
}
if key == *b.Hotkeys.VolumeReset {
if matchesVolumeResetKey(b.Hotkeys.VolumeReset, key) {
b.resetVolume([]*gumble.User{treeItem.User})
}
}