Fix mouse highlights not handled (#75)

This commit is contained in:
ayntgl 2021-10-16 13:07:20 +04:00 • committed by GitHub
parent 3ef4574e03
commit 97ac92301c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

48
ui.go
View file

@ -249,20 +249,17 @@ func onMessagesViewInputCapture(e *tcell.EventKey) *tcell.EventKey {
if len(messagesView.GetHighlights()) == 0 {
selectedMessage = len(ms)
messagesView.
Highlight(ms[selectedMessage-1].ID).
ScrollToHighlight()
} else {
selectedMessage--
if selectedMessage < 1 {
selectedMessage = 1
}
messagesView.
Highlight(ms[selectedMessage-1].ID).
ScrollToHighlight()
}
messagesView.
Highlight(ms[selectedMessage-1].ID).
ScrollToHighlight()
return nil
case conf.Keybindings.MessagesView.SelectNext:
ms := selectedChannel.Messages
@ -272,20 +269,17 @@ func onMessagesViewInputCapture(e *tcell.EventKey) *tcell.EventKey {
if len(messagesView.GetHighlights()) == 0 {
selectedMessage = len(ms)
messagesView.
Highlight(ms[selectedMessage-1].ID).
ScrollToHighlight()
} else {
selectedMessage++
if selectedMessage > len(ms) {
selectedMessage = len(ms)
}
messagesView.
Highlight(ms[selectedMessage-1].ID).
ScrollToHighlight()
}
messagesView.
Highlight(ms[selectedMessage-1].ID).
ScrollToHighlight()
return nil
case conf.Keybindings.MessagesView.SelectFirst:
ms := selectedChannel.Messages
@ -313,9 +307,18 @@ func onMessagesViewInputCapture(e *tcell.EventKey) *tcell.EventKey {
return nil
}
messageInputField.SetTitle(
"Replying to " + ms[selectedMessage-1].Author.Username,
)
hs := messagesView.GetHighlights()
if len(hs) == 0 {
return nil
}
for i, m := range ms {
if m.ID == hs[0] {
selectedMessage = i + 1
}
}
messageInputField.SetTitle("Replying to " + ms[selectedMessage-1].Author.Username)
app.SetFocus(messageInputField)
case conf.Keybindings.MessagesView.ReplyMention:
ms := selectedChannel.Messages
@ -323,6 +326,17 @@ func onMessagesViewInputCapture(e *tcell.EventKey) *tcell.EventKey {
return nil
}
hs := messagesView.GetHighlights()
if len(hs) == 0 {
return nil
}
for i, m := range ms {
if m.ID == hs[0] {
selectedMessage = i + 1
}
}
messageInputField.SetTitle("[@] Replying to " + ms[selectedMessage-1].Author.Username)
app.SetFocus(messageInputField)
}