#include "widgets/dialogs/UserInfoPopup.hpp" #include "Application.hpp" #include "common/Channel.hpp" #include "common/Literals.hpp" #include "common/network/NetworkRequest.hpp" #include "common/QLogging.hpp" #include "controllers/accounts/AccountController.hpp" #include "controllers/commands/CommandController.hpp" #include "controllers/highlights/HighlightBlacklistUser.hpp" #include "controllers/hotkeys/HotkeyController.hpp" #include "messages/Message.hpp" #include "messages/MessageBuilder.hpp" #include "providers/IvrApi.hpp" #include "providers/pronouns/Pronouns.hpp" #include "providers/twitch/api/Helix.hpp" #include "providers/twitch/ChannelPointReward.hpp" #include "providers/twitch/TwitchAccount.hpp" #include "providers/twitch/TwitchChannel.hpp" #include "providers/twitch/TwitchIrcServer.hpp" #include "singletons/Resources.hpp" #include "singletons/Settings.hpp" #include "singletons/StreamerMode.hpp" #include "singletons/Theme.hpp" #include "singletons/WindowManager.hpp" #include "util/Clipboard.hpp" #include "util/Helpers.hpp" #include "util/LayoutCreator.hpp" #include "util/PostToThread.hpp" #include "widgets/helper/ChannelView.hpp" #include "widgets/helper/EffectLabel.hpp" #include "widgets/helper/InvisibleSizeGrip.hpp" #include "widgets/helper/Line.hpp" #include "widgets/Label.hpp" #include "widgets/Scrollbar.hpp" #include "widgets/splits/Split.hpp" #include "widgets/Window.hpp" #include #include #include #include #include #include #include #include namespace { constexpr QStringView TEXT_FOLLOWERS = u"Followers: %1"; constexpr QStringView TEXT_CREATED = u"Created: %1"; constexpr QStringView TEXT_TITLE = u"%1's Usercard - #%2"; constexpr QStringView TEXT_USER_ID = u"ID: "; constexpr QStringView TEXT_UNAVAILABLE = u"(not available)"; constexpr QStringView TEXT_PRONOUNS = u"Pronouns: %1"; constexpr QStringView TEXT_UNSPECIFIED = u"(unspecified)"; constexpr QStringView TEXT_LOADING = u"(loading...)"; using namespace chatterino; Label *addCopyableLabel(LayoutCreator box, const char *tooltip, Button **copyButton = nullptr) { auto label = box.emplace