Chatterino
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
chatterino Namespace Reference

Namespaces

 _helpers_internal
 
 commands
 
 detail
 
 liveupdates
 
 mock
 
 rj
 

Classes

class  AB_SETTINGS_CLASS
 
class  AboutPage
 
class  AbstractIrcServer
 
class  AccessGuard
 
class  Account
 
class  AccountController
 
class  AccountModel
 
class  AccountsPage
 
class  AccountSwitchPopup
 
class  AccountSwitchWidget
 
struct  ActionDefinition
 
struct  ActionUser
 
class  AdvancedLoginWidget
 
class  Application
 
class  Args
 Command line arguments passed to Chatterino. More...
 
class  Atomic
 
class  AttachedWindow
 
class  AuthorPredicate
 MessagePredicate checking for the author/sender of a message. More...
 
struct  AutomodAction
 
struct  AutomodInfoAction
 
struct  AutomodUserAction
 
class  Badge
 
class  BadgeElement
 
class  BadgeHighlightModel
 
class  BadgePickerDialog
 
class  BadgePredicate
 MessagePredicate checking for the badges of a message. More...
 
class  Badges
 
struct  BanAction
 
class  BasePopup
 
class  BaseWidget
 
class  BaseWindow
 
class  BasicLoginWidget
 
class  BasicPubSubClient
 
struct  BasicPubSubConfig
 
class  BasicPubSubManager
 
class  BenchmarkGuard
 
class  BttvEmotes
 
class  Button
 
class  Channel
 
class  ChannelChatters
 
class  ChannelFilterEditorDialog
 
struct  ChannelPointReward
 
class  ChannelPredicate
 MessagePredicate checking for the channel a message was sent in. More...
 
class  ChannelView
 
class  ChatterinoBadges
 
struct  chatterinoconfig
 
class  ChatterinoSetting
 
class  ChatterSet
 
struct  CheerEmote
 
struct  CheerEmoteSet
 
class  CircularImageElement
 
struct  ClearChatAction
 
class  ClosedSplits
 
class  ColorButton
 
class  ColorPickerDialog
 A custom color picker dialog. More...
 
class  ColorProvider
 
class  ComboBox
 
class  ComboBoxItemDelegate
 
struct  Command
 
struct  CommandContext
 
class  CommandController
 
class  CommandModel
 
class  CommandPage
 
class  CompletionModel
 
class  ConcurrentMap
 
class  ConcurrentSettings
 Settings which are available for reading on all threads. More...
 
struct  ContainerNodeDescriptor
 
class  Credentials
 
class  DebugCount
 
class  DebugPopup
 
struct  DeleteAction
 
struct  DeleteLater
 
class  DescriptionLabel
 
class  DisplayBadge
 
struct  DoubleClickSelection
 
class  DownloadManager
 
class  DraggablePopup
 
struct  DropdownArgs
 
class  EditableModelView
 
class  EditHotkeyDialog
 
class  EffectLabel
 
class  EffectLabel2
 
struct  EmojiData
 
class  Emojis
 
struct  Emote
 
class  EmoteElement
 
class  EmoteMap
 
class  EmotePopup
 
class  Emotes
 
struct  EmoteValue
 
class  EmptyElement
 
class  EnumSetting
 
class  Env
 
class  Exception
 
class  ExponentialBackoff
 
class  ExternalToolsPage
 
struct  FailureTag
 
class  FfzBadgeElement
 
class  FfzBadges
 
class  FfzEmotes
 
class  FilterModel
 
class  FilterRecord
 
class  FilterSet
 
class  FiltersPage
 
class  FlagsEnum
 
class  Fonts
 
class  FramelessEmbedWindow
 
class  FunctionEventFilter
 
class  GeneralPage
 
class  GeneralPageView
 
class  GenericListItem
 
class  GenericListModel
 
class  GenericListView
 
class  GIFTimer
 
class  Helix
 
struct  HelixBlock
 
struct  HelixChannel
 
struct  HelixChannelEmote
 
struct  HelixChatSettings
 
struct  HelixChatters
 
struct  HelixCheermoteImage
 
struct  HelixCheermoteSet
 
struct  HelixCheermoteTier
 
struct  HelixClip
 
struct  HelixEmoteSetData
 
struct  HelixGame
 
struct  HelixModerators
 
struct  HelixStartCommercialResponse
 
struct  HelixStream
 
struct  HelixStreamMarker
 
struct  HelixUser
 
struct  HelixUsersFollowsRecord
 
struct  HelixUsersFollowsResponse
 
struct  HelixVip
 
class  HighlightBadge
 
class  HighlightBlacklistModel
 
class  HighlightBlacklistUser
 
struct  HighlightCheck
 
class  HighlightController
 
class  HighlightingPage
 
class  HighlightModel
 
class  HighlightPhrase
 
struct  HighlightResult
 
class  Hotkey
 
struct  HotkeyCategoryData
 
class  HotkeyController
 
class  HotkeyModel
 
class  IApplication
 
class  IEmotes
 
struct  IgnoredMessageParameters
 
class  IgnoreModel
 
class  IgnorePhrase
 
class  IgnoresPage
 
class  IHelix
 
class  Image
 This class is thread safe. More...
 
class  ImageElement
 
class  ImageExpirationPool
 
class  ImageLayoutElement
 
class  ImageSet
 
class  ImageWithBackgroundLayoutElement
 
class  ImageWithCircleBackgroundLayoutElement
 
class  IndirectChannel
 
class  InputCompletionItem
 
class  InputCompletionPopup
 
class  Irc
 
class  IrcChannel
 
class  IrcConnection
 
class  IrcConnectionEditor
 
class  IrcMessageBuilder
 
class  IrcMessageHandler
 
class  IrcServer
 
struct  IrcServerData
 
class  ITwitchEmotes
 
class  IUserDataController
 
class  IvrApi
 
struct  IvrEmote
 
struct  IvrEmoteSet
 
struct  IvrSubage
 
class  KeyboardSettingsPage
 
class  Label
 
class  LambdaRunnable
 
class  LastRunCrashDialog
 
class  LayoutCreator
 
class  LimitedQueue
 
class  LimitedQueueSnapshot
 
class  Line
 
class  LinebreakElement
 
struct  Link
 
class  LinkParser
 
class  LinkPredicate
 MessagePredicate checking whether a link exists in the message. More...
 
class  LinkResolver
 
struct  Listener
 
struct  LiveUpdatesAddEmoteMessageTag
 
struct  LiveUpdatesRemoveEmoteMessageTag
 
struct  LiveUpdatesUpdateEmoteMessageTag
 
struct  LiveUpdatesUpdateEmoteSetMessageTag
 
class  Logging
 
class  LoggingChannel
 
class  LoginDialog
 
struct  Margin
 
struct  Message
 
class  MessageBuilder
 
struct  MessageColor
 
class  MessageElement
 
class  MessageFlagsPredicate
 MessagePredicate checking for message flags. More...
 
class  MessageLayout
 
struct  MessageLayoutContainer
 
class  MessageLayoutElement
 
struct  MessageParseArgs
 
class  MessagePredicate
 Abstract base class for message predicates. More...
 
class  MessageThread
 
class  MockChannel
 
class  ModBadgeElement
 
struct  ModeChangedAction
 
class  ModerationAction
 
class  ModerationActionModel
 
class  ModerationPage
 
struct  ModerationStateAction
 
class  Modes
 
class  MutedChannelModel
 
class  NativeMessagingClient
 
class  NativeMessagingServer
 
class  NavigationLabel
 
struct  NetworkData
 
class  NetworkManager
 
class  NetworkRequest
 
class  NetworkRequester
 
class  NetworkResult
 
class  NetworkWorker
 
class  NewPopupItem
 
class  NewTabItem
 
class  Nickname
 
class  NicknamesModel
 
class  NicknamesPage
 
class  Notebook
 
class  NotebookButton
 
class  NotebookTab
 
class  NotificationController
 
class  NotificationModel
 
class  NotificationPage
 
class  NotificationPopup
 
class  NullablePtr
 
class  Outcome
 
struct  Overloaded
 
class  PageHeader
 
class  Paths
 
class  PubSub
 
struct  PubSubAction
 
struct  PubSubAutoModQueueMessage
 
struct  PubSubChatModeratorActionMessage
 
class  PubSubClient
 
struct  PubSubClientOptions
 Options to change the behaviour of the underlying websocket clients. More...
 
struct  PubSubCommunityPointsChannelV1Message
 
struct  PubSubListenMessage
 
struct  PubSubMessage
 
struct  PubSubMessageMessage
 
struct  PubSubUnlistenMessage
 
struct  PubSubWhisperMessage
 
class  QColorLuminancePicker
 
class  QColorPicker
 
class  QColSpinBox
 
class  QObjectRef
 
class  QualityPopup
 
class  QuickSwitcherPopup
 
class  RatelimitBucket
 
struct  RawImageData
 
class  RecentMessagesApi
 
class  RegExpItemDelegate
 
class  RegexPredicate
 MessagePredicate checking whether the message matches a given regex. More...
 
class  ReplyCurveElement
 
class  ReplyCurveLayoutElement
 
class  ReplyThreadPopup
 
class  ResizingTextEdit
 
class  ScalingImageElement
 
class  Scrollbar
 
class  ScrollbarHighlight
 
class  SearchPopup
 
class  SelectChannelDialog
 
class  SelectChannelFiltersDialog
 
struct  Selection
 
struct  SelectionItem
 
class  Settings
 Settings which are availlable for reading and writing on the gui thread. More...
 
class  SettingsDialog
 
class  SettingsDialogTab
 
class  SettingsPage
 
class  SeventvBadges
 
class  SeventvEmotes
 
class  SeventvEventAPI
 
class  SeventvEventAPIClient
 
struct  SeventvEventAPIDispatch
 
struct  SeventvEventAPIEmoteAddDispatch
 
struct  SeventvEventAPIEmoteRemoveDispatch
 
struct  SeventvEventAPIEmoteUpdateDispatch
 
struct  SeventvEventAPIMessage
 
struct  SeventvEventAPISubscription
 
struct  SeventvEventAPIUserConnectionUpdateDispatch
 
class  SharedMessageBuilder
 
struct  SharedPtrElementLess
 
class  SignalLabel
 
class  SignalVector
 
struct  SignalVectorItemEvent
 
class  SignalVectorModel
 
class  SingleLineTextElement
 
class  Singleton
 
class  Space
 
class  Split
 
class  SplitContainer
 
struct  SplitDescriptor
 
class  SplitHeader
 
class  SplitInput
 
struct  SplitNodeDescriptor
 
class  SplitNotebook
 
class  SplitOverlay
 
class  StreamView
 
class  SubstringPredicate
 MessagePredicate checking whether a substring exists in the message. More...
 
class  SubtierPredicate
 MessagePredicate checking for the badges of a message. More...
 
class  SubtitleLabel
 
struct  SuccessTag
 
class  SwitcherItemDelegate
 
class  SwitchSplitItem
 
struct  SystemMessageTag
 
struct  TabDescriptor
 
class  TextElement
 
class  TextIconLayoutElement
 
class  TextLayoutElement
 
class  Theme
 
struct  TimeoutMessageTag
 
class  TimestampElement
 
class  TitleBarButton
 
class  TitleLabel
 
class  Toasts
 
class  TooltipPreviewImage
 
class  TooltipWidget
 
struct  TopicData
 
class  TrimRegExpValidator
 
class  TwitchAccount
 
class  TwitchAccountManager
 
class  TwitchBadges
 
class  TwitchChannel
 
struct  TwitchEmoteOccurrence
 
class  TwitchEmotes
 
struct  TwitchEmoteSetResolverResponse
 
class  TwitchIrcServer
 
class  TwitchMessageBuilder
 
class  TwitchModerationElement
 
struct  TwitchUser
 
struct  UnbanAction
 
class  UniqueAccess
 
class  UpdateDialog
 
class  Updates
 
struct  UserData
 
class  UserDataController
 
class  UserHighlightModel
 
class  UserInfoPopup
 
class  Version
 
class  VipBadgeElement
 
class  WelcomeDialog
 
class  Window
 
struct  WindowDescriptor
 
class  WindowLayout
 
class  WindowManager
 

Typedefs

using MessagePtr = std::shared_ptr< const Message >
 
using MessageFlags = int64_t FlagsEnum< MessageFlag >
 
using ChannelPtr = std::shared_ptr< Channel >
 
using BoolSetting = ChatterinoSetting< bool >
 
using FloatSetting = ChatterinoSetting< float >
 
using DoubleSetting = ChatterinoSetting< double >
 
using IntSetting = ChatterinoSetting< int >
 
using StringSetting = ChatterinoSetting< std::string >
 
using QStringSetting = ChatterinoSetting< QString >
 
using ChatterSet = ChatterSet
 
template<typename T >
using QObjectPtr = std::unique_ptr< T, DeleteLater >
 
using NetworkSuccessCallback = std::function< Outcome(NetworkResult)>
 
using NetworkErrorCallback = std::function< void(NetworkResult)>
 
using NetworkReplyCreatedCallback = std::function< void(QNetworkReply *)>
 
using NetworkFinallyCallback = std::function< void()>
 
template<typename T >
using SharedAccessGuard = AccessGuard< const T, std::shared_lock< std::shared_mutex > >
 
using NodeDescriptor = std::variant< ContainerNodeDescriptor, SplitNodeDescriptor >
 
using FilterRecordPtr = std::shared_ptr< FilterRecord >
 
using FilterSetPtr = std::shared_ptr< FilterSet >
 
using Column = HighlightModel::Column
 
using ActionDefinitionMap = std::map< QString, ActionDefinition >
 
using ImagePtr = std::shared_ptr< Image >
 
using EmotePtr = std::shared_ptr< const Emote >
 
using EmoteIdMap = std::unordered_map< EmoteId, EmotePtr >
 
using WeakEmoteMap = std::unordered_map< EmoteName, std::weak_ptr< const Emote > >
 
using WeakEmoteIdMap = std::unordered_map< EmoteId, std::weak_ptr< const Emote > >
 
using MessageElementFlags = int64_t FlagsEnum< MessageElementFlag >
 
using MessageLayoutFlags = FlagsEnum< MessageLayoutFlag >
 
using MessageLayoutPtr = std::shared_ptr< MessageLayout >
 
using EmojiMap = ConcurrentMap< QString, std::shared_ptr< EmojiData > >
 
using IvrFailureCallback = std::function< void()>
 
template<typename... T>
using ResultCallback = std::function< void(T...)>
 
using SeventvActiveEmoteFlags = FlagsEnum< SeventvActiveEmoteFlag >
 
using SeventvEmoteFlags = FlagsEnum< SeventvEmoteFlag >
 
using HelixFailureCallback = std::function< void()>
 
using HelixModerator = HelixVip
 
using WebsocketClient = websocketpp::client< chatterinoconfig >
 
using WebsocketHandle = websocketpp::connection_hdl
 
using WebsocketErrorCode = websocketpp::lib::error_code
 
using SplitNode = SplitContainer::Node
 
using SplitDirection = SplitContainer::Direction
 
using LayoutItem = boost::variant< QWidget *, QLayoutItem * >
 
using WidgetOrLayout = boost::variant< QWidget *, QLayout * >
 
using AbstractSwitcherItem = GenericListItem
 
using QuickSwitcherModel = GenericListModel
 
using SteadyClock = std::chrono::steady_clock
 

Enumerations

enum  TimeoutStackStyle : int { TimeoutStackStyle::StackHard = 0, TimeoutStackStyle::DontStackBeyondUserMessage = 1, TimeoutStackStyle::DontStack = 2, TimeoutStackStyle::Default = DontStackBeyondUserMessage }
 
enum  HighlightState { None, HighlightState::Highlighted, HighlightState::NewMessage }
 
enum  CopyMode { CopyMode::Everything, CopyMode::EverythingButReplies, CopyMode::OnlyTextAndEmotes }
 
enum  NetworkRequestType {
  NetworkRequestType::Get, NetworkRequestType::Post, NetworkRequestType::Put, NetworkRequestType::Delete,
  NetworkRequestType::Patch
}
 
enum  ProviderId { ProviderId::Twitch, ProviderId::Irc }
 
enum  HotkeyCategory { HotkeyCategory::PopupWindow, HotkeyCategory::Split, HotkeyCategory::SplitInput, HotkeyCategory::Window }
 
enum  ShowIgnoredUsersMessages { ShowIgnoredUsersMessages::Never, ShowIgnoredUsersMessages::IfModerator, ShowIgnoredUsersMessages::IfBroadcaster }
 
enum  Platform : uint8_t { Platform::Twitch }
 
enum  MessageLayoutFlag : uint8_t {
  MessageLayoutFlag::RequiresBufferUpdate = 1 << 1, MessageLayoutFlag::RequiresLayout = 1 << 2, MessageLayoutFlag::AlternateBackground = 1 << 3, MessageLayoutFlag::Collapsed = 1 << 4,
  MessageLayoutFlag::Expanded = 1 << 5, MessageLayoutFlag::IgnoreHighlights = 1 << 6
}
 
enum  FirstWord { FirstWord::Neutral, FirstWord::RTL, FirstWord::LTR }
 
enum  MessageFlag : int64_t {
  None = 0LL, MessageFlag::System = (1LL << 0), MessageFlag::Timeout = (1LL << 1), MessageFlag::Highlighted = (1LL << 2),
  MessageFlag::DoNotTriggerNotification = (1LL << 3), MessageFlag::Centered = (1LL << 4), Disabled = (1LL << 5), MessageFlag::DisableCompactEmotes = (1LL << 6),
  MessageFlag::Collapsed = (1LL << 7), MessageFlag::ConnectedMessage = (1LL << 8), MessageFlag::DisconnectedMessage = (1LL << 9), MessageFlag::Untimeout = (1LL << 10),
  MessageFlag::PubSub = (1LL << 11), MessageFlag::Subscription = (1LL << 12), MessageFlag::DoNotLog = (1LL << 13), MessageFlag::AutoMod = (1LL << 14),
  MessageFlag::RecentMessage = (1LL << 15), MessageFlag::Whisper = (1LL << 16), MessageFlag::HighlightedWhisper = (1LL << 17), MessageFlag::Debug = (1LL << 18),
  MessageFlag::Similar = (1LL << 19), MessageFlag::RedeemedHighlight = (1LL << 20), MessageFlag::RedeemedChannelPointReward = (1LL << 21), MessageFlag::ShowInMentions = (1LL << 22),
  MessageFlag::FirstMessage = (1LL << 23), MessageFlag::ReplyMessage = (1LL << 24), MessageFlag::ElevatedMessage = (1LL << 25), MessageFlag::ParticipatedThread = (1LL << 26),
  MessageFlag::CheerMessage = (1LL << 27), MessageFlag::LiveUpdatesAdd = (1LL << 28), MessageFlag::LiveUpdatesRemove = (1LL << 29), MessageFlag::LiveUpdatesUpdate = (1LL << 30)
}
 
enum  MessageElementFlag : int64_t {
  None = 0LL, MessageElementFlag::Misc = (1LL << 0), MessageElementFlag::Text = (1LL << 1), Username = (1LL << 2),
  MessageElementFlag::Timestamp = (1LL << 3), MessageElementFlag::TwitchEmoteImage = (1LL << 4), MessageElementFlag::TwitchEmoteText = (1LL << 5), MessageElementFlag::TwitchEmote = TwitchEmoteImage | TwitchEmoteText,
  MessageElementFlag::BttvEmoteImage = (1LL << 6), MessageElementFlag::BttvEmoteText = (1LL << 7), MessageElementFlag::BttvEmote = BttvEmoteImage | BttvEmoteText, MessageElementFlag::ChannelPointReward = (1LL << 8),
  MessageElementFlag::ChannelPointRewardImage = ChannelPointReward | TwitchEmoteImage, MessageElementFlag::FfzEmoteImage = (1LL << 9), MessageElementFlag::FfzEmoteText = (1LL << 10), MessageElementFlag::FfzEmote = FfzEmoteImage | FfzEmoteText,
  MessageElementFlag::SevenTVEmoteImage = (1LL << 34), MessageElementFlag::SevenTVEmoteText = (1LL << 35), MessageElementFlag::SevenTVEmote = SevenTVEmoteImage | SevenTVEmoteText, MessageElementFlag::EmoteImages,
  MessageElementFlag::EmoteText, MessageElementFlag::BitsStatic = (1LL << 11), MessageElementFlag::BitsAnimated = (1LL << 12), MessageElementFlag::BadgeGlobalAuthority = (1LL << 13),
  MessageElementFlag::BadgePredictions = (1LL << 14), MessageElementFlag::BadgeChannelAuthority = (1LL << 15), MessageElementFlag::BadgeSubscription = (1LL << 16), MessageElementFlag::BadgeVanity = (1LL << 17),
  MessageElementFlag::BadgeChatterino = (1LL << 18), MessageElementFlag::BadgeSevenTV = (1LL << 36), MessageElementFlag::BadgeFfz = (1LL << 19), MessageElementFlag::Badges,
  MessageElementFlag::ChannelName = (1LL << 20), MessageElementFlag::BitsAmount = (1LL << 21), MessageElementFlag::ModeratorTools = (1LL << 22), MessageElementFlag::EmojiImage = (1LL << 23),
  MessageElementFlag::EmojiText = (1LL << 24), MessageElementFlag::EmojiAll = EmojiImage | EmojiText, MessageElementFlag::AlwaysShow = (1LL << 25), MessageElementFlag::Collapsed = (1LL << 26),
  MessageElementFlag::BoldUsername = (1LL << 27), MessageElementFlag::NonBoldUsername = (1LL << 28), MessageElementFlag::LowercaseLink = (1LL << 29), MessageElementFlag::OriginalLink = (1LL << 30),
  MessageElementFlag::ZeroWidthEmote = (1LL << 31), MessageElementFlag::RepliedMessage = (1LL << 32), MessageElementFlag::ReplyButton = (1LL << 33), MessageElementFlag::Default
}
 
enum  ColorType {
  ColorType::SelfHighlight, ColorType::Subscription, ColorType::Whisper, ColorType::RedeemedHighlight,
  ColorType::FirstMessageHighlight, ColorType::ElevatedMessageHighlight, ColorType::ThreadMessageHighlight
}
 
enum  IrcAuthType { IrcAuthType::Anonymous, IrcAuthType::Custom, IrcAuthType::Pass, IrcAuthType::Sasl }
 
enum  SeventvEventAPISubscriptionType { SeventvEventAPISubscriptionType::UpdateEmoteSet, SeventvEventAPISubscriptionType::UpdateUser, SeventvEventAPISubscriptionType::INVALID }
 
enum  SeventvEventAPIOpcode {
  SeventvEventAPIOpcode::Dispatch = 0, SeventvEventAPIOpcode::Hello = 1, SeventvEventAPIOpcode::Heartbeat = 2, SeventvEventAPIOpcode::Reconnect = 4,
  SeventvEventAPIOpcode::Ack = 5, SeventvEventAPIOpcode::Error = 6, SeventvEventAPIOpcode::EndOfStream = 7, SeventvEventAPIOpcode::Identify = 33,
  SeventvEventAPIOpcode::Resume = 34, SeventvEventAPIOpcode::Subscribe = 35, SeventvEventAPIOpcode::Unsubscribe = 36, SeventvEventAPIOpcode::Signal = 37
}
 
enum  SeventvActiveEmoteFlag : int64_t {
  None = 0LL, SeventvActiveEmoteFlag::ZeroWidth = (1LL << 0), SeventvActiveEmoteFlag::OverrideTwitchGlobal = (1 << 16), SeventvActiveEmoteFlag::OverrideTwitchSubscriber = (1 << 17),
  SeventvActiveEmoteFlag::OverrideBetterTTV = (1 << 18)
}
 
enum  SeventvEmoteFlag : int64_t {
  None = 0LL, SeventvEmoteFlag::Private = 1 << 0, SeventvEmoteFlag::Authentic = (1LL << 1), SeventvEmoteFlag::ZeroWidth = (1LL << 8),
  SeventvEmoteFlag::ContentSexual = (1LL << 16), SeventvEmoteFlag::ContentEpilepsy = (1LL << 17), SeventvEmoteFlag::ContentEdgy = (1 << 18), SeventvEmoteFlag::ContentTwitchDisallowed = (1LL << 24)
}
 
enum  HelixAnnouncementColor {
  HelixAnnouncementColor::Blue, HelixAnnouncementColor::Green, HelixAnnouncementColor::Orange, HelixAnnouncementColor::Purple,
  HelixAnnouncementColor::Primary
}
 
enum  HelixClipError { HelixClipError::Unknown, HelixClipError::ClipsDisabled, HelixClipError::UserNotAuthenticated }
 
enum  HelixStreamMarkerError { HelixStreamMarkerError::Unknown, HelixStreamMarkerError::UserNotAuthorized, HelixStreamMarkerError::UserNotAuthenticated }
 
enum  HelixAutoModMessageError {
  HelixAutoModMessageError::Unknown, HelixAutoModMessageError::MessageAlreadyProcessed, HelixAutoModMessageError::UserNotAuthenticated, HelixAutoModMessageError::UserNotAuthorized,
  HelixAutoModMessageError::MessageNotFound
}
 
enum  HelixUpdateUserChatColorError { HelixUpdateUserChatColorError::Unknown, HelixUpdateUserChatColorError::UserMissingScope, HelixUpdateUserChatColorError::InvalidColor, HelixUpdateUserChatColorError::Forwarded }
 
enum  HelixDeleteChatMessagesError {
  HelixDeleteChatMessagesError::Unknown, HelixDeleteChatMessagesError::UserMissingScope, HelixDeleteChatMessagesError::UserNotAuthenticated, HelixDeleteChatMessagesError::UserNotAuthorized,
  HelixDeleteChatMessagesError::MessageUnavailable, HelixDeleteChatMessagesError::Forwarded
}
 
enum  HelixSendChatAnnouncementError { HelixSendChatAnnouncementError::Unknown, HelixSendChatAnnouncementError::UserMissingScope, HelixSendChatAnnouncementError::Forwarded }
 
enum  HelixAddChannelModeratorError {
  HelixAddChannelModeratorError::Unknown, HelixAddChannelModeratorError::UserMissingScope, HelixAddChannelModeratorError::UserNotAuthorized, HelixAddChannelModeratorError::Ratelimited,
  HelixAddChannelModeratorError::TargetAlreadyModded, HelixAddChannelModeratorError::TargetIsVIP, HelixAddChannelModeratorError::Forwarded
}
 
enum  HelixRemoveChannelModeratorError {
  HelixRemoveChannelModeratorError::Unknown, HelixRemoveChannelModeratorError::UserMissingScope, HelixRemoveChannelModeratorError::UserNotAuthorized, HelixRemoveChannelModeratorError::TargetNotModded,
  HelixRemoveChannelModeratorError::Ratelimited, HelixRemoveChannelModeratorError::Forwarded
}
 
enum  HelixAddChannelVIPError {
  HelixAddChannelVIPError::Unknown, HelixAddChannelVIPError::UserMissingScope, HelixAddChannelVIPError::UserNotAuthorized, HelixAddChannelVIPError::Ratelimited,
  HelixAddChannelVIPError::Forwarded
}
 
enum  HelixRemoveChannelVIPError {
  HelixRemoveChannelVIPError::Unknown, HelixRemoveChannelVIPError::UserMissingScope, HelixRemoveChannelVIPError::UserNotAuthorized, HelixRemoveChannelVIPError::Ratelimited,
  HelixRemoveChannelVIPError::Forwarded
}
 
enum  HelixUnbanUserError {
  HelixUnbanUserError::Unknown, HelixUnbanUserError::UserMissingScope, HelixUnbanUserError::UserNotAuthorized, HelixUnbanUserError::Ratelimited,
  HelixUnbanUserError::ConflictingOperation, HelixUnbanUserError::TargetNotBanned, HelixUnbanUserError::Forwarded
}
 
enum  HelixStartRaidError {
  HelixStartRaidError::Unknown, HelixStartRaidError::UserMissingScope, HelixStartRaidError::UserNotAuthorized, HelixStartRaidError::CantRaidYourself,
  HelixStartRaidError::Ratelimited, HelixStartRaidError::Forwarded
}
 
enum  HelixCancelRaidError {
  HelixCancelRaidError::Unknown, HelixCancelRaidError::UserMissingScope, HelixCancelRaidError::UserNotAuthorized, HelixCancelRaidError::NoRaidPending,
  HelixCancelRaidError::Ratelimited, HelixCancelRaidError::Forwarded
}
 
enum  HelixUpdateChatSettingsError {
  HelixUpdateChatSettingsError::Unknown, HelixUpdateChatSettingsError::UserMissingScope, HelixUpdateChatSettingsError::UserNotAuthorized, HelixUpdateChatSettingsError::Ratelimited,
  HelixUpdateChatSettingsError::Forbidden, HelixUpdateChatSettingsError::OutOfRange, HelixUpdateChatSettingsError::Forwarded
}
 
enum  HelixBanUserError {
  HelixBanUserError::Unknown, HelixBanUserError::UserMissingScope, HelixBanUserError::UserNotAuthorized, HelixBanUserError::Ratelimited,
  HelixBanUserError::ConflictingOperation, HelixBanUserError::TargetBanned, HelixBanUserError::CannotBanUser, HelixBanUserError::Forwarded
}
 
enum  HelixWhisperError {
  HelixWhisperError::Unknown, HelixWhisperError::UserMissingScope, HelixWhisperError::UserNotAuthorized, HelixWhisperError::Ratelimited,
  HelixWhisperError::NoVerifiedPhone, HelixWhisperError::RecipientBlockedUser, HelixWhisperError::WhisperSelf, HelixWhisperError::Forwarded
}
 
enum  HelixGetChattersError { HelixGetChattersError::Unknown, HelixGetChattersError::UserMissingScope, HelixGetChattersError::UserNotAuthorized, HelixGetChattersError::Forwarded }
 
enum  HelixGetModeratorsError { HelixGetModeratorsError::Unknown, HelixGetModeratorsError::UserMissingScope, HelixGetModeratorsError::UserNotAuthorized, HelixGetModeratorsError::Forwarded }
 
enum  HelixListVIPsError {
  HelixListVIPsError::Unknown, HelixListVIPsError::UserMissingScope, HelixListVIPsError::UserNotAuthorized, HelixListVIPsError::UserNotBroadcaster,
  HelixListVIPsError::Ratelimited, HelixListVIPsError::Forwarded
}
 
enum  HelixStartCommercialError {
  HelixStartCommercialError::Unknown, HelixStartCommercialError::TokenMustMatchBroadcaster, HelixStartCommercialError::UserMissingScope, HelixStartCommercialError::BroadcasterNotStreaming,
  HelixStartCommercialError::MissingLengthParameter, HelixStartCommercialError::Ratelimited, HelixStartCommercialError::Forwarded
}
 
enum  FollowResult { FollowResult_Following, FollowResult_NotFollowing, FollowResult_Failed }
 
enum  FontStyle : uint8_t {
  FontStyle::Tiny, FontStyle::ChatSmall, FontStyle::ChatMediumSmall, FontStyle::ChatMedium,
  FontStyle::ChatMediumBold, FontStyle::ChatMediumItalic, FontStyle::ChatLarge, FontStyle::ChatVeryLarge,
  FontStyle::UiMedium, FontStyle::UiMediumBold, FontStyle::UiTabs, FontStyle::EndType,
  FontStyle::ChatStart = ChatSmall, FontStyle::ChatEnd = ChatVeryLarge
}
 
enum  UsernameDisplayMode : int { Username = 1, Username = (1LL << 2), LocalizedName = 2, UsernameAndLocalizedName = 3 }
 
enum  HelixTimegateOverride : int { Timegate = 1, AlwaysUseIRC = 2, AlwaysUseHelix = 3 }
 
enum  ToastReaction { ToastReaction::OpenInBrowser = 0, ToastReaction::OpenInPlayer = 1, ToastReaction::OpenInStreamlink = 2, ToastReaction::DontOpen = 3 }
 
enum  StreamerModeSetting { Disabled = 0, Disabled = (1LL << 5), Enabled = 1, DetectStreamingSoftware = 2 }
 
enum  SettingsDialogPreference { SettingsDialogPreference::NoPreference, Accounts, SettingsDialogPreference::ModerationActions }
 
enum  PauseReason { PauseReason::Mouse, PauseReason::Selection, PauseReason::DoubleClick, PauseReason::KeyboardModifier }
 
enum  FromTwitchLinkOpenChannelIn { FromTwitchLinkOpenChannelIn::Split, FromTwitchLinkOpenChannelIn::Tab, FromTwitchLinkOpenChannelIn::BrowserPlayer, FromTwitchLinkOpenChannelIn::Streamlink }
 
enum  SettingsTabId {
  None, None, None = 0LL, None = 0LL,
  None = 0LL, None = 0LL, Accounts, Accounts,
  Moderation
}
 
enum  TitleBarButtonStyle {
  TitleBarButtonStyle::None = 0, TitleBarButtonStyle::Minimize = 1, TitleBarButtonStyle::Maximize = 2, TitleBarButtonStyle::Unmaximize = 4,
  TitleBarButtonStyle::Close = 8, TitleBarButtonStyle::User = 16, TitleBarButtonStyle::Settings = 32
}
 
enum  NotebookTabLocation { Top = 0, Left = 1, Right = 2, Bottom = 3 }
 
enum  MessageOverflow { Highlight, Prevent, Allow }
 
enum  WindowType { WindowType::Main, WindowType::Popup, WindowType::Attached }
 

Functions

ApplicationgetApp ()
 
IApplicationgetIApp ()
 
void _actuallyRegisterSetting (std::weak_ptr< pajlada::Settings::SettingData > setting)
 
SettingsgetSettings ()
 
AB_SETTINGS_CLASSgetABSettings ()
 
void runBrowserExtensionHost ()
 
void initArgs (const QApplication &app)
 
const ArgsgetArgs ()
 
void _registerSetting (std::weak_ptr< pajlada::Settings::SettingData > setting)
 
QString qS (const std::string &string)
 
template<typename T >
std::weak_ptr< T > weakOf (T *element)
 
std::vector< std::pair< QByteArray, QByteArray > > parseHeaderList (const QString &headerListString)
 
void writeToCache (const std::shared_ptr< NetworkData > &data, const QByteArray &bytes)
 
void loadUncached (const std::shared_ptr< NetworkData > &data)
 
void loadCached (const std::shared_ptr< NetworkData > &data)
 
void load (const std::shared_ptr< NetworkData > &data)
 
std::vector< QString > parseHotkeyArguments (QString argumentString)
 
bool isIgnoredMessage (IgnoredMessageParameters &&params)
 
bool operator== (const Emote &a, const Emote &b)
 
bool operator!= (const Emote &a, const Emote &b)
 
EmotePtr cachedOrMakeEmotePtr (Emote &&emote, const EmoteMap &cache)
 
EmotePtr cachedOrMakeEmotePtr (Emote &&emote, std::unordered_map< EmoteId, std::weak_ptr< const Emote >> &cache, std::mutex &mutex, const EmoteId &id)
 
const std::shared_ptr< Image > & getImagePriv (const ImageSet &set, float scale)
 
MessagePtr makeSystemMessage (const QString &text)
 
MessagePtr makeSystemMessage (const QString &text, const QTime &time)
 
EmotePtr makeAutoModBadge ()
 
MessagePtr makeAutomodInfoMessage (const AutomodInfoAction &action)
 
std::pair< MessagePtr, MessagePtrmakeAutomodMessage (const AutomodAction &action)
 
QMediaPlayer * getPlayer ()
 
QString escape (QString str)
 
QString getCredentialName (const IrcServerData &data)
 
Outcome invokeIrcCommand (const QString &commandName, const QString &allParams, IrcChannel &channel)
 
IvrApigetIvr ()
 
QDebug & operator<< (QDebug &dbg, const SeventvEventAPISubscription &subscription)
 
void initializeHelix (IHelix *_instance)
 
IHelixgetHelix ()
 
QDebug operator<< (QDebug dbg, const ActionUser &user)
 
template<typename Duration , typename Callback >
void runAfter (boost::asio::io_service &ioService, Duration duration, Callback cb)
 
template<typename Duration , typename Callback >
void runAfter (std::shared_ptr< boost::asio::steady_timer > timer, Duration duration, Callback cb)
 
std::vector< QStringList > getEmoteSetBatches (QStringList emoteSetKeys)
 
QByteArray getDefaultClientID ()
 
bool trimChannelName (const QString &channelName, QString &outChannelName)
 
bool doesWordContainATwitchEmote (int cursor, const QString &word, const std::vector< TwitchEmoteOccurrence > &twitchEmotes, std::vector< TwitchEmoteOccurrence >::const_iterator &currentTwitchEmoteIt)
 
void runGui (QApplication &a, Paths &paths, Settings &settings)
 
FontsgetFonts ()
 
QByteArray endline ("\)
 
void registerNmManifest (Paths &paths, const QString &manifestFilename, const QString &registryKeyName, const QJsonDocument &document)
 
void registerNmHost (Paths &paths)
 
std::string & getNmQueueName (Paths &paths)
 
Atomic< boost::optional< QString > > & nmIpcError ()
 
PathsgetPaths ()
 
Resources2 & getResources ()
 
void initResources ()
 
ConcurrentSettingsgetCSettings ()
 
ThemegetTheme ()
 
void attachToConsole ()
 
template<class T >
constexpr const T & clamp (const T &v, const T &lo, const T &hi)
 
void crossPlatformCopy (const QString &text)
 
QString getClipboardText ()
 
QString combinePath (const QString &a, const QString &b)
 
float distanceBetweenPoints (const QPointF &p1, const QPointF &p2)
 
QString formatTime (int totalSeconds)
 
QString formatTime (QString totalSecondsString)
 
int fuzzyToInt (const QString &str, int default_)
 
float fuzzyToFloat (const QString &str, float default_)
 
bool startsWithOrContains (const QString &str1, const QString &str2, Qt::CaseSensitivity caseSensitivity, bool startsWith)
 startsWithOrContains is a wrapper for checking whether str1 starts with or contains str2 within itself More...
 
bool isNeutral (const QString &s)
 isNeutral checks if the string doesn't contain any character in the unicode "letter" category i.e. if the string contains only neutral characters. More...
 
QString generateUuid ()
 
QString formatRichLink (const QString &url, bool file)
 
QString formatRichNamedLink (const QString &url, const QString &name, bool file)
 
QString shortenString (const QString &str, unsigned maxWidth)
 
QString localizeNumbers (const int &number)
 
QString kFormatNumbers (const int &number)
 
QColor getRandomColor (const QString &userId)
 
QString formatUserMention (const QString &userName, bool isFirstWord, bool mentionUsersWithComma)
 Takes a user's name and some formatting parameter and spits out the standardized way to format it. More...
 
int64_t parseDurationToSeconds (const QString &inputString, uint64_t noUnitMultiplier)
 
template<typename T >
std::vector< T > splitListIntoBatches (const T &list, int batchSize=100)
 
bool supportsIncognitoLinks ()
 
bool openLinkIncognito (const QString &link)
 
void initUpdateButton (Button &button, pajlada::Signals::SignalHolder &signalHolder)
 
QString parseTagString (const QString &input)
 
QDateTime calculateMessageTime (const Communi::IrcMessage *message)
 
template<typename T , typename... Args>
LayoutCreator< T > makeDialog (Args &&...args)
 
QWidget * wrapLayout (QLayout *layout)
 
QScrollArea * makeScrollArea (WidgetOrLayout item)
 
template<typename T >
T * makeLayout (std::initializer_list< LayoutItem > items)
 
template<typename T , typename With >
T * makeWidget (With with)
 
void logToFile (const QString originalFilePath, QString imageLink, QString deletionLink, ChannelPtr channel)
 
QString getJSONValue (QJsonValue responseJson, QString jsonPattern)
 
QString getLinkFromResponse (NetworkResult response, QString pattern)
 
void uploadImageToNuuls (RawImageData imageData, ChannelPtr channel, ResizingTextEdit &textEdit)
 
void upload (const QMimeData *source, ChannelPtr channel, ResizingTextEdit &outputTextEdit)
 
void upload (QByteArray imageData, ChannelPtr channel, ResizingTextEdit &textEdit, std::string format)
 
void upload (RawImageData imageData, ChannelPtr channel, ResizingTextEdit &textEdit)
 
template<class... Ts>
 Overloaded (Ts...) -> Overloaded< Ts... >
 
template<typename T >
void persist (SignalVector< T > &vec, const std::string &name)
 
const QStringList & getSampleCheerMessages ()
 Sample messages coming from IRC. More...
 
const QStringList & getSampleSubMessages ()
 
const QStringList & getSampleMiscMessages ()
 
const QStringList & getSampleEmoteTestMessages ()
 
const QString & getSampleChannelRewardMessage ()
 Channel point reward tests. More...
 
const QString & getSampleChannelRewardMessage2 ()
 
const QString & getSampleChannelRewardIRCMessage ()
 
const QStringList & getSampleLinkMessages ()
 Links. More...
 
QStringList splitCommand (QStringView command)
 
const QStringList & broadcastingBinaries ()
 
bool isInStreamerMode ()
 
void getStreamQualities (const QString &channelURL, std::function< void(QStringList)> cb)
 
void openStreamlink (const QString &channelURL, const QString &quality, QStringList extraArguments)
 
void openStreamlinkForChannel (const QString &channel)
 
void openTwitchUsercard (QString channel, QString username)
 
void stripUserName (QString &userName)
 
void stripChannelName (QString &channelName)
 
QRegularExpression twitchUserNameRegexp ()
 
QRegularExpression twitchUserLoginRegexp ()
 
void cleanHelixColorName (QString &color)
 
template<typename T >
constexpr auto type_name ()
 
qint64 dirSize (QString &dirPath)
 
QString formatSize (qint64 size)
 
QString fetchLogDirectorySize ()
 
bool filterItemsRec (QObject *object, const QString &query)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const LimitedQueueSnapshot< T > &snapshot)
 

Variables

std::vector< std::weak_ptr< pajlada::Settings::SettingData > > _settings
 
const Qt::KeyboardModifiers showSplitOverlayModifiers
 
const Qt::KeyboardModifiers showAddSplitRegions
 
const Qt::KeyboardModifiers showResizeHandlesModifiers = Qt::ControlModifier
 
const SuccessTag Success {}
 
const FailureTag Failure {}
 
const std::map< HotkeyCategory, ActionDefinitionMapactionNames
 
const SystemMessageTag systemMessage {}
 
const TimeoutMessageTag timeoutMessage {}
 
const LiveUpdatesUpdateEmoteMessageTag liveUpdatesUpdateEmoteMessage {}
 
const LiveUpdatesRemoveEmoteMessageTag liveUpdatesRemoveEmoteMessage {}
 
const LiveUpdatesAddEmoteMessageTag liveUpdatesAddEmoteMessage {}
 
const LiveUpdatesUpdateEmoteSetMessageTag liveUpdatesUpdateEmoteSetMessage {}
 
const int RECONNECT_BASE_INTERVAL = 2000
 
const int MAX_FALLOFF_COUNTER = 60
 
const int JOIN_RATELIMIT_BUDGET = 18
 
const int JOIN_RATELIMIT_COOLDOWN = 12500
 
const QSet< QString > globalAuthority {"staff", "admin", "global_mod"}
 
const QSet< QString > predictions {"predictions"}
 
const QSet< QString > channelAuthority {"moderator", "vip", "broadcaster"}
 
const QSet< QString > subBadges {"subscriber", "founder"}
 
const QString ZERO_WIDTH_JOINER = QString(QChar(0x200D))
 
const QString ESCAPE_TAG = QString(ESCAPE_TAG_CHARS, 2)
 
constexpr long unsigned GIF_FRAME_LENGTH = 20
 
ConcurrentSettingsconcurrentInstance_ {}
 
constexpr int cooldownInS = 10
 
bool shouldShowWarning = true
 
const QStringList VALID_HELIX_COLORS
 

Typedef Documentation

◆ AbstractSwitcherItem

◆ ActionDefinitionMap

using chatterino::ActionDefinitionMap = typedef std::map<QString, ActionDefinition>

◆ BoolSetting

◆ ChannelPtr

typedef std::shared_ptr< Channel > chatterino::ChannelPtr

◆ ChatterSet

◆ Column

◆ DoubleSetting

◆ EmojiMap

using chatterino::EmojiMap = typedef ConcurrentMap<QString, std::shared_ptr<EmojiData> >

◆ EmoteIdMap

using chatterino::EmoteIdMap = typedef std::unordered_map<EmoteId, EmotePtr>

◆ EmotePtr

typedef std::shared_ptr< const Emote > chatterino::EmotePtr

◆ FilterRecordPtr

using chatterino::FilterRecordPtr = typedef std::shared_ptr<FilterRecord>

◆ FilterSetPtr

using chatterino::FilterSetPtr = typedef std::shared_ptr<FilterSet>

◆ FloatSetting

◆ HelixFailureCallback

using chatterino::HelixFailureCallback = typedef std::function<void()>

◆ HelixModerator

◆ ImagePtr

typedef std::shared_ptr< Image > chatterino::ImagePtr

◆ IntSetting

◆ IvrFailureCallback

using chatterino::IvrFailureCallback = typedef std::function<void()>

◆ LayoutItem

using chatterino::LayoutItem = typedef boost::variant<QWidget *, QLayoutItem *>

◆ MessageElementFlags

◆ MessageFlags

typedef int64_t FlagsEnum< MessageFlag > chatterino::MessageFlags
strong

◆ MessageLayoutFlags

◆ MessageLayoutPtr

typedef std::shared_ptr< MessageLayout > chatterino::MessageLayoutPtr

◆ MessagePtr

typedef std::shared_ptr< const Message > chatterino::MessagePtr

◆ NetworkErrorCallback

using chatterino::NetworkErrorCallback = typedef std::function<void(NetworkResult)>

◆ NetworkFinallyCallback

using chatterino::NetworkFinallyCallback = typedef std::function<void()>

◆ NetworkReplyCreatedCallback

using chatterino::NetworkReplyCreatedCallback = typedef std::function<void(QNetworkReply *)>

◆ NetworkSuccessCallback

using chatterino::NetworkSuccessCallback = typedef std::function<Outcome(NetworkResult)>

◆ NodeDescriptor

◆ QObjectPtr

template<typename T >
using chatterino::QObjectPtr = typedef std::unique_ptr<T, DeleteLater>

◆ QStringSetting

◆ QuickSwitcherModel

◆ ResultCallback

template<typename... T>
using chatterino::ResultCallback = typedef std::function<void(T...)>

◆ SeventvActiveEmoteFlags

◆ SeventvEmoteFlags

◆ SharedAccessGuard

template<typename T >
using chatterino::SharedAccessGuard = typedef AccessGuard<const T, std::shared_lock<std::shared_mutex> >

◆ SplitDirection

◆ SplitNode

◆ SteadyClock

using chatterino::SteadyClock = typedef std::chrono::steady_clock

◆ StringSetting

using chatterino::StringSetting = typedef ChatterinoSetting<std::string>

◆ WeakEmoteIdMap

using chatterino::WeakEmoteIdMap = typedef std::unordered_map<EmoteId, std::weak_ptr<const Emote> >

◆ WeakEmoteMap

using chatterino::WeakEmoteMap = typedef std::unordered_map<EmoteName, std::weak_ptr<const Emote> >

◆ WebsocketClient

using chatterino::WebsocketClient = typedef websocketpp::client<chatterinoconfig>

◆ WebsocketErrorCode

using chatterino::WebsocketErrorCode = typedef websocketpp::lib::error_code

◆ WebsocketHandle

using chatterino::WebsocketHandle = typedef websocketpp::connection_hdl

◆ WidgetOrLayout

using chatterino::WidgetOrLayout = typedef boost::variant<QWidget *, QLayout *>

Enumeration Type Documentation

◆ ColorType

enum chatterino::ColorType
strong
Enumerator
SelfHighlight 
Subscription 
Whisper 
RedeemedHighlight 
FirstMessageHighlight 
ElevatedMessageHighlight 
ThreadMessageHighlight 

◆ CopyMode

enum chatterino::CopyMode
strong
Enumerator
Everything 
EverythingButReplies 
OnlyTextAndEmotes 

◆ FirstWord

enum chatterino::FirstWord
strong
Enumerator
Neutral 
RTL 
LTR 

◆ FollowResult

Enumerator
FollowResult_Following 
FollowResult_NotFollowing 
FollowResult_Failed 

◆ FontStyle

enum chatterino::FontStyle : uint8_t
strong
Enumerator
Tiny 
ChatSmall 
ChatMediumSmall 
ChatMedium 
ChatMediumBold 
ChatMediumItalic 
ChatLarge 
ChatVeryLarge 
UiMedium 
UiMediumBold 
UiTabs 
EndType 
ChatStart 
ChatEnd 

◆ FromTwitchLinkOpenChannelIn

Enumerator
Split 
Tab 
BrowserPlayer 
Streamlink 

◆ HelixAddChannelModeratorError

Enumerator
Unknown 
UserMissingScope 
UserNotAuthorized 
Ratelimited 
TargetAlreadyModded 
TargetIsVIP 
Forwarded 

◆ HelixAddChannelVIPError

Enumerator
Unknown 
UserMissingScope 
UserNotAuthorized 
Ratelimited 
Forwarded 

◆ HelixAnnouncementColor

Enumerator
Blue 
Green 
Orange 
Purple 
Primary 

◆ HelixAutoModMessageError

Enumerator
Unknown 
MessageAlreadyProcessed 
UserNotAuthenticated 
UserNotAuthorized 
MessageNotFound 

◆ HelixBanUserError

Enumerator
Unknown 
UserMissingScope 
UserNotAuthorized 
Ratelimited 
ConflictingOperation 
TargetBanned 
CannotBanUser 
Forwarded 

◆ HelixCancelRaidError

Enumerator
Unknown 
UserMissingScope 
UserNotAuthorized 
NoRaidPending 
Ratelimited 
Forwarded 

◆ HelixClipError

Enumerator
Unknown 
ClipsDisabled 
UserNotAuthenticated 

◆ HelixDeleteChatMessagesError

Enumerator
Unknown 
UserMissingScope 
UserNotAuthenticated 
UserNotAuthorized 
MessageUnavailable 
Forwarded 

◆ HelixGetChattersError

Enumerator
Unknown 
UserMissingScope 
UserNotAuthorized 
Forwarded 

◆ HelixGetModeratorsError

Enumerator
Unknown 
UserMissingScope 
UserNotAuthorized 
Forwarded 

◆ HelixListVIPsError

Enumerator
Unknown 
UserMissingScope 
UserNotAuthorized 
UserNotBroadcaster 
Ratelimited 
Forwarded 

◆ HelixRemoveChannelModeratorError

Enumerator
Unknown 
UserMissingScope 
UserNotAuthorized 
TargetNotModded 
Ratelimited 
Forwarded 

◆ HelixRemoveChannelVIPError

Enumerator
Unknown 
UserMissingScope 
UserNotAuthorized 
Ratelimited 
Forwarded 

◆ HelixSendChatAnnouncementError

Enumerator
Unknown 
UserMissingScope 
Forwarded 

◆ HelixStartCommercialError

Enumerator
Unknown 
TokenMustMatchBroadcaster 
UserMissingScope 
BroadcasterNotStreaming 
MissingLengthParameter 
Ratelimited 
Forwarded 

◆ HelixStartRaidError

Enumerator
Unknown 
UserMissingScope 
UserNotAuthorized 
CantRaidYourself 
Ratelimited 
Forwarded 

◆ HelixStreamMarkerError

Enumerator
Unknown 
UserNotAuthorized 
UserNotAuthenticated 

◆ HelixTimegateOverride

Enumerator
Timegate 
AlwaysUseIRC 
AlwaysUseHelix 

◆ HelixUnbanUserError

Enumerator
Unknown 
UserMissingScope 
UserNotAuthorized 
Ratelimited 
ConflictingOperation 
TargetNotBanned 
Forwarded 

◆ HelixUpdateChatSettingsError

Enumerator
Unknown 
UserMissingScope 
UserNotAuthorized 
Ratelimited 
Forbidden 
OutOfRange 
Forwarded 

◆ HelixUpdateUserChatColorError

Enumerator
Unknown 
UserMissingScope 
InvalidColor 
Forwarded 

◆ HelixWhisperError

Enumerator
Unknown 
UserMissingScope 
UserNotAuthorized 
Ratelimited 
NoVerifiedPhone 
RecipientBlockedUser 
WhisperSelf 
Forwarded 

◆ HighlightState

Enumerator
None 
Highlighted 
NewMessage 

◆ HotkeyCategory

Enumerator
PopupWindow 
Split 
SplitInput 
Window 

◆ IrcAuthType

Enumerator
Anonymous 
Custom 
Pass 
Sasl 

◆ MessageElementFlag

enum chatterino::MessageElementFlag : int64_t
strong
Enumerator
None 
Misc 
Text 
Username 
Timestamp 
TwitchEmoteImage 
TwitchEmoteText 
TwitchEmote 
BttvEmoteImage 
BttvEmoteText 
BttvEmote 
ChannelPointReward 
ChannelPointRewardImage 
FfzEmoteImage 
FfzEmoteText 
FfzEmote 
SevenTVEmoteImage 
SevenTVEmoteText 
SevenTVEmote 
EmoteImages 
EmoteText 
BitsStatic 
BitsAnimated 
BadgeGlobalAuthority 
BadgePredictions 
BadgeChannelAuthority 
BadgeSubscription 
BadgeVanity 
BadgeChatterino 
BadgeSevenTV 
BadgeFfz 
Badges 
ChannelName 
BitsAmount 
ModeratorTools 
EmojiImage 
EmojiText 
EmojiAll 
AlwaysShow 
Collapsed 
BoldUsername 
NonBoldUsername 
LowercaseLink 
OriginalLink 
ZeroWidthEmote 
RepliedMessage 
ReplyButton 
Default 

◆ MessageFlag

enum chatterino::MessageFlag : int64_t
strong
Enumerator
None 
System 
Timeout 
Highlighted 
DoNotTriggerNotification 
Centered 
Disabled 
DisableCompactEmotes 
Collapsed 
ConnectedMessage 
DisconnectedMessage 
Untimeout 
PubSub 
Subscription 
DoNotLog 
AutoMod 
RecentMessage 
Whisper 
HighlightedWhisper 
Debug 
Similar 
RedeemedHighlight 
RedeemedChannelPointReward 
ShowInMentions 
FirstMessage 
ReplyMessage 
ElevatedMessage 
ParticipatedThread 
CheerMessage 
LiveUpdatesAdd 
LiveUpdatesRemove 
LiveUpdatesUpdate 

◆ MessageLayoutFlag

enum chatterino::MessageLayoutFlag : uint8_t
strong
Enumerator
RequiresBufferUpdate 
RequiresLayout 
AlternateBackground 
Collapsed 
Expanded 
IgnoreHighlights 

◆ MessageOverflow

Enumerator
Highlight 
Prevent 
Allow 

◆ NetworkRequestType

Enumerator
Get 
Post 
Put 
Delete 
Patch 

◆ NotebookTabLocation

Enumerator
Top 
Left 
Right 
Bottom 

◆ PauseReason

Enumerator
Mouse 
Selection 
DoubleClick 
KeyboardModifier 

◆ Platform

enum chatterino::Platform : uint8_t
strong
Enumerator
Twitch 

◆ ProviderId

Enumerator
Twitch 
Irc 

◆ SettingsDialogPreference

Enumerator
NoPreference 
Accounts 
ModerationActions 

◆ SettingsTabId

Enumerator
None 
None 
None 
None 
None 
None 
Accounts 
Accounts 
Moderation 

◆ SeventvActiveEmoteFlag

enum chatterino::SeventvActiveEmoteFlag : int64_t
strong
Enumerator
None 
ZeroWidth 
OverrideTwitchGlobal 
OverrideTwitchSubscriber 
OverrideBetterTTV 

◆ SeventvEmoteFlag

enum chatterino::SeventvEmoteFlag : int64_t
strong
Enumerator
None 
Private 
Authentic 
ZeroWidth 
ContentSexual 
ContentEpilepsy 
ContentEdgy 
ContentTwitchDisallowed 

◆ SeventvEventAPIOpcode

Enumerator
Dispatch 
Hello 
Heartbeat 
Reconnect 
Ack 
Error 
EndOfStream 
Identify 
Resume 
Subscribe 
Unsubscribe 
Signal 

◆ SeventvEventAPISubscriptionType

Enumerator
UpdateEmoteSet 
UpdateUser 
INVALID 

◆ ShowIgnoredUsersMessages

Enumerator
Never 
IfModerator 
IfBroadcaster 

◆ StreamerModeSetting

Enumerator
Disabled 
Disabled 
Enabled 
DetectStreamingSoftware 

◆ TimeoutStackStyle

enum chatterino::TimeoutStackStyle : int
strong
Enumerator
StackHard 
DontStackBeyondUserMessage 
DontStack 
Default 

◆ TitleBarButtonStyle

Enumerator
None 
Minimize 
Maximize 
Unmaximize 
Close 
User 
Settings 

◆ ToastReaction

Enumerator
OpenInBrowser 
OpenInPlayer 
OpenInStreamlink 
DontOpen 

◆ UsernameDisplayMode

Enumerator
Username 
Username 
LocalizedName 
UsernameAndLocalizedName 

◆ WindowType

Enumerator
Main 
Popup 
Attached 

Function Documentation

◆ _actuallyRegisterSetting()

void chatterino::_actuallyRegisterSetting ( std::weak_ptr< pajlada::Settings::SettingData >  setting)
Here is the caller graph for this function:

◆ _registerSetting()

void chatterino::_registerSetting ( std::weak_ptr< pajlada::Settings::SettingData >  setting)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ attachToConsole()

void chatterino::attachToConsole ( )
Here is the caller graph for this function:

◆ broadcastingBinaries()

const QStringList & chatterino::broadcastingBinaries ( )
Here is the caller graph for this function:

◆ cachedOrMakeEmotePtr() [1/2]

EmotePtr chatterino::cachedOrMakeEmotePtr ( Emote &&  emote,
const EmoteMap cache 
)

◆ cachedOrMakeEmotePtr() [2/2]

EmotePtr chatterino::cachedOrMakeEmotePtr ( Emote &&  emote,
std::unordered_map< EmoteId, std::weak_ptr< const Emote >> &  cache,
std::mutex &  mutex,
const EmoteId &  id 
)

◆ calculateMessageTime()

QDateTime chatterino::calculateMessageTime ( const Communi::IrcMessage *  message)
inline
Here is the caller graph for this function:

◆ clamp()

template<class T >
constexpr const T& chatterino::clamp ( const T &  v,
const T &  lo,
const T &  hi 
)
Here is the caller graph for this function:

◆ cleanHelixColorName()

void chatterino::cleanHelixColorName ( QString &  color)
Here is the caller graph for this function:

◆ combinePath()

QString chatterino::combinePath ( const QString &  a,
const QString &  b 
)
inline
Here is the caller graph for this function:

◆ crossPlatformCopy()

void chatterino::crossPlatformCopy ( const QString &  text)
Here is the caller graph for this function:

◆ dirSize()

qint64 chatterino::dirSize ( QString &  dirPath)
Here is the caller graph for this function:

◆ distanceBetweenPoints()

float chatterino::distanceBetweenPoints ( const QPointF &  p1,
const QPointF &  p2 
)
inline
Here is the caller graph for this function:

◆ doesWordContainATwitchEmote()

bool chatterino::doesWordContainATwitchEmote ( int  cursor,
const QString &  word,
const std::vector< TwitchEmoteOccurrence > &  twitchEmotes,
std::vector< TwitchEmoteOccurrence >::const_iterator &  currentTwitchEmoteIt 
)
Here is the call graph for this function:

◆ endline()

QByteArray chatterino::endline ( "\  )
Here is the caller graph for this function:

◆ escape()

QString chatterino::escape ( QString  str)
inline
Here is the caller graph for this function:

◆ fetchLogDirectorySize()

QString chatterino::fetchLogDirectorySize ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ filterItemsRec()

bool chatterino::filterItemsRec ( QObject *  object,
const QString &  query 
)
Here is the caller graph for this function:

◆ formatRichLink()

QString chatterino::formatRichLink ( const QString &  url,
bool  file 
)

◆ formatRichNamedLink()

QString chatterino::formatRichNamedLink ( const QString &  url,
const QString &  name,
bool  file 
)
Here is the caller graph for this function:

◆ formatSize()

QString chatterino::formatSize ( qint64  size)
Here is the caller graph for this function:

◆ formatTime() [1/2]

QString chatterino::formatTime ( int  totalSeconds)
Here is the caller graph for this function:

◆ formatTime() [2/2]

QString chatterino::formatTime ( QString  totalSecondsString)
Here is the call graph for this function:

◆ formatUserMention()

QString chatterino::formatUserMention ( const QString &  userName,
bool  isFirstWord,
bool  mentionUsersWithComma 
)

Takes a user's name and some formatting parameter and spits out the standardized way to format it.

Parameters
userNamea user's name
isFirstWordsignifies whether this mention would be the first word in a message
mentionUsersWithCommapostfix mentions with a comma. generally powered by getSettings()->mentionUsersWithComma
Here is the caller graph for this function:

◆ fuzzyToFloat()

float chatterino::fuzzyToFloat ( const QString &  str,
float  default_ 
)
Here is the caller graph for this function:

◆ fuzzyToInt()

int chatterino::fuzzyToInt ( const QString &  str,
int  default_ 
)
Here is the caller graph for this function:

◆ generateUuid()

QString chatterino::generateUuid ( )

◆ getABSettings()

AB_SETTINGS_CLASS * chatterino::getABSettings ( )
Here is the caller graph for this function:

◆ getApp()

Application * chatterino::getApp ( )
Here is the caller graph for this function:

◆ getArgs()

const Args & chatterino::getArgs ( )
Here is the caller graph for this function:

◆ getClipboardText()

QString chatterino::getClipboardText ( )

◆ getCredentialName()

QString chatterino::getCredentialName ( const IrcServerData data)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getCSettings()

ConcurrentSettings & chatterino::getCSettings ( )
Here is the caller graph for this function:

◆ getDefaultClientID()

QByteArray chatterino::getDefaultClientID ( )
inline
Here is the caller graph for this function:

◆ getEmoteSetBatches()

std::vector<QStringList> chatterino::getEmoteSetBatches ( QStringList  emoteSetKeys)
Here is the caller graph for this function:

◆ getFonts()

Fonts * chatterino::getFonts ( )
Here is the caller graph for this function:

◆ getHelix()

IHelix * chatterino::getHelix ( )
Here is the caller graph for this function:

◆ getIApp()

IApplication * chatterino::getIApp ( )
Here is the caller graph for this function:

◆ getImagePriv()

const std::shared_ptr<Image>& chatterino::getImagePriv ( const ImageSet set,
float  scale 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getIvr()

IvrApi * chatterino::getIvr ( )
Here is the caller graph for this function:

◆ getJSONValue()

QString chatterino::getJSONValue ( QJsonValue  responseJson,
QString  jsonPattern 
)
Here is the caller graph for this function:

◆ getLinkFromResponse()

QString chatterino::getLinkFromResponse ( NetworkResult  response,
QString  pattern 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNmQueueName()

std::string & chatterino::getNmQueueName ( Paths paths)

◆ getPaths()

Paths * chatterino::getPaths ( )
Here is the caller graph for this function:

◆ getPlayer()

QMediaPlayer* chatterino::getPlayer ( )
inline
Here is the caller graph for this function:

◆ getRandomColor()

QColor chatterino::getRandomColor ( const QString &  userId)
Here is the caller graph for this function:

◆ getResources()

Resources2 & chatterino::getResources ( )

This class in thread safe but needs to be initialized from the gui thread first.

Here is the caller graph for this function:

◆ getSampleChannelRewardIRCMessage()

const QString& chatterino::getSampleChannelRewardIRCMessage ( )
Here is the caller graph for this function:

◆ getSampleChannelRewardMessage()

const QString & chatterino::getSampleChannelRewardMessage ( )

Channel point reward tests.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getSampleChannelRewardMessage2()

const QString& chatterino::getSampleChannelRewardMessage2 ( )
Here is the caller graph for this function:

◆ getSampleCheerMessages()

const QStringList & chatterino::getSampleCheerMessages ( )

Sample messages coming from IRC.

Here is the caller graph for this function:

◆ getSampleEmoteTestMessages()

const QStringList & chatterino::getSampleEmoteTestMessages ( )
Here is the caller graph for this function:

◆ getSampleLinkMessages()

const QStringList& chatterino::getSampleLinkMessages ( )

Links.

Here is the caller graph for this function:

◆ getSampleMiscMessages()

const QStringList & chatterino::getSampleMiscMessages ( )
Here is the caller graph for this function:

◆ getSampleSubMessages()

const QStringList & chatterino::getSampleSubMessages ( )
Here is the caller graph for this function:

◆ getSettings()

Settings * chatterino::getSettings ( )
Here is the caller graph for this function:

◆ getStreamQualities()

void chatterino::getStreamQualities ( const QString &  channelURL,
std::function< void(QStringList)>  cb 
)
Here is the caller graph for this function:

◆ getTheme()

Theme * chatterino::getTheme ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initArgs()

void chatterino::initArgs ( const QApplication &  app)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initializeHelix()

void chatterino::initializeHelix ( IHelix _instance)
Here is the caller graph for this function:

◆ initResources()

void chatterino::initResources ( )
Here is the caller graph for this function:

◆ initUpdateButton()

void chatterino::initUpdateButton ( Button button,
pajlada::Signals::SignalHolder &  signalHolder 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ invokeIrcCommand()

Outcome chatterino::invokeIrcCommand ( const QString &  commandName,
const QString &  allParams,
IrcChannel channel 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isIgnoredMessage()

bool chatterino::isIgnoredMessage ( IgnoredMessageParameters &&  params)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isInStreamerMode()

bool chatterino::isInStreamerMode ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isNeutral()

bool chatterino::isNeutral ( const QString &  s)

isNeutral checks if the string doesn't contain any character in the unicode "letter" category i.e. if the string contains only neutral characters.

Here is the caller graph for this function:

◆ kFormatNumbers()

QString chatterino::kFormatNumbers ( const int &  number)
Here is the caller graph for this function:

◆ load()

void chatterino::load ( const std::shared_ptr< NetworkData > &  data)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ loadCached()

void chatterino::loadCached ( const std::shared_ptr< NetworkData > &  data)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ loadUncached()

void chatterino::loadUncached ( const std::shared_ptr< NetworkData > &  data)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ localizeNumbers()

QString chatterino::localizeNumbers ( const int &  number)
Here is the caller graph for this function:

◆ logToFile()

void chatterino::logToFile ( const QString  originalFilePath,
QString  imageLink,
QString  deletionLink,
ChannelPtr  channel 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeAutoModBadge()

EmotePtr chatterino::makeAutoModBadge ( )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeAutomodInfoMessage()

MessagePtr chatterino::makeAutomodInfoMessage ( const AutomodInfoAction action)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeAutomodMessage()

std::pair< MessagePtr, MessagePtr > chatterino::makeAutomodMessage ( const AutomodAction action)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeDialog()

template<typename T , typename... Args>
LayoutCreator<T> chatterino::makeDialog ( Args &&...  args)

◆ makeLayout()

template<typename T >
T* chatterino::makeLayout ( std::initializer_list< LayoutItem items)

◆ makeScrollArea()

QScrollArea * chatterino::makeScrollArea ( WidgetOrLayout  item)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeSystemMessage() [1/2]

MessagePtr chatterino::makeSystemMessage ( const QString &  text)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ makeSystemMessage() [2/2]

MessagePtr chatterino::makeSystemMessage ( const QString &  text,
const QTime &  time 
)
Here is the call graph for this function:

◆ makeWidget()

template<typename T , typename With >
T* chatterino::makeWidget ( With  with)

◆ nmIpcError()

Atomic< boost::optional< QString > > & chatterino::nmIpcError ( )
Here is the caller graph for this function:

◆ openLinkIncognito()

bool chatterino::openLinkIncognito ( const QString &  link)
Here is the caller graph for this function:

◆ openStreamlink()

void chatterino::openStreamlink ( const QString &  channelURL,
const QString &  quality,
QStringList  extraArguments 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ openStreamlinkForChannel()

void chatterino::openStreamlinkForChannel ( const QString &  channel)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ openTwitchUsercard()

void chatterino::openTwitchUsercard ( QString  channel,
QString  username 
)
Here is the caller graph for this function:

◆ operator!=()

bool chatterino::operator!= ( const Emote a,
const Emote b 
)
Here is the caller graph for this function:

◆ operator<<() [1/3]

template<typename T >
std::ostream& chatterino::operator<< ( std::ostream &  os,
const LimitedQueueSnapshot< T > &  snapshot 
)
Here is the call graph for this function:

◆ operator<<() [2/3]

QDebug chatterino::operator<< ( QDebug  dbg,
const ActionUser user 
)
inline

◆ operator<<() [3/3]

QDebug& chatterino::operator<< ( QDebug &  dbg,
const SeventvEventAPISubscription subscription 
)
Here is the caller graph for this function:

◆ operator==()

bool chatterino::operator== ( const Emote a,
const Emote b 
)
Here is the caller graph for this function:

◆ Overloaded()

template<class... Ts>
chatterino::Overloaded ( Ts...  ) -> Overloaded< Ts... >

◆ parseDurationToSeconds()

int64_t chatterino::parseDurationToSeconds ( const QString &  inputString,
uint64_t  noUnitMultiplier = 1 
)

Parses a duration. Spaces are allowed before and after a unit but not mandatory. Supported units are 'w[eek(s)]', 'd[ay(s)]', 'h[our(s)]', 'm[inute(s)]', 's[econd(s)]'. Units must be lowercase.

If the entire input string is a number (e.g. "12345"), then it's multiplied by noUnitMultiplier.

Examples:

  • "1w 2h"
  • "1w 1w 0s 4d" (2weeks, 4days)
  • "5s3h4w" (4weeks, 3hours, 5seconds)
  • "30m"
  • "1 week"
  • "5 days 12 hours"
  • "10" (10 * noUnitMultiplier seconds)
Parameters
inputStringA non-empty string to parse
noUnitMultiplierA multiplier if the input string only contains one number. For example, if a number without a unit should be interpreted as a minute, set this to 60. If it should be interpreted as a second, set it to 1 (default).
Returns
The parsed duration in seconds, -1 if the input is invalid.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ parseHeaderList()

std::vector< std::pair< QByteArray, QByteArray > > chatterino::parseHeaderList ( const QString &  headerListString)
Here is the caller graph for this function:

◆ parseHotkeyArguments()

std::vector< QString > chatterino::parseHotkeyArguments ( QString  argumentString)
Here is the caller graph for this function:

◆ parseTagString()

QString chatterino::parseTagString ( const QString &  input)
inline
Here is the caller graph for this function:

◆ persist()

template<typename T >
void chatterino::persist ( SignalVector< T > &  vec,
const std::string &  name 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ qS()

QString chatterino::qS ( const std::string &  string)
inline

◆ registerNmHost()

void chatterino::registerNmHost ( Paths paths)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ registerNmManifest()

void chatterino::registerNmManifest ( Paths paths,
const QString &  manifestFilename,
const QString &  registryKeyName,
const QJsonDocument &  document 
)
Here is the caller graph for this function:

◆ runAfter() [1/2]

template<typename Duration , typename Callback >
void chatterino::runAfter ( boost::asio::io_service &  ioService,
Duration  duration,
Callback  cb 
)
Here is the caller graph for this function:

◆ runAfter() [2/2]

template<typename Duration , typename Callback >
void chatterino::runAfter ( std::shared_ptr< boost::asio::steady_timer >  timer,
Duration  duration,
Callback  cb 
)

◆ runBrowserExtensionHost()

void chatterino::runBrowserExtensionHost ( )
Here is the caller graph for this function:

◆ runGui()

void chatterino::runGui ( QApplication &  a,
Paths paths,
Settings settings 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ shortenString()

QString chatterino::shortenString ( const QString &  str,
unsigned  maxWidth 
)
Here is the caller graph for this function:

◆ splitCommand()

QStringList chatterino::splitCommand ( QStringView  command)
Here is the caller graph for this function:

◆ splitListIntoBatches()

template<typename T >
std::vector<T> chatterino::splitListIntoBatches ( const T &  list,
int  batchSize = 100 
)
Here is the caller graph for this function:

◆ startsWithOrContains()

bool chatterino::startsWithOrContains ( const QString &  str1,
const QString &  str2,
Qt::CaseSensitivity  caseSensitivity,
bool  startsWith 
)

startsWithOrContains is a wrapper for checking whether str1 starts with or contains str2 within itself

Here is the caller graph for this function:

◆ stripChannelName()

void chatterino::stripChannelName ( QString &  channelName)
Here is the caller graph for this function:

◆ stripUserName()

void chatterino::stripUserName ( QString &  userName)
Here is the caller graph for this function:

◆ supportsIncognitoLinks()

bool chatterino::supportsIncognitoLinks ( )
Here is the caller graph for this function:

◆ trimChannelName()

bool chatterino::trimChannelName ( const QString &  channelName,
QString &  outChannelName 
)
Here is the caller graph for this function:

◆ twitchUserLoginRegexp()

QRegularExpression chatterino::twitchUserLoginRegexp ( )
Here is the caller graph for this function:

◆ twitchUserNameRegexp()

QRegularExpression chatterino::twitchUserNameRegexp ( )
Here is the caller graph for this function:

◆ type_name()

template<typename T >
constexpr auto chatterino::type_name ( )

◆ upload() [1/3]

void chatterino::upload ( QByteArray  imageData,
ChannelPtr  channel,
ResizingTextEdit textEdit,
std::string  format 
)

◆ upload() [2/3]

void chatterino::upload ( RawImageData  imageData,
ChannelPtr  channel,
ResizingTextEdit textEdit 
)

◆ upload() [3/3]

void chatterino::upload ( const QMimeData *  source,
ChannelPtr  channel,
ResizingTextEdit outputTextEdit 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ uploadImageToNuuls()

void chatterino::uploadImageToNuuls ( RawImageData  imageData,
ChannelPtr  channel,
ResizingTextEdit textEdit 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ weakOf()

template<typename T >
std::weak_ptr<T> chatterino::weakOf ( T *  element)
Here is the caller graph for this function:

◆ wrapLayout()

QWidget * chatterino::wrapLayout ( QLayout *  layout)
Here is the caller graph for this function:

◆ writeToCache()

void chatterino::writeToCache ( const std::shared_ptr< NetworkData > &  data,
const QByteArray &  bytes 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ _settings

std::vector<std::weak_ptr<pajlada::Settings::SettingData> > chatterino::_settings

◆ actionNames

const std::map<HotkeyCategory, ActionDefinitionMap> chatterino::actionNames
inline

◆ channelAuthority

const QSet<QString> chatterino::channelAuthority {"moderator", "vip", "broadcaster"}

◆ concurrentInstance_

ConcurrentSettings* chatterino::concurrentInstance_ {}

◆ cooldownInS

constexpr int chatterino::cooldownInS = 10

◆ ESCAPE_TAG

const QString chatterino::ESCAPE_TAG = QString(ESCAPE_TAG_CHARS, 2)

◆ Failure

const FailureTag chatterino::Failure {}

◆ GIF_FRAME_LENGTH

constexpr long unsigned chatterino::GIF_FRAME_LENGTH = 20

◆ globalAuthority

const QSet<QString> chatterino::globalAuthority {"staff", "admin", "global_mod"}

◆ JOIN_RATELIMIT_BUDGET

const int chatterino::JOIN_RATELIMIT_BUDGET = 18

◆ JOIN_RATELIMIT_COOLDOWN

const int chatterino::JOIN_RATELIMIT_COOLDOWN = 12500

◆ liveUpdatesAddEmoteMessage

const LiveUpdatesAddEmoteMessageTag chatterino::liveUpdatesAddEmoteMessage {}

◆ liveUpdatesRemoveEmoteMessage

const LiveUpdatesRemoveEmoteMessageTag chatterino::liveUpdatesRemoveEmoteMessage {}

◆ liveUpdatesUpdateEmoteMessage

const LiveUpdatesUpdateEmoteMessageTag chatterino::liveUpdatesUpdateEmoteMessage {}

◆ liveUpdatesUpdateEmoteSetMessage

const LiveUpdatesUpdateEmoteSetMessageTag chatterino::liveUpdatesUpdateEmoteSetMessage {}

◆ MAX_FALLOFF_COUNTER

const int chatterino::MAX_FALLOFF_COUNTER = 60

◆ predictions

const QSet<QString> chatterino::predictions {"predictions"}

◆ RECONNECT_BASE_INTERVAL

const int chatterino::RECONNECT_BASE_INTERVAL = 2000

◆ shouldShowWarning

bool chatterino::shouldShowWarning = true

◆ showAddSplitRegions

const Qt::KeyboardModifiers chatterino::showAddSplitRegions
Initial value:
=
Qt::ControlModifier | Qt::AltModifier

◆ showResizeHandlesModifiers

const Qt::KeyboardModifiers chatterino::showResizeHandlesModifiers = Qt::ControlModifier

◆ showSplitOverlayModifiers

const Qt::KeyboardModifiers chatterino::showSplitOverlayModifiers
Initial value:
=
Qt::ControlModifier | Qt::AltModifier

◆ subBadges

const QSet<QString> chatterino::subBadges {"subscriber", "founder"}

◆ Success

const SuccessTag chatterino::Success {}

◆ systemMessage

const SystemMessageTag chatterino::systemMessage {}

◆ timeoutMessage

const TimeoutMessageTag chatterino::timeoutMessage {}

◆ VALID_HELIX_COLORS

const QStringList chatterino::VALID_HELIX_COLORS
Initial value:
{
"blue", "blue_violet", "cadet_blue", "chocolate", "coral",
"dodger_blue", "firebrick", "golden_rod", "green", "hot_pink",
"orange_red", "red", "sea_green", "spring_green", "yellow_green",
}

◆ ZERO_WIDTH_JOINER

const QString chatterino::ZERO_WIDTH_JOINER = QString(QChar(0x200D))