#pragma once #include #include #include #include #include "auth-oauth.hpp" class TwitchWidget; class TwitchAuth : public OAuthStreamKey { Q_OBJECT friend class TwitchLogin; QSharedPointer chat; QSharedPointer info; QSharedPointer stat; QSharedPointer chatMenu; QSharedPointer infoMenu; QSharedPointer statMenu; bool uiLoaded = false; std::string name; virtual bool RetryLogin() override; virtual void SaveInternal() override; virtual bool LoadInternal() override; bool GetChannelInfo(); virtual void LoadUI() override; public: TwitchAuth(const Def &d); static std::shared_ptr Login(QWidget *parent); QTimer uiLoadTimer; public slots: void TryLoadSecondaryUIPanes(); void LoadSecondaryUIPanes(); };