From 7e23d1b63e8181fdd3bd3ff937a41ca784ce7b25 Mon Sep 17 00:00:00 2001 From: Alex Anderson Date: Wed, 6 Mar 2019 14:26:12 -0800 Subject: [PATCH] UI: Add Twitch Activity Feed Closes obsproject/obs-studio#1721 --- UI/auth-twitch.cpp | 23 +++++++++++++++++++++++ UI/auth-twitch.hpp | 2 ++ UI/data/locale/en-US.ini | 1 + 3 files changed, 26 insertions(+) diff --git a/UI/auth-twitch.cpp b/UI/auth-twitch.cpp index 19c6584e2..8f07084c6 100644 --- a/UI/auth-twitch.cpp +++ b/UI/auth-twitch.cpp @@ -326,18 +326,41 @@ void TwitchAuth::LoadSecondaryUIPanes() /* ----------------------------------- */ + url = "https://www.twitch.tv/popout/"; + url += name; + url += "/dashboard/live/activity-feed"; + + feed.reset(new TwitchWidget()); + feed->setObjectName("twitchFeed"); + feed->resize(300, 650); + feed->setMinimumSize(200, 300); + feed->setWindowTitle(QTStr("TwitchAuth.Feed")); + feed->setAllowedAreas(Qt::AllDockWidgetAreas); + + browser = cef->create_widget(nullptr, url, panel_cookies); + feed->SetWidget(browser); + browser->setStartupScript(script); + + main->addDockWidget(Qt::RightDockWidgetArea, feed.data()); + feedMenu.reset(main->AddDockWidget(feed.data())); + + /* ----------------------------------- */ + info->setFloating(true); stat->setFloating(true); + feed->setFloating(true); QSize statSize = stat->frameSize(); info->move(pos.x() + 50, pos.y() + 50); stat->move(pos.x() + size.width() / 2 - statSize.width() / 2, pos.y() + size.height() / 2 - statSize.height() / 2); + feed->move(pos.x() + 100, pos.y() + 100); if (firstLoad) { info->setVisible(true); stat->setVisible(false); + feed->setVisible(false); } else { const char *dockStateStr = config_get_string(main->Config(), service(), "DockState"); diff --git a/UI/auth-twitch.hpp b/UI/auth-twitch.hpp index 82c42dc1d..76698d11d 100644 --- a/UI/auth-twitch.hpp +++ b/UI/auth-twitch.hpp @@ -17,9 +17,11 @@ class TwitchAuth : public OAuthStreamKey { QSharedPointer chat; QSharedPointer info; QSharedPointer stat; + QSharedPointer feed; QSharedPointer chatMenu; QSharedPointer infoMenu; QSharedPointer statMenu; + QSharedPointer feedMenu; bool uiLoaded = false; std::string name; diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini index 9d347a383..571b6fb72 100644 --- a/UI/data/locale/en-US.ini +++ b/UI/data/locale/en-US.ini @@ -110,6 +110,7 @@ Auth.ChannelFailure.Text="Failed to load channel information for %1\n\n%2: %3" Auth.Chat="Chat" Auth.StreamInfo="Stream Information" TwitchAuth.Stats="Twitch Stats" +TwitchAuth.Feed="Twitch Activity Feed" # copy filters Copy.Filters="Copy Filters"