UI: Check CEF available when loading auth

This commit is contained in:
jp9000 2019-02-25 23:44:39 -08:00
parent 28860411dd
commit 484c3847fc
4 changed files with 29 additions and 0 deletions

View File

@ -213,6 +213,8 @@ public:
void MixerAuth::LoadUI()
{
if (!cef)
return;
if (uiLoaded)
return;
if (!GetChannelInfo())
@ -261,6 +263,9 @@ void MixerAuth::LoadUI()
bool MixerAuth::RetryLogin()
{
if (!cef)
return false;
OAuthLogin login(OBSBasic::Get(), MIXER_AUTH_URL, false);
cef->add_popup_whitelist_url("about:blank", &login);
@ -278,6 +283,10 @@ bool MixerAuth::RetryLogin()
std::shared_ptr<Auth> MixerAuth::Login(QWidget *parent)
{
if (!cef) {
return nullptr;
}
OAuthLogin login(parent, MIXER_AUTH_URL, false);
cef->add_popup_whitelist_url("about:blank", &login);

View File

@ -26,6 +26,10 @@ OAuthLogin::OAuthLogin(QWidget *parent, const std::string &url, bool token)
: QDialog (parent),
get_token (token)
{
if (!cef) {
return;
}
setWindowTitle("Auth");
setMinimumSize(400, 400);
resize(700, 700);
@ -66,6 +70,15 @@ OAuthLogin::~OAuthLogin()
delete cefWidget;
}
int OAuthLogin::exec()
{
if (cefWidget) {
return QDialog::exec();
}
return QDialog::Rejected;
}
void OAuthLogin::urlChanged(const QString &url)
{
std::string uri = get_token ? "access_token=" : "code=";

View File

@ -23,6 +23,8 @@ public:
inline QString GetCode() const {return code;}
inline bool LoadFail() const {return fail;}
virtual int exec() override;
public slots:
void urlChanged(const QString &url);
};

View File

@ -42,6 +42,9 @@ static Auth::Def twitchDef = {
TwitchAuth::TwitchAuth(const Def &d)
: OAuthStreamKey(d)
{
if (!cef)
return;
cef->add_popup_whitelist_url(
"https://twitch.tv/popout/frankerfacez/chat?ffz-settings",
this);
@ -194,6 +197,8 @@ static const char *referrer_script2 = "'; }});";
void TwitchAuth::LoadUI()
{
if (!cef)
return;
if (uiLoaded)
return;
if (!GetChannelInfo())