#include "widgets/dialogs/UserInfoPopup.hpp" #include "Application.hpp" #include "common/Channel.hpp" #include "common/Literals.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 "controllers/userdata/UserDataController.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/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/FormatTime.hpp" #include "util/Helpers.hpp" #include "util/LayoutCreator.hpp" #include "util/PostToThread.hpp" #include "widgets/buttons/LabelButton.hpp" #include "widgets/buttons/PixmapButton.hpp" #include "widgets/dialogs/EditUserNotesDialog.hpp" #include "widgets/helper/ChannelView.hpp" #include "widgets/helper/InvisibleSizeGrip.hpp" #include "widgets/helper/Line.hpp" #include "widgets/helper/LiveIndicator.hpp" #include "widgets/helper/ScalingSpacerItem.hpp" #include "widgets/Label.hpp" #include "widgets/Notebook.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, PixmapButton **copyButton = nullptr) { auto label = box.emplace