mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-13 19:49:51 +01:00
Show system message when reloading subscriber emotes (#3135)
Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
This commit is contained in:
parent
d0d32583a2
commit
6151cd5b05
|
@ -3,6 +3,7 @@
|
|||
## Unversioned
|
||||
|
||||
- Minor: Remove TwitchEmotes.com attribution and the open/copy options when right-clicking a Twitch Emote. (#2214, #3136)
|
||||
- Minor: Display a system message when reloading subscription emotes to match BTTV/FFZ behavior (#3135)
|
||||
- Bugfix: Moderation mode and active filters are now preserved when opening a split as a popup. (#3113, #3130)
|
||||
- Bugfix: Fixed a bug that caused all badge highlights to use the same color. (#3132, #3134)
|
||||
- Dev: Renamed CMake's build option `USE_SYSTEM_QT5KEYCHAIN` to `USE_SYSTEM_QTKEYCHAIN`. (#3103)
|
||||
|
|
|
@ -198,7 +198,7 @@ SharedAccessGuard<const std::set<QString>> TwitchAccount::accessBlockedUserIds()
|
|||
return this->ignoresUserIds_.accessConst();
|
||||
}
|
||||
|
||||
void TwitchAccount::loadEmotes()
|
||||
void TwitchAccount::loadEmotes(std::weak_ptr<Channel> weakChannel)
|
||||
{
|
||||
qCDebug(chatterinoTwitch)
|
||||
<< "Loading Twitch emotes for user" << this->getUserName();
|
||||
|
@ -220,9 +220,14 @@ void TwitchAccount::loadEmotes()
|
|||
// TODO(zneix): Once Helix adds Get User Emotes we could remove this hacky solution
|
||||
// For now, this is necessary as Kraken's equivalent doesn't return all emotes
|
||||
// See: https://twitch.uservoice.com/forums/310213-developers/suggestions/43599900
|
||||
this->loadUserstateEmotes([=] {
|
||||
this->loadUserstateEmotes([this, weakChannel] {
|
||||
// Fill up emoteData with emote sets that were returned in a Kraken call, but aren't present in emoteData.
|
||||
this->loadKrakenEmotes();
|
||||
if (auto channel = weakChannel.lock(); channel != nullptr)
|
||||
{
|
||||
channel->addMessage(
|
||||
makeSystemMessage("Twitch subscriber emotes reloaded."));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -111,7 +111,7 @@ public:
|
|||
SharedAccessGuard<const std::set<QString>> accessBlockedUserIds() const;
|
||||
SharedAccessGuard<const std::set<TwitchUser>> accessBlocks() const;
|
||||
|
||||
void loadEmotes();
|
||||
void loadEmotes(std::weak_ptr<Channel> weakChannel = {});
|
||||
// loadUserstateEmotes loads emote sets that are part of the USERSTATE emote-sets key
|
||||
// this function makes sure not to load emote sets that have already been loaded
|
||||
void loadUserstateEmotes(std::function<void()> callback);
|
||||
|
|
|
@ -870,8 +870,8 @@ void Split::showSearch()
|
|||
|
||||
void Split::reloadChannelAndSubscriberEmotes()
|
||||
{
|
||||
getApp()->accounts->twitch.getCurrent()->loadEmotes();
|
||||
auto channel = this->getChannel();
|
||||
getApp()->accounts->twitch.getCurrent()->loadEmotes(channel);
|
||||
|
||||
if (auto twitchChannel = dynamic_cast<TwitchChannel *>(channel.get()))
|
||||
{
|
||||
|
|
|
@ -916,10 +916,6 @@ void SplitHeader::themeChangedEvent()
|
|||
}
|
||||
}
|
||||
|
||||
void SplitHeader::moveSplit()
|
||||
{
|
||||
}
|
||||
|
||||
void SplitHeader::reloadChannelEmotes()
|
||||
{
|
||||
auto channel = this->split_->getChannel();
|
||||
|
@ -933,7 +929,8 @@ void SplitHeader::reloadChannelEmotes()
|
|||
|
||||
void SplitHeader::reloadSubscriberEmotes()
|
||||
{
|
||||
getApp()->accounts->twitch.getCurrent()->loadEmotes();
|
||||
auto channel = this->split_->getChannel();
|
||||
getApp()->accounts->twitch.getCurrent()->loadEmotes(channel);
|
||||
}
|
||||
|
||||
void SplitHeader::reconnect()
|
||||
|
|
|
@ -85,7 +85,6 @@ private:
|
|||
std::vector<pajlada::Signals::ScopedConnection> channelConnections_;
|
||||
|
||||
public slots:
|
||||
void moveSplit();
|
||||
void reloadChannelEmotes();
|
||||
void reloadSubscriberEmotes();
|
||||
void reconnect();
|
||||
|
|
Loading…
Reference in a new issue