aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVitaly Fanaskov <vitaly.fanaskov@qt.io>2019-11-25 15:29:45 +0100
committerVitaly Fanaskov <vitaly.fanaskov@qt.io>2019-11-28 10:30:49 +0000
commit3e876dcdba374d5bc02dcc60073d5eb814269f91 (patch)
tree45805127a46bcb4717f70ed28e5412b5fb61a201
parentb88faae99e37d68aea4b1fd0956ad9e669d60d32 (diff)
Show encouragement message on first start
Fixes: QTCREATORBUG-23272 Change-Id: Ia2963d86a8163e429ead891e6dd7654ec992b5d8 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
-rw-r--r--src/usagestatisticplugin.cpp34
-rw-r--r--src/usagestatisticplugin.h2
2 files changed, 35 insertions, 1 deletions
diff --git a/src/usagestatisticplugin.cpp b/src/usagestatisticplugin.cpp
index 5f04486..d4e2555 100644
--- a/src/usagestatisticplugin.cpp
+++ b/src/usagestatisticplugin.cpp
@@ -134,6 +134,8 @@ bool UsageStatisticPlugin::delayedInitialize()
configureOutputPane();
+ showFirstTimeMessage();
+
return true;
}
@@ -164,7 +166,7 @@ void UsageStatisticPlugin::configureOutputPane()
m_outputPane->setProvider(m_provider);
connect(m_provider.get(), &KUserFeedback::Provider::showEncouragementMessage,
- m_outputPane.get(), &OutputPane::flash);
+ this, &UsageStatisticPlugin::showEncouragementMessage);
}
void UsageStatisticPlugin::storeSettings()
@@ -200,5 +202,35 @@ void UsageStatisticPlugin::createProvider()
m_provider->setSubmissionInterval(submissionIntervalDays());
}
+static bool runFirstTime(const KUserFeedback::Provider &provider)
+{
+ static const auto startCountSourceId = QStringLiteral("startCount");
+ if (auto startCountSource = provider.dataSource(startCountSourceId)) {
+ auto data = startCountSource->data().toMap();
+
+ static const auto startCountKey = QStringLiteral("value");
+ const auto startCountIt = data.find(startCountKey);
+ if (startCountIt != data.end()) {
+ return startCountIt->toInt() == 1;
+ }
+ }
+
+ return false;
+}
+
+void UsageStatisticPlugin::showFirstTimeMessage()
+{
+ if (m_provider && runFirstTime(*m_provider)) {
+ showEncouragementMessage();
+ }
+}
+
+void UsageStatisticPlugin::showEncouragementMessage()
+{
+ if (m_outputPane) {
+ m_outputPane->flash();
+ }
+}
+
} // namespace Internal
} // namespace UsageStatistic
diff --git a/src/usagestatisticplugin.h b/src/usagestatisticplugin.h
index 139acc3..798d27d 100644
--- a/src/usagestatisticplugin.h
+++ b/src/usagestatisticplugin.h
@@ -60,6 +60,8 @@ private:
void storeSettings();
void restoreSettings();
void createProvider();
+ void showEncouragementMessage();
+ void showFirstTimeMessage();
private:
std::shared_ptr<KUserFeedback::Provider> m_provider;