feat: add Go to message action in various places (#3953)

* feat: add `Go to message` action in search popup

* chore: add changelog entry

* fix: only scroll if the scrollbar is shown

* fix: go to message when view isn't focused

* feat: animate highlighted message

* fix: missing includes

* fix: order of initialization

* fix: add `ChannelView::mayContainMessage` to filter messages

* feat: add `Go to message` action in `/mentions`

* fix: ignore any mentions channel when searching for split

* feat: add `Go to message` action in reply-threads

* fix: remove redundant `source` parameter

* feat: add `Go to message` action in user-cards

* feat: add link to deleted message

* fix: set current time to 0 when starting animation

* chore: update changelog

* fix: add default case (unreachable)

* chore: removed unused variable

* fix: search in mentions

* fix: always attempt to focus split

* fix: rename `Link::MessageId` to `Link::JumpToMessage`

* fix: rename `selectAndScrollToMessage` to `scrollToMessage`

* fix: rename internal `scrollToMessage` to `scrollToMessageLayout`

* fix: deleted message link in search popup

* chore: reword explanation

* fix: use for-loop instead of `std::find_if`

* refactor: define highlight colors in `BaseTheme`

* core: replace `iff` with `if`

* fix: only return if the message found

* Reword/phrase/dot changelog entries

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
This commit is contained in:
nerix
2022-09-11 16:37:13 +02:00
committed by GitHub
parent 5655a7d718
commit be72d73c3d
14 changed files with 344 additions and 12 deletions
+16 -11
View File
@@ -1471,15 +1471,17 @@ void TwitchMessageBuilder::deletionMessage(const MessagePtr originalMessage,
MessageColor::System);
if (originalMessage->messageText.length() > 50)
{
builder->emplace<TextElement>(
originalMessage->messageText.left(50) + "",
MessageElementFlag::Text, MessageColor::Text);
builder
->emplace<TextElement>(originalMessage->messageText.left(50) + "",
MessageElementFlag::Text, MessageColor::Text)
->setLink({Link::JumpToMessage, originalMessage->id});
}
else
{
builder->emplace<TextElement>(originalMessage->messageText,
MessageElementFlag::Text,
MessageColor::Text);
builder
->emplace<TextElement>(originalMessage->messageText,
MessageElementFlag::Text, MessageColor::Text)
->setLink({Link::JumpToMessage, originalMessage->id});
}
builder->message().timeoutUser = "msg:" + originalMessage->id;
}
@@ -1511,14 +1513,17 @@ void TwitchMessageBuilder::deletionMessage(const DeleteAction &action,
MessageColor::System);
if (action.messageText.length() > 50)
{
builder->emplace<TextElement>(action.messageText.left(50) + "",
MessageElementFlag::Text,
MessageColor::Text);
builder
->emplace<TextElement>(action.messageText.left(50) + "",
MessageElementFlag::Text, MessageColor::Text)
->setLink({Link::JumpToMessage, action.messageId});
}
else
{
builder->emplace<TextElement>(
action.messageText, MessageElementFlag::Text, MessageColor::Text);
builder
->emplace<TextElement>(action.messageText, MessageElementFlag::Text,
MessageColor::Text)
->setLink({Link::JumpToMessage, action.messageId});
}
builder->message().timeoutUser = "msg:" + action.messageId;
}