diff options
| author | Pierre Bourdon <delroth@gmail.com> | 2018-08-19 13:43:33 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-19 13:43:33 +0200 |
| commit | 0fdb6f4267dd34fc15d49d1aeaffd6734851936d (patch) | |
| tree | 37518dc1ce49c07c1bae954dddaf2c0d70cd8ffd /Source/Core/DolphinQt/MainWindow.cpp | |
| parent | 0ed0e513d2865a4ebbbf8fd41cc1c7d793cb255b (diff) | |
| parent | 158c0d54b1b4f332ab8fca897a8396bde5686e74 (diff) | |
Merge pull request #7249 from yourWaifu/discord-rpc-join
Add Discord Join Net Play functionally
Diffstat (limited to 'Source/Core/DolphinQt/MainWindow.cpp')
| -rw-r--r-- | Source/Core/DolphinQt/MainWindow.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/Source/Core/DolphinQt/MainWindow.cpp b/Source/Core/DolphinQt/MainWindow.cpp index bacd46df81..3043479b84 100644 --- a/Source/Core/DolphinQt/MainWindow.cpp +++ b/Source/Core/DolphinQt/MainWindow.cpp @@ -67,6 +67,7 @@ #include "DolphinQt/Debugger/MemoryWidget.h" #include "DolphinQt/Debugger/RegisterWidget.h" #include "DolphinQt/Debugger/WatchWidget.h" +#include "DolphinQt/DiscordHandler.h" #include "DolphinQt/FIFO/FIFOPlayerWindow.h" #include "DolphinQt/GCMemcardManager.h" #include "DolphinQt/GameList/GameList.h" @@ -646,7 +647,8 @@ void MainWindow::OnStopComplete() HideRenderWidget(); EnableScreenSaver(true); #ifdef USE_DISCORD_PRESENCE - Discord::UpdateDiscordPresence(); + if (!m_netplay_dialog->isVisible()) + Discord::UpdateDiscordPresence(); #endif SetFullScreenResolution(false); @@ -800,7 +802,8 @@ void MainWindow::StartGame(std::unique_ptr<BootParameters>&& parameters) ShowRenderWidget(); #ifdef USE_DISCORD_PRESENCE - Discord::UpdateDiscordPresence(); + if (!NetPlay::IsNetPlayRunning()) + Discord::UpdateDiscordPresence(); #endif if (SConfig::GetInstance().bFullscreen) @@ -1051,6 +1054,9 @@ void MainWindow::NetPlayInit() { m_netplay_setup_dialog = new NetPlaySetupDialog(this); m_netplay_dialog = new NetPlayDialog; +#ifdef USE_DISCORD_PRESENCE + m_netplay_discord = new DiscordHandler(this); +#endif connect(m_netplay_dialog, &NetPlayDialog::Boot, this, [this](const QString& path) { StartGame(path); }); @@ -1058,6 +1064,12 @@ void MainWindow::NetPlayInit() connect(m_netplay_dialog, &NetPlayDialog::rejected, this, &MainWindow::NetPlayQuit); connect(m_netplay_setup_dialog, &NetPlaySetupDialog::Join, this, &MainWindow::NetPlayJoin); connect(m_netplay_setup_dialog, &NetPlaySetupDialog::Host, this, &MainWindow::NetPlayHost); +#ifdef USE_DISCORD_PRESENCE + connect(m_netplay_discord, &DiscordHandler::Join, this, &MainWindow::NetPlayJoin); + + Discord::InitNetPlayFunctionality(*m_netplay_discord); + m_netplay_discord->Start(); +#endif } bool MainWindow::NetPlayJoin() @@ -1176,6 +1188,9 @@ void MainWindow::NetPlayQuit() { Settings::Instance().ResetNetPlayClient(); Settings::Instance().ResetNetPlayServer(); +#ifdef USE_DISCORD_PRESENCE + Discord::UpdateDiscordPresence(); +#endif } void MainWindow::EnableScreenSaver(bool enable) |
