From 2dc3c87758e55f475deb9bb90b765db5f6ebf9a5 Mon Sep 17 00:00:00 2001 From: Shrief Gabr Date: Mon, 9 Sep 2024 11:43:00 +0300 Subject: [PATCH] QmlDesigner: Edit splash screen for Telemetry and Insight - Change also affects crash reporting Fixes: QDS-13585 Change-Id: Ia5587016bcb75bab111056166db2a848f0d94682 Reviewed-by: Thomas Hartmann --- .../qml/splashscreen/Welcome_splash.qml | 9 --- .../studiowelcome/studiowelcomeplugin.cpp | 56 +++---------------- 2 files changed, 8 insertions(+), 57 deletions(-) diff --git a/src/plugins/studiowelcome/qml/splashscreen/Welcome_splash.qml b/src/plugins/studiowelcome/qml/splashscreen/Welcome_splash.qml index 005c367cd9e..1e0d63c3a09 100644 --- a/src/plugins/studiowelcome/qml/splashscreen/Welcome_splash.qml +++ b/src/plugins/studiowelcome/qml/splashscreen/Welcome_splash.qml @@ -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() } } diff --git a/src/plugins/studiowelcome/studiowelcomeplugin.cpp b/src/plugins/studiowelcome/studiowelcomeplugin.cpp index 0a856fcccf2..0f143dee0fc 100644 --- a/src/plugins/studiowelcome/studiowelcomeplugin.cpp +++ b/src/plugins/studiowelcome/studiowelcomeplugin.cpp @@ -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 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", 1, 0, "ProjectModel"); qmlRegisterType("usagestatistics", 1, 0, "UsageStatisticModel"); - qmlRegisterType("studiousagestatistics", 1, 0, "StudioUsageStatisticModel"); m_welcomeMode = new WelcomeMode; }