obs-studio/UI/auth-twitch.hpp
tytan652 e6873d3278 UI: Refactor integration and browser docks
Use the QAction provided by QDockWidget with new Qt connection rather
than creating a new one for each dock.

Separate extra browser docks from extra docks, the latter is meant for
plugin/integration docks.
2023-03-17 20:21:08 +11:00

46 lines
793 B
C++

#pragma once
#include <QDialog>
#include <QTimer>
#include <string>
#include <memory>
#include <json11.hpp>
#include "auth-oauth.hpp"
class BrowserDock;
class TwitchAuth : public OAuthStreamKey {
Q_OBJECT
friend class TwitchLogin;
bool uiLoaded = false;
std::string name;
std::string uuid;
virtual bool RetryLogin() override;
virtual void SaveInternal() override;
virtual bool LoadInternal() override;
bool MakeApiRequest(const char *path, json11::Json &json_out);
bool GetChannelInfo();
virtual void LoadUI() override;
public:
TwitchAuth(const Def &d);
~TwitchAuth();
static std::shared_ptr<Auth> Login(QWidget *parent,
const std::string &service_name);
QTimer uiLoadTimer;
public slots:
void TryLoadSecondaryUIPanes();
void LoadSecondaryUIPanes();
};