aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2022-09-29 09:07:29 +0200
committerTim Jenssen <tim.jenssen@qt.io>2022-10-26 13:43:37 +0000
commitf8e83c83d38ff7392504d85a8dc975680e9ceedf (patch)
treee086885169dfbebec3c3f1532313e7360722d4ef
parentb385abfcc4e2a0cc889f76625405e97853f35986 (diff)
Add ApplicationSource8.0
The KUserFeedback data sources do not include the application name. Since we have "Qt Design Studio" and "Qt Creator" this makes distinguishing the different applications easier. I added also the version for consistency and ease of use on the server side. Task-number: QDS-7821 Change-Id: I4b71f1ca8797e21bbbc8d1e2a1a21dac0b6d5eee Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/datasources/applicationsource.cpp53
-rw-r--r--src/datasources/applicationsource.h40
-rw-r--r--src/usagestatisticplugin.cpp8
4 files changed, 99 insertions, 3 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 58c0f82..94167a6 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -28,6 +28,7 @@ add_qtc_plugin(UsageStatistic
datasources/qmldesignerusagetimesource.cpp
datasources/qmldesignerusageeventsource.cpp
datasources/servicesource.cpp
+ datasources/applicationsource.cpp
ui/usagestatisticpage.cpp
ui/usagestatisticwidget.cpp
services/datasubmitter.cpp
diff --git a/src/datasources/applicationsource.cpp b/src/datasources/applicationsource.cpp
new file mode 100644
index 0000000..57bf542
--- /dev/null
+++ b/src/datasources/applicationsource.cpp
@@ -0,0 +1,53 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0 WITH Qt-GPL-exception-1.0
+
+#include "applicationsource.h"
+
+#include <app/app_version.h>
+#include <coreplugin/coreconstants.h>
+
+#include "common/scopedsettingsgroupsetter.h"
+#include "common/utils.h"
+
+#include <QtCore/QSettings>
+
+namespace UsageStatistic {
+namespace Internal {
+
+using namespace KUserFeedback;
+
+ApplicationSource::ApplicationSource()
+ : AbstractDataSource("applicationData", Provider::BasicSystemInformation)
+{}
+
+QString ApplicationSource::name() const
+{
+ return tr("Application data");
+}
+
+QString ApplicationSource::description() const
+{
+ return tr("The name and version of the application.");
+}
+
+QVariant ApplicationSource::data()
+{
+ return QVariantMap{
+ {"applicationName", Core::Constants::IDE_DISPLAY_NAME},
+ {"applicationVersion", Core::Constants::IDE_VERSION_LONG},
+
+ };
+}
+
+void ApplicationSource::loadImpl(QSettings *settings)
+{
+ auto setter = ScopedSettingsGroupSetter::forDataSource(*this, *settings);
+}
+
+void ApplicationSource::storeImpl(QSettings *settings)
+{
+ auto setter = ScopedSettingsGroupSetter::forDataSource(*this, *settings);
+}
+
+} // namespace Internal
+} // namespace UsageStatistic
diff --git a/src/datasources/applicationsource.h b/src/datasources/applicationsource.h
new file mode 100644
index 0000000..5dc08bb
--- /dev/null
+++ b/src/datasources/applicationsource.h
@@ -0,0 +1,40 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0 WITH Qt-GPL-exception-1.0
+
+#pragma once
+
+#include <QtCore/QVariantMap>
+
+#include <KUserFeedback/AbstractDataSource>
+#include <KUserFeedback/Provider>
+
+namespace UsageStatistic {
+namespace Internal {
+
+//! Additional application data
+class ApplicationSource : public KUserFeedback::AbstractDataSource
+{
+ Q_DECLARE_TR_FUNCTIONS(ApplicationSource);
+
+public:
+ ApplicationSource();
+
+public: // AbstractDataSource interface
+ QString name() const override;
+
+ QString description() const override;
+
+ /*! The output data format is:
+ * {
+ * "applicationName": "Qt Creator",
+ * "applicationVersion": "8.0.0"
+ * }
+ */
+ QVariant data() override;
+
+ void loadImpl(QSettings *settings) override;
+ void storeImpl(QSettings *settings) override;
+};
+
+} // Internal
+} // UsageStatistic
diff --git a/src/usagestatisticplugin.cpp b/src/usagestatisticplugin.cpp
index 98689eb..aa8ce90 100644
--- a/src/usagestatisticplugin.cpp
+++ b/src/usagestatisticplugin.cpp
@@ -49,14 +49,15 @@
#include <KUserFeedback/UsageTimeSource>
#include <KUserFeedback/StyleInfoSource>
-#include "datasources/qtclicensesource.h"
+#include "datasources/applicationsource.h".h "
#include "datasources/buildcountsource.h"
#include "datasources/buildsystemsource.h"
-#include "datasources/modeusagetimesource.h"
#include "datasources/examplesdatasource.h"
#include "datasources/kitsource.h"
-#include "datasources/qmldesignerusagetimesource.h"
+#include "datasources/modeusagetimesource.h"
#include "datasources/qmldesignerusageeventsource.h"
+#include "datasources/qmldesignerusagetimesource.h"
+#include "datasources/qtclicensesource.h"
#include "datasources/servicesource.h"
#include "services/datasubmitter.h"
@@ -102,6 +103,7 @@ static void addDefaultDataSources(KUserFeedback::Provider &provider)
static void addQtCreatorDataSources(KUserFeedback::Provider &provider)
{
+ provider.addDataSource(new ApplicationSource);
provider.addDataSource(new QtcLicenseSource);
provider.addDataSource(new BuildCountSource);
provider.addDataSource(new BuildSystemSource);