Merge pull request #5458 from spycrab/qt_analytics
Qt: Implement analytics (+ prompt)
This commit is contained in:
commit
1c9d11c0e9
|
@ -4,7 +4,10 @@
|
||||||
|
|
||||||
#include <QAbstractEventDispatcher>
|
#include <QAbstractEventDispatcher>
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
#include "Core/Analytics.h"
|
||||||
#include "Core/BootManager.h"
|
#include "Core/BootManager.h"
|
||||||
#include "Core/Core.h"
|
#include "Core/Core.h"
|
||||||
#include "DolphinQt2/Host.h"
|
#include "DolphinQt2/Host.h"
|
||||||
|
@ -36,8 +39,41 @@ int main(int argc, char* argv[])
|
||||||
}
|
}
|
||||||
if (!retval)
|
if (!retval)
|
||||||
{
|
{
|
||||||
|
DolphinAnalytics::Instance()->ReportDolphinStart("qt");
|
||||||
|
|
||||||
MainWindow win;
|
MainWindow win;
|
||||||
win.show();
|
win.show();
|
||||||
|
|
||||||
|
#if defined(USE_ANALYTICS) && USE_ANALYTICS
|
||||||
|
if (!Settings().HasAskedForAnalyticsPermission())
|
||||||
|
{
|
||||||
|
QMessageBox analytics_prompt(&win);
|
||||||
|
|
||||||
|
analytics_prompt.setIcon(QMessageBox::Question);
|
||||||
|
analytics_prompt.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
|
||||||
|
analytics_prompt.setText(QObject::tr(
|
||||||
|
"Do you authorize Dolphin to report this information to Dolphin's developers?"));
|
||||||
|
analytics_prompt.setInformativeText(
|
||||||
|
QObject::tr("If authorized, Dolphin can collect data on its performance, "
|
||||||
|
"feature usage, and configuration, as well as data on your system's "
|
||||||
|
"hardware and operating system.\n\n"
|
||||||
|
"No private data is ever collected. This data helps us understand "
|
||||||
|
"how people and emulated games use Dolphin and prioritize our "
|
||||||
|
"efforts. It also helps us identify rare configurations that are "
|
||||||
|
"causing bugs, performance and stability issues.\n"
|
||||||
|
"This authorization can be revoked at any time through Dolphin's "
|
||||||
|
"settings.\n\n"));
|
||||||
|
|
||||||
|
const int answer = analytics_prompt.exec();
|
||||||
|
|
||||||
|
Settings().SetAskedForAnalyticsPermission(true);
|
||||||
|
Settings().SetAnalyticsEnabled(answer == QMessageBox::Yes);
|
||||||
|
Settings().Save();
|
||||||
|
|
||||||
|
DolphinAnalytics::Instance()->ReloadConfig();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
retval = app.exec();
|
retval = app.exec();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -346,3 +346,13 @@ QVector<QString> Settings::GetProfiles(const InputConfig* config) const
|
||||||
|
|
||||||
return vec;
|
return vec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Settings::HasAskedForAnalyticsPermission() const
|
||||||
|
{
|
||||||
|
return SConfig::GetInstance().m_analytics_permission_asked;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Settings::SetAskedForAnalyticsPermission(bool value)
|
||||||
|
{
|
||||||
|
SConfig::GetInstance().m_analytics_permission_asked = value;
|
||||||
|
}
|
||||||
|
|
|
@ -62,6 +62,8 @@ public:
|
||||||
void SetForceNTSCJ(bool val);
|
void SetForceNTSCJ(bool val);
|
||||||
|
|
||||||
// Analytics
|
// Analytics
|
||||||
|
bool HasAskedForAnalyticsPermission() const;
|
||||||
|
void SetAskedForAnalyticsPermission(bool value);
|
||||||
bool GetAnalyticsEnabled() const;
|
bool GetAnalyticsEnabled() const;
|
||||||
void SetAnalyticsEnabled(bool val);
|
void SetAnalyticsEnabled(bool val);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue