From 3f4e9cdf915f483b602146e630ffacaea1be51e2 Mon Sep 17 00:00:00 2001 From: fourtf Date: Tue, 4 Sep 2018 20:09:06 +0200 Subject: [PATCH] added text for empty categories in emote popup --- src/widgets/dialogs/EmotePopup.cpp | 26 +++++++++++++++++++++----- src/widgets/splits/SplitHeader.cpp | 4 ++-- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/widgets/dialogs/EmotePopup.cpp b/src/widgets/dialogs/EmotePopup.cpp index 2fe6bb28..e0459570 100644 --- a/src/widgets/dialogs/EmotePopup.cpp +++ b/src/widgets/dialogs/EmotePopup.cpp @@ -29,11 +29,17 @@ namespace { builder->flags.set(MessageFlag::Centered); builder->flags.set(MessageFlag::DisableCompactEmotes); - for (const auto &emote : map) { - builder - .emplace(emote.second, - MessageElementFlag::AlwaysShow) - ->setLink(Link(Link::InsertText, emote.first.string)); + if (!map.empty()) { + for (const auto &emote : map) { + builder + .emplace(emote.second, + MessageElementFlag::AlwaysShow) + ->setLink(Link(Link::InsertText, emote.first.string)); + } + } else { + builder.emplace("no emotes available", + MessageElementFlag::Text, + MessageColor::System); } return builder.release(); @@ -139,6 +145,16 @@ void EmotePopup::loadChannel(ChannelPtr _channel) this->globalEmotesView_->setChannel(globalChannel); this->subEmotesView_->setChannel(subChannel); this->channelEmotesView_->setChannel(channelChannel); + + if (subChannel->getMessageSnapshot().getLength() == 0) { + MessageBuilder builder; + builder->flags.set(MessageFlag::Centered); + builder->flags.set(MessageFlag::DisableCompactEmotes); + builder.emplace("no subscription emotes available", + MessageElementFlag::Text, + MessageColor::System); + subChannel->addMessage(builder.release()); + } } void EmotePopup::loadEmojis() diff --git a/src/widgets/splits/SplitHeader.cpp b/src/widgets/splits/SplitHeader.cpp index 0f8b0861..53f64e50 100644 --- a/src/widgets/splits/SplitHeader.cpp +++ b/src/widgets/splits/SplitHeader.cpp @@ -173,9 +173,9 @@ void SplitHeader::initializeLayout() std::unique_ptr SplitHeader::createMainMenu() { auto menu = std::make_unique(); - menu->addAction("New split", this->split_, &Split::addSibling, + menu->addAction("Add new", this->split_, &Split::addSibling, QKeySequence("Ctrl+T")); - menu->addAction("Close split", this->split_, &Split::deleteFromContainer, + menu->addAction("Close", this->split_, &Split::deleteFromContainer, QKeySequence("Ctrl+W")); menu->addAction("Change channel", this->split_, &Split::changeChannel, QKeySequence("Ctrl+R"));