From ef010f9bd43d6a9475c64e6effc1bf3fbcc4423c Mon Sep 17 00:00:00 2001
From: Vitaly Fanaskov <vitaly.fanaskov@qt.io>
Date: Thu, 14 Mar 2019 18:25:12 +0100
Subject: [PATCH] Add method name() to the *DataSource classes

Summary:
This method provides human-readable name that supposed to be used in
UI elements. One of the usage cases is to give the user an ability to
work with individual data sources (e.g., check data, activate/
deactivate, check description, and so on).
This method is not pure virtual because there are might be some data
sources that are not good for individual processing by the user. For
example, trackers of individual QML properties.

Reviewers: vkrause

Reviewed By: vkrause

Differential Revision: https://phabricator.kde.org/D19756
---
 src/provider/core/abstractdatasource.cpp       | 5 +++++
 src/provider/core/abstractdatasource.h         | 6 ++++++
 src/provider/core/applicationversionsource.cpp | 5 +++++
 src/provider/core/applicationversionsource.h   | 3 +++
 src/provider/core/compilerinfosource.cpp       | 5 +++++
 src/provider/core/compilerinfosource.h         | 3 +++
 src/provider/core/cpuinfosource.cpp            | 5 +++++
 src/provider/core/cpuinfosource.h              | 3 +++
 src/provider/core/localeinfosource.cpp         | 5 +++++
 src/provider/core/localeinfosource.h           | 3 +++
 src/provider/core/openglinfosource.cpp         | 5 +++++
 src/provider/core/openglinfosource.h           | 3 +++
 src/provider/core/platforminfosource.cpp       | 5 +++++
 src/provider/core/platforminfosource.h         | 3 +++
 src/provider/core/qpainfosource.cpp            | 5 +++++
 src/provider/core/qpainfosource.h              | 3 +++
 src/provider/core/qtversionsource.cpp          | 5 +++++
 src/provider/core/qtversionsource.h            | 3 +++
 src/provider/core/screeninfosource.cpp         | 5 +++++
 src/provider/core/screeninfosource.h           | 3 +++
 src/provider/core/startcountsource.cpp         | 5 +++++
 src/provider/core/startcountsource.h           | 3 +++
 src/provider/core/usagetimesource.cpp          | 5 +++++
 src/provider/core/usagetimesource.h            | 3 +++
 src/provider/widgets/styleinfosource.cpp       | 5 +++++
 src/provider/widgets/styleinfosource.h         | 3 +++
 26 files changed, 107 insertions(+)

diff --git a/src/provider/core/abstractdatasource.cpp b/src/provider/core/abstractdatasource.cpp
index d6e1ef9..70dba3b 100644
--- a/src/provider/core/abstractdatasource.cpp
+++ b/src/provider/core/abstractdatasource.cpp
@@ -47,6 +47,11 @@ QString AbstractDataSource::id() const
     return d_ptr->id;
 }
 
+QString AbstractDataSource::name() const
+{
+    return {};
+}
+
 void AbstractDataSource::setId(const QString& id)
 {
     d_ptr->id = id;
diff --git a/src/provider/core/abstractdatasource.h b/src/provider/core/abstractdatasource.h
index 133de97..cdf80aa 100644
--- a/src/provider/core/abstractdatasource.h
+++ b/src/provider/core/abstractdatasource.h
@@ -45,6 +45,12 @@ public:
      */
     QString id() const;
 
+    /*! Returns a short name of this data source.
+     *  Can be empty if short name is meaningless for this data source.
+     *  @returns A translated, human-readable string.
+     */
+    virtual QString name() const;
+
     /*! Returns a human-readable, translated description of what
      *  this source provides.
      *  @see id()
diff --git a/src/provider/core/applicationversionsource.cpp b/src/provider/core/applicationversionsource.cpp
index 6f1dd94..2f85498 100644
--- a/src/provider/core/applicationversionsource.cpp
+++ b/src/provider/core/applicationversionsource.cpp
@@ -41,3 +41,8 @@ QVariant ApplicationVersionSource::data()
     m.insert(QStringLiteral("value"), QCoreApplication::applicationVersion());
     return m;
 }
+
+QString ApplicationVersionSource::name() const
+{
+    return tr("Application version");
+}
diff --git a/src/provider/core/applicationversionsource.h b/src/provider/core/applicationversionsource.h
index 574bbee..eb4e081 100644
--- a/src/provider/core/applicationversionsource.h
+++ b/src/provider/core/applicationversionsource.h
@@ -34,7 +34,10 @@ class KUSERFEEDBACKCORE_EXPORT ApplicationVersionSource : public AbstractDataSou
 public:
     /*! Create a new application version source. */
     ApplicationVersionSource();
+
+    QString name() const override;
     QString description() const override;
+
     QVariant data() override;
 };
 
diff --git a/src/provider/core/compilerinfosource.cpp b/src/provider/core/compilerinfosource.cpp
index 6b537a8..869a51b 100644
--- a/src/provider/core/compilerinfosource.cpp
+++ b/src/provider/core/compilerinfosource.cpp
@@ -59,5 +59,10 @@ QVariant CompilerInfoSource::data()
     return m;
 }
 
+QString CompilerInfoSource::name() const
+{
+    return tr("Compiler information");
+}
+
 #undef STRINGIFY
 #undef INT2STR
diff --git a/src/provider/core/compilerinfosource.h b/src/provider/core/compilerinfosource.h
index 7caf70a..43c3765 100644
--- a/src/provider/core/compilerinfosource.h
+++ b/src/provider/core/compilerinfosource.h
@@ -37,7 +37,10 @@ public:
     Q_DECLARE_TR_FUNCTIONS(KUserFeedback::CompilerInfoSource)
 public:
     CompilerInfoSource();
+
+    QString name() const override;
     QString description() const override;
+
     QVariant data() override;
 };
 
diff --git a/src/provider/core/cpuinfosource.cpp b/src/provider/core/cpuinfosource.cpp
index a4aeae4..cc9edca 100644
--- a/src/provider/core/cpuinfosource.cpp
+++ b/src/provider/core/cpuinfosource.cpp
@@ -40,3 +40,8 @@ QVariant CpuInfoSource::data()
     m.insert(QStringLiteral("count"), QThread::idealThreadCount());
     return m;
 }
+
+QString CpuInfoSource::name() const
+{
+    return tr("CPU information");
+}
diff --git a/src/provider/core/cpuinfosource.h b/src/provider/core/cpuinfosource.h
index 9f9ece3..0b3fdde 100644
--- a/src/provider/core/cpuinfosource.h
+++ b/src/provider/core/cpuinfosource.h
@@ -32,7 +32,10 @@ class KUSERFEEDBACKCORE_EXPORT CpuInfoSource : public AbstractDataSource
     Q_DECLARE_TR_FUNCTIONS(KUserFeedback::CpuInfoSource)
 public:
     CpuInfoSource();
+
+    QString name() const override;
     QString description() const override;
+
     QVariant data() override;
 };
 
diff --git a/src/provider/core/localeinfosource.cpp b/src/provider/core/localeinfosource.cpp
index 0d9854a..525d42f 100644
--- a/src/provider/core/localeinfosource.cpp
+++ b/src/provider/core/localeinfosource.cpp
@@ -40,3 +40,8 @@ QVariant LocaleInfoSource::data()
     m.insert(QStringLiteral("language"), QLocale::languageToString(l.language()));
     return m;
 }
+
+QString LocaleInfoSource::name() const
+{
+    return tr("Locale information");
+}
diff --git a/src/provider/core/localeinfosource.h b/src/provider/core/localeinfosource.h
index 4e7e8d1..9ba7ce0 100644
--- a/src/provider/core/localeinfosource.h
+++ b/src/provider/core/localeinfosource.h
@@ -32,7 +32,10 @@ class KUSERFEEDBACKCORE_EXPORT LocaleInfoSource : public AbstractDataSource
     Q_DECLARE_TR_FUNCTIONS(KUserFeedback::LocaleInfoSource)
 public:
     LocaleInfoSource();
+
+    QString name() const override;
     QString description() const override;
+
     QVariant data() override;
 };
 
diff --git a/src/provider/core/openglinfosource.cpp b/src/provider/core/openglinfosource.cpp
index 8d9cd78..bd0b0a3 100644
--- a/src/provider/core/openglinfosource.cpp
+++ b/src/provider/core/openglinfosource.cpp
@@ -94,3 +94,8 @@ QVariant OpenGLInfoSource::data()
     m.insert(QStringLiteral("type"), QStringLiteral("none"));
     return m;
 }
+
+QString OpenGLInfoSource::name() const
+{
+    return tr("OpenGL information");
+}
diff --git a/src/provider/core/openglinfosource.h b/src/provider/core/openglinfosource.h
index db5a9a9..b2b417a 100644
--- a/src/provider/core/openglinfosource.h
+++ b/src/provider/core/openglinfosource.h
@@ -32,7 +32,10 @@ public:
     Q_DECLARE_TR_FUNCTIONS(KUserFeedback::OpenGLInfoSource)
 public:
     OpenGLInfoSource();
+
+    QString name() const override;
     QString description() const override;
+
     QVariant data() override;
 };
 
diff --git a/src/provider/core/platforminfosource.cpp b/src/provider/core/platforminfosource.cpp
index dee536e..e70a498 100644
--- a/src/provider/core/platforminfosource.cpp
+++ b/src/provider/core/platforminfosource.cpp
@@ -63,3 +63,8 @@ QVariant PlatformInfoSource::data()
 #endif
     return m;
 }
+
+QString PlatformInfoSource::name() const
+{
+    return tr("Platform information");
+}
diff --git a/src/provider/core/platforminfosource.h b/src/provider/core/platforminfosource.h
index 6ec045d..5733970 100644
--- a/src/provider/core/platforminfosource.h
+++ b/src/provider/core/platforminfosource.h
@@ -35,7 +35,10 @@ class KUSERFEEDBACKCORE_EXPORT PlatformInfoSource : public AbstractDataSource
 public:
     /*! Create a new platform information source. */
     PlatformInfoSource();
+
+    QString name() const override;
     QString description() const override;
+
     QVariant data() override;
 };
 
diff --git a/src/provider/core/qpainfosource.cpp b/src/provider/core/qpainfosource.cpp
index 1b4d874..7ab137f 100644
--- a/src/provider/core/qpainfosource.cpp
+++ b/src/provider/core/qpainfosource.cpp
@@ -38,3 +38,8 @@ QVariant QPAInfoSource::data()
     m.insert(QStringLiteral("name"), QGuiApplication::platformName());
     return m;
 }
+
+QString QPAInfoSource::name() const
+{
+    return tr("QPA information");
+}
diff --git a/src/provider/core/qpainfosource.h b/src/provider/core/qpainfosource.h
index f9aeb0b..b86e204 100644
--- a/src/provider/core/qpainfosource.h
+++ b/src/provider/core/qpainfosource.h
@@ -33,7 +33,10 @@ class KUSERFEEDBACKCORE_EXPORT QPAInfoSource : public AbstractDataSource
     Q_DECLARE_TR_FUNCTIONS(KUserFeedback::QPAInfoSource)
 public:
     QPAInfoSource();
+
+    QString name() const override;
     QString description() const override;
+
     QVariant data() override;
 };
 
diff --git a/src/provider/core/qtversionsource.cpp b/src/provider/core/qtversionsource.cpp
index 8acf5c9..36dcd41 100644
--- a/src/provider/core/qtversionsource.cpp
+++ b/src/provider/core/qtversionsource.cpp
@@ -37,3 +37,8 @@ QVariant QtVersionSource::data()
     m.insert(QStringLiteral("value"), QString::fromLatin1(qVersion()));
     return m;
 }
+
+QString QtVersionSource::name() const
+{
+    return tr("Qt version information");
+}
diff --git a/src/provider/core/qtversionsource.h b/src/provider/core/qtversionsource.h
index 98ef5e3..ad281ed 100644
--- a/src/provider/core/qtversionsource.h
+++ b/src/provider/core/qtversionsource.h
@@ -32,7 +32,10 @@ class KUSERFEEDBACKCORE_EXPORT QtVersionSource : public AbstractDataSource
     Q_DECLARE_TR_FUNCTIONS(KUserFeedback::QtVersionSource)
 public:
     QtVersionSource();
+
+    QString name() const override;
     QString description() const override;
+
     QVariant data() override;
 };
 }
diff --git a/src/provider/core/screeninfosource.cpp b/src/provider/core/screeninfosource.cpp
index 4ec6df3..d312079 100644
--- a/src/provider/core/screeninfosource.cpp
+++ b/src/provider/core/screeninfosource.cpp
@@ -45,3 +45,8 @@ QVariant ScreenInfoSource::data()
     }
     return l;
 }
+
+QString ScreenInfoSource::name() const
+{
+    return tr("Screen parameters");
+}
diff --git a/src/provider/core/screeninfosource.h b/src/provider/core/screeninfosource.h
index b6c5a23..17c1e96 100644
--- a/src/provider/core/screeninfosource.h
+++ b/src/provider/core/screeninfosource.h
@@ -37,7 +37,10 @@ class KUSERFEEDBACKCORE_EXPORT ScreenInfoSource :  public AbstractDataSource
 public:
     /*! Create a new screen information source. */
     ScreenInfoSource();
+
+    QString name() const override;
     QString description() const override;
+
     QVariant data() override;
 };
 
diff --git a/src/provider/core/startcountsource.cpp b/src/provider/core/startcountsource.cpp
index 584b55d..868ce92 100644
--- a/src/provider/core/startcountsource.cpp
+++ b/src/provider/core/startcountsource.cpp
@@ -52,6 +52,11 @@ QVariant StartCountSource::data()
     return m;
 }
 
+QString StartCountSource::name() const
+{
+    return tr("Launches count");
+}
+
 void StartCountSource::setProvider(ProviderPrivate *p)
 {
     Q_D(StartCountSource);
diff --git a/src/provider/core/startcountsource.h b/src/provider/core/startcountsource.h
index 85c5871..75f3f56 100644
--- a/src/provider/core/startcountsource.h
+++ b/src/provider/core/startcountsource.h
@@ -37,7 +37,10 @@ class KUSERFEEDBACKCORE_EXPORT StartCountSource :  public AbstractDataSource
 public:
     /*! Create a new start count data source. */
     StartCountSource();
+
+    QString name() const override;
     QString description() const override;
+
     QVariant data() override;
 
 private:
diff --git a/src/provider/core/usagetimesource.cpp b/src/provider/core/usagetimesource.cpp
index 336cac3..6e1d458 100644
--- a/src/provider/core/usagetimesource.cpp
+++ b/src/provider/core/usagetimesource.cpp
@@ -52,6 +52,11 @@ QVariant UsageTimeSource::data()
     return m;
 }
 
+QString UsageTimeSource::name() const
+{
+    return tr("Usage time");
+}
+
 void UsageTimeSource::setProvider(ProviderPrivate* p)
 {
     Q_D(UsageTimeSource);
diff --git a/src/provider/core/usagetimesource.h b/src/provider/core/usagetimesource.h
index bf94df8..f28c732 100644
--- a/src/provider/core/usagetimesource.h
+++ b/src/provider/core/usagetimesource.h
@@ -38,7 +38,10 @@ public:
 public:
     /*! Create a new usage time data source. */
     UsageTimeSource();
+
+    QString name() const override;
     QString description() const override;
+
     QVariant data() override;
 
 private:
diff --git a/src/provider/widgets/styleinfosource.cpp b/src/provider/widgets/styleinfosource.cpp
index f2377a3..9f07664 100644
--- a/src/provider/widgets/styleinfosource.cpp
+++ b/src/provider/widgets/styleinfosource.cpp
@@ -42,3 +42,8 @@ QVariant StyleInfoSource::data()
     m.insert(QStringLiteral("dark"), qApp->palette().color(QPalette::Background).lightness() < 128);
     return m;
 }
+
+QString StyleInfoSource::name() const
+{
+    return tr("Application style");
+}
diff --git a/src/provider/widgets/styleinfosource.h b/src/provider/widgets/styleinfosource.h
index 5dfd815..3a133d0 100644
--- a/src/provider/widgets/styleinfosource.h
+++ b/src/provider/widgets/styleinfosource.h
@@ -31,7 +31,10 @@ public:
     Q_DECLARE_TR_FUNCTIONS(KUserFeedback::StyleInfoSource)
 public:
     StyleInfoSource();
+
+    QString name() const override;
     QString description() const override;
+
     QVariant data() override;
 };
 
-- 
GitLab