Permalink
Browse files

Add option to disable Discord Presence in Qt UI

  • Loading branch information...
yourWaifu committed Jun 1, 2018
1 parent d9351a5 commit ae2337aff63933e9620e5d009effaa6b762e3f38
@@ -19,6 +19,10 @@
#include "DolphinQt2/Settings.h"
#include "InputCommon/InputConfig.h"
#ifdef USE_DISCORD_PRESENCE
#include "UICommon/DiscordPresence.h"
#endif
Settings::Settings()
{
qRegisterMetaType<Core::State>();
@@ -476,3 +480,19 @@ void Settings::SetBatchModeEnabled(bool batch)
{
m_batch = batch;
}
#ifdef USE_DISCORD_PRESENCE
void Settings::SetDiscordPresenceEnabled(bool enabled)
{
if (SConfig::GetInstance().bUseDiscordPresence == enabled)
return;
if (SConfig::GetInstance().bUseDiscordPresence)
Discord::Shutdown();
SConfig::GetInstance().bUseDiscordPresence = enabled;
if (SConfig::GetInstance().bUseDiscordPresence)
Discord::Init();
}
#endif
@@ -127,6 +127,9 @@ class Settings final : public QObject
// Other
GameListModel* GetGameListModel() const;
#ifdef USE_DISCORD_PRESENCE
void SetDiscordPresenceEnabled(bool enabled);
#endif
signals:
void ConfigChanged();
void EmulationStateChanged(Core::State new_state);
@@ -85,6 +85,9 @@ void GeneralPane::ConnectLayout()
{
connect(m_checkbox_dualcore, &QCheckBox::toggled, this, &GeneralPane::OnSaveConfig);
connect(m_checkbox_cheats, &QCheckBox::toggled, this, &GeneralPane::OnSaveConfig);
#ifdef USE_DISCORD_PRESENCE
connect(m_checkbox_discord_presence, &QCheckBox::toggled, this, &GeneralPane::OnSaveConfig);
#endif
if (AutoUpdateChecker::SystemSupportsAutoUpdates())
{
@@ -123,6 +126,11 @@ void GeneralPane::CreateBasic()
m_checkbox_cheats = new QCheckBox(tr("Enable Cheats"));
basic_group_layout->addWidget(m_checkbox_cheats);
#ifdef USE_DISCORD_PRESENCE
m_checkbox_discord_presence = new QCheckBox(tr("Show Activity in Your Discord Status"));
basic_group_layout->addWidget(m_checkbox_discord_presence);
#endif
auto* speed_limit_layout = new QFormLayout;
basic_group_layout->addLayout(speed_limit_layout);
@@ -215,6 +223,9 @@ void GeneralPane::LoadConfig()
#endif
m_checkbox_dualcore->setChecked(SConfig::GetInstance().bCPUThread);
m_checkbox_cheats->setChecked(Settings::Instance().GetCheatsEnabled());
#ifdef USE_DISCORD_PRESENCE
m_checkbox_discord_presence->setChecked(SConfig::GetInstance().bUseDiscordPresence);
#endif
int selection = qRound(SConfig::GetInstance().m_EmulationSpeed * 10);
if (selection < m_combobox_speedlimit->count())
m_combobox_speedlimit->setCurrentIndex(selection);
@@ -260,6 +271,10 @@ void GeneralPane::OnSaveConfig()
UpdateTrackFromIndex(m_combobox_update_track->currentIndex()));
}
#ifdef USE_DISCORD_PRESENCE
Settings::Instance().SetDiscordPresenceEnabled(m_checkbox_discord_presence->isChecked());
#endif
#if defined(USE_ANALYTICS) && USE_ANALYTICS
Settings::Instance().SetAnalyticsEnabled(m_checkbox_enable_analytics->isChecked());
#endif
@@ -44,6 +44,9 @@ class GeneralPane final : public QWidget
QComboBox* m_combobox_update_track;
QCheckBox* m_checkbox_dualcore;
QCheckBox* m_checkbox_cheats;
#ifdef USE_DISCORD_PRESENCE
QCheckBox* m_checkbox_discord_presence;
#endif
QLabel* m_label_speedlimit;
std::vector<QRadioButton*> m_cpu_cores;
@@ -51,6 +51,7 @@ void Shutdown()
if (!SConfig::GetInstance().bUseDiscordPresence)
return;
Discord_ClearPresence();
Discord_Shutdown();
#endif
}

0 comments on commit ae2337a

Please sign in to comment.