mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-13 19:49:51 +01:00
Communicate streams that went offline through /live (#2880)
Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
This commit is contained in:
parent
f605221042
commit
74960bf419
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
- Major: Added username autocompletion popup menu when typing usernames with an @ prefix. (#1979, #2866)
|
- Major: Added username autocompletion popup menu when typing usernames with an @ prefix. (#1979, #2866)
|
||||||
- Major: Added ability to toggle visibility of Channel Tabs - This can be done by right-clicking the tab area or pressing the keyboard shortcut (default: Ctrl+U). (#2600)
|
- Major: Added ability to toggle visibility of Channel Tabs - This can be done by right-clicking the tab area or pressing the keyboard shortcut (default: Ctrl+U). (#2600)
|
||||||
|
- Minor: The /live split now shows channels going offline. (#2880)
|
||||||
- Minor: Restore automod functionality for moderators (#2817, #2887)
|
- Minor: Restore automod functionality for moderators (#2817, #2887)
|
||||||
- Minor: Add setting for username style (#2889, #2891)
|
- Minor: Add setting for username style (#2889, #2891)
|
||||||
- Minor: Searching for users in the viewer list now searches anywhere in the user's name. (#2861)
|
- Minor: Searching for users in the viewer list now searches anywhere in the user's name. (#2861)
|
||||||
|
|
|
@ -607,10 +607,32 @@ void TwitchChannel::setLive(bool newLiveStatus)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// Channel offline message
|
||||||
MessageBuilder builder;
|
MessageBuilder builder;
|
||||||
TwitchMessageBuilder::offlineSystemMessage(
|
TwitchMessageBuilder::offlineSystemMessage(
|
||||||
this->getDisplayName(), &builder);
|
this->getDisplayName(), &builder);
|
||||||
this->addMessage(builder.release());
|
this->addMessage(builder.release());
|
||||||
|
|
||||||
|
// "delete" old 'CHANNEL is live' message
|
||||||
|
LimitedQueueSnapshot<MessagePtr> snapshot =
|
||||||
|
getApp()->twitch2->liveChannel->getMessageSnapshot();
|
||||||
|
int snapshotLength = snapshot.size();
|
||||||
|
|
||||||
|
// MSVC hates this code if the parens are not there
|
||||||
|
int end = (std::max)(0, snapshotLength - 200);
|
||||||
|
auto liveMessageSearchText =
|
||||||
|
QString("%1 is live!").arg(this->getDisplayName());
|
||||||
|
|
||||||
|
for (int i = snapshotLength - 1; i >= end; --i)
|
||||||
|
{
|
||||||
|
auto &s = snapshot[i];
|
||||||
|
|
||||||
|
if (s->messageText == liveMessageSearchText)
|
||||||
|
{
|
||||||
|
s->flags.set(MessageFlag::Disabled);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
guard->live = newLiveStatus;
|
guard->live = newLiveStatus;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1309,6 +1309,9 @@ void TwitchMessageBuilder::liveMessage(const QString &channelName,
|
||||||
->setLink({Link::UserInfo, channelName});
|
->setLink({Link::UserInfo, channelName});
|
||||||
builder->emplace<TextElement>("is live!", MessageElementFlag::Text,
|
builder->emplace<TextElement>("is live!", MessageElementFlag::Text,
|
||||||
MessageColor::Text);
|
MessageColor::Text);
|
||||||
|
auto text = channelName + " is live!";
|
||||||
|
builder->message().searchText = text;
|
||||||
|
builder->message().messageText = text;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TwitchMessageBuilder::liveSystemMessage(const QString &channelName,
|
void TwitchMessageBuilder::liveSystemMessage(const QString &channelName,
|
||||||
|
|
Loading…
Reference in a new issue