forked from qt-creator/qt-creator
QmlDesigner: Edit splash screen for Telemetry and Insight
- Change also affects crash reporting Fixes: QDS-13585 Change-Id: Ia5587016bcb75bab111056166db2a848f0d94682 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -6,7 +6,6 @@ import QtQuick.Layouts 1.15
|
||||
import StudioFonts 1.0
|
||||
import projectmodel 1.0
|
||||
import usagestatistics 1.0
|
||||
import studiousagestatistics 1.0
|
||||
import QtQuick.Shapes 1.0
|
||||
|
||||
Rectangle {
|
||||
@@ -160,10 +159,6 @@ Rectangle {
|
||||
UsageStatisticModel {
|
||||
id: usageStatisticModel
|
||||
}
|
||||
|
||||
StudioUsageStatisticModel {
|
||||
id: studioUsageStatisticModel
|
||||
}
|
||||
}
|
||||
|
||||
//DOF seems to do nothing, we should probably just remove it.
|
||||
@@ -207,9 +202,7 @@ Rectangle {
|
||||
text: qsTr("Turn Off")
|
||||
fontpixelSize: 14
|
||||
onClicked: {
|
||||
studioUsageStatisticModel.setInsightEnabled(false)
|
||||
usageStatisticModel.setTelemetryEnabled(false)
|
||||
usageStatisticModel.setCrashReporterEnabled(false)
|
||||
welcome_splash.closeClicked()
|
||||
}
|
||||
}
|
||||
@@ -219,9 +212,7 @@ Rectangle {
|
||||
forceHover: false
|
||||
fontpixelSize: 14
|
||||
onClicked: {
|
||||
studioUsageStatisticModel.setInsightEnabled(true)
|
||||
usageStatisticModel.setTelemetryEnabled(true)
|
||||
usageStatisticModel.setCrashReporterEnabled(true)
|
||||
welcome_splash.closeClicked()
|
||||
}
|
||||
}
|
||||
|
@@ -87,9 +87,7 @@ static void openOpenProjectDialog()
|
||||
|
||||
const char DO_NOT_SHOW_SPLASHSCREEN_AGAIN_KEY[] = "StudioSplashScreen";
|
||||
|
||||
const char DETAILED_USAGE_STATISTICS[] = "DetailedUsageStatistics";
|
||||
const char STATISTICS_COLLECTION_MODE[] = "StatisticsCollectionMode";
|
||||
const char NO_TELEMETRY[] = "NoTelemetry";
|
||||
const char TELEMETRY_INSIGHT_SETTING[] = "Telemetry";
|
||||
const char CRASH_REPORTER_SETTING[] = "CrashReportingEnabled";
|
||||
|
||||
QPointer<QQuickView> s_viewWindow = nullptr;
|
||||
@@ -157,40 +155,24 @@ public:
|
||||
|
||||
void setupModel()
|
||||
{
|
||||
auto settings = makeUserFeedbackSettings();
|
||||
QVariant value = settings->value(STATISTICS_COLLECTION_MODE);
|
||||
m_usageStatisticEnabled = value.isValid() && value.toString() == DETAILED_USAGE_STATISTICS;
|
||||
|
||||
m_usageStatisticEnabled = Core::ICore::settings()->value(TELEMETRY_INSIGHT_SETTING, false).toBool();
|
||||
m_crashReporterEnabled = Core::ICore::settings()->value(CRASH_REPORTER_SETTING, false).toBool();
|
||||
|
||||
emit usageStatisticChanged();
|
||||
emit crashReporterEnabledChanged();
|
||||
}
|
||||
|
||||
Q_INVOKABLE void setCrashReporterEnabled(bool b)
|
||||
{
|
||||
if (m_crashReporterEnabled == b)
|
||||
return;
|
||||
|
||||
Core::ICore::settings()->setValue(CRASH_REPORTER_SETTING, b);
|
||||
|
||||
Core::ICore::askForRestart(tr("The change will take effect after restart."));
|
||||
|
||||
setupModel();
|
||||
}
|
||||
|
||||
Q_INVOKABLE void setTelemetryEnabled(bool b)
|
||||
{
|
||||
if (m_usageStatisticEnabled == b)
|
||||
if (m_usageStatisticEnabled == b && m_crashReporterEnabled == b)
|
||||
return;
|
||||
|
||||
auto settings = makeUserFeedbackSettings();
|
||||
bool restartPending = ICore::askForRestart(tr("The change will take effect after restart."));
|
||||
|
||||
settings->setValue(STATISTICS_COLLECTION_MODE, b ? DETAILED_USAGE_STATISTICS : NO_TELEMETRY);
|
||||
ICore::settings()->setValue(TELEMETRY_INSIGHT_SETTING, b);
|
||||
ICore::settings()->setValue(CRASH_REPORTER_SETTING, b);
|
||||
|
||||
Core::ICore::askForRestart(tr("The change will take effect after restart."));
|
||||
|
||||
setupModel();
|
||||
if (restartPending)
|
||||
ICore::restart();
|
||||
}
|
||||
|
||||
signals:
|
||||
@@ -203,27 +185,6 @@ private:
|
||||
QString m_versionString;
|
||||
};
|
||||
|
||||
class StudioUsageStatisticPluginModel : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit StudioUsageStatisticPluginModel(QObject *parent = nullptr)
|
||||
: QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
Q_INVOKABLE void setInsightEnabled(bool b)
|
||||
{
|
||||
bool currentTrackingStatus = Core::ICore::settings()->value("InsightTracking", false).toBool();
|
||||
|
||||
if (currentTrackingStatus == b)
|
||||
return;
|
||||
|
||||
Core::ICore::settings()->setValue("InsightTracking", b);
|
||||
Core::ICore::askForRestart(tr("The change will take effect after restart."));
|
||||
}
|
||||
};
|
||||
|
||||
class ProjectModel : public QAbstractListModel
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -599,7 +560,6 @@ void StudioWelcomePlugin::initialize()
|
||||
{
|
||||
qmlRegisterType<ProjectModel>("projectmodel", 1, 0, "ProjectModel");
|
||||
qmlRegisterType<UsageStatisticPluginModel>("usagestatistics", 1, 0, "UsageStatisticModel");
|
||||
qmlRegisterType<StudioUsageStatisticPluginModel>("studiousagestatistics", 1, 0, "StudioUsageStatisticModel");
|
||||
|
||||
m_welcomeMode = new WelcomeMode;
|
||||
}
|
||||
|
Reference in New Issue
Block a user