Skip to content

Commit

Permalink
Merge pull request #6507 from spycrab/qt_analytics_fix
Browse files Browse the repository at this point in the history
Qt: Update analytics checkbox after initial prompt
  • Loading branch information
Helios747 committed Mar 23, 2018
2 parents cd4881d + 8ebb3a0 commit 4178726
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 3 deletions.
2 changes: 1 addition & 1 deletion Source/Core/DolphinQt2/Main.cpp
Expand Up @@ -153,7 +153,7 @@ int main(int argc, char* argv[])
const int answer = analytics_prompt.exec();

SConfig::GetInstance().m_analytics_permission_asked = true;
SConfig::GetInstance().m_analytics_enabled = (answer == QMessageBox::Yes);
Settings::Instance().SetAnalyticsEnabled(answer == QMessageBox::Yes);

DolphinAnalytics::Instance()->ReloadConfig();
}
Expand Down
15 changes: 15 additions & 0 deletions Source/Core/DolphinQt2/Settings.cpp
Expand Up @@ -335,3 +335,18 @@ QString Settings::GetAutoUpdateTrack() const
{
return QString::fromStdString(SConfig::GetInstance().m_auto_update_track);
}

void Settings::SetAnalyticsEnabled(bool enabled)
{
if (enabled == IsAnalyticsEnabled())
return;

SConfig::GetInstance().m_analytics_enabled = enabled;

emit AnalyticsToggled(enabled);
}

bool Settings::IsAnalyticsEnabled() const
{
return SConfig::GetInstance().m_analytics_enabled;
}
5 changes: 5 additions & 0 deletions Source/Core/DolphinQt2/Settings.h
Expand Up @@ -104,6 +104,10 @@ class Settings final : public QObject
QString GetAutoUpdateTrack() const;
void SetAutoUpdateTrack(const QString& mode);

// Analytics
bool IsAnalyticsEnabled() const;
void SetAnalyticsEnabled(bool enabled);

// Other
GameListModel* GetGameListModel() const;
signals:
Expand All @@ -126,6 +130,7 @@ class Settings final : public QObject
void DebugModeToggled(bool enabled);
void DebugFontChanged(QFont font);
void AutoUpdateTrackChanged(const QString& mode);
void AnalyticsToggled(bool enabled);

private:
bool m_controller_state_needed = false;
Expand Down
5 changes: 3 additions & 2 deletions Source/Core/DolphinQt2/Settings/GeneralPane.cpp
Expand Up @@ -82,6 +82,7 @@ void GeneralPane::ConnectLayout()
connect(m_radio_jit, &QRadioButton::clicked, this, &GeneralPane::OnSaveConfig);

#if defined(USE_ANALYTICS) && USE_ANALYTICS
connect(&Settings::Instance(), &Settings::AnalyticsToggled, this, &GeneralPane::LoadConfig);
connect(m_checkbox_enable_analytics, &QCheckBox::clicked, this, &GeneralPane::OnSaveConfig);
connect(m_button_generate_new_identity, &QPushButton::clicked, this,
&GeneralPane::GenerateNewIdentity);
Expand Down Expand Up @@ -191,7 +192,7 @@ void GeneralPane::LoadConfig()
}

#if defined(USE_ANALYTICS) && USE_ANALYTICS
m_checkbox_enable_analytics->setChecked(SConfig::GetInstance().m_analytics_enabled);
m_checkbox_enable_analytics->setChecked(Settings::Instance().IsAnalyticsEnabled());
#endif
m_checkbox_dualcore->setChecked(SConfig::GetInstance().bCPUThread);
m_checkbox_cheats->setChecked(Settings::Instance().GetCheatsEnabled());
Expand Down Expand Up @@ -251,7 +252,7 @@ void GeneralPane::OnSaveConfig()
}

#if defined(USE_ANALYTICS) && USE_ANALYTICS
SConfig::GetInstance().m_analytics_enabled = m_checkbox_enable_analytics->isChecked();
Settings::Instance().SetAnalyticsEnabled(m_checkbox_enable_analytics->isChecked());
#endif
SConfig::GetInstance().bCPUThread = m_checkbox_dualcore->isChecked();
Settings::Instance().SetCheatsEnabled(m_checkbox_cheats->isChecked());
Expand Down

0 comments on commit 4178726

Please sign in to comment.