diff options
author | Thomas Hartmann <thomas.hartmann@qt.io> | 2022-09-29 09:07:29 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2022-10-26 13:43:37 +0000 |
commit | f8e83c83d38ff7392504d85a8dc975680e9ceedf (patch) | |
tree | e086885169dfbebec3c3f1532313e7360722d4ef | |
parent | b385abfcc4e2a0cc889f76625405e97853f35986 (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.txt | 1 | ||||
-rw-r--r-- | src/datasources/applicationsource.cpp | 53 | ||||
-rw-r--r-- | src/datasources/applicationsource.h | 40 | ||||
-rw-r--r-- | src/usagestatisticplugin.cpp | 8 |
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); |