Commit 4587e365 authored by Laurent Montel's avatar Laurent Montel 😁
Browse files

Add userfeedback

parent 317745da
......@@ -80,6 +80,10 @@ find_package(KF5PimTextEdit ${KPIMTEXTEDIT_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5CalendarCore ${KF5_MIN_VERSION} CONFIG REQUIRED)
find_package(KF5AkonadiNotes ${AKONADINOTES_LIB_VERSION} CONFIG REQUIRED)
find_package(KUserFeedback)
set_package_properties(KUserFeedback PROPERTIES DESCRIPTION "User Feedback lib" TYPE OPTIONAL PURPOSE "Allow to send Telemetry Information (optional). It can be disable in apps.")
include_directories(${pim-data-exporter_SOURCE_DIR} ${pim-data-exporter_BINARY_DIR})
add_definitions(-DTRANSLATION_DOMAIN=\"pimdataexporter\")
......
if (TARGET KUserFeedbackWidgets)
add_definitions(-DWITH_KUSERFEEDBACK)
endif()
set(pimdataexporter_userfeedback_SRCS)
if (TARGET KUserFeedbackWidgets)
set(pimdataexporter_userfeedback_SRCS ${pimdataexporter_userfeedback_SRCS}
userfeedback/userfeedbackmanager.cpp
)
endif()
include_directories(
${pim-data-exporter_SOURCE_DIR}/core/
)
......@@ -34,6 +45,7 @@ set(pimdataexporter_trayicon_SRCS
set(pimdataexporter_SRCS
${pimdataexporter_kcfg_SRCS}
${pimdataexporter_widget_SRCS}
${pimdataexporter_userfeedback_SRCS}
${pimdataexporter_dialog_SRCS}
${pimdataexporter_job_SRCS}
${pimdataexporter_trayicon_SRCS}
......@@ -49,6 +61,11 @@ ecm_qt_declare_logging_category(pimdataexporter_SRCS HEADER pimdataexportgui_deb
add_executable(pimdataexporter ${pimdataexporter_SRCS})
set(pimdataexporter_userfeedback_LIB)
if (TARGET KUserFeedbackWidgets)
set(pimdataexporter_userfeedback_LIB KUserFeedbackWidgets)
endif()
target_link_libraries(pimdataexporter
PRIVATE
KF5::XmlGui
......@@ -63,6 +80,7 @@ target_link_libraries(pimdataexporter
KF5::Notifications
KF5::I18n
KF5::Crash
${pimdataexporter_userfeedback_LIB}
)
add_subdirectory(kconf_update)
......
/*
Copyright (C) 2020 Laurent Montel <montel@kde.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "userfeedbackmanager.h"
#include <KUserFeedback/ApplicationVersionSource>
#include <KUserFeedback/PlatformInfoSource>
#include <KUserFeedback/ScreenInfoSource>
#include <KUserFeedback/QtVersionSource>
#include <KUserFeedback/Provider>
#include <KUserFeedback/StartCountSource>
#include <KUserFeedback/UsageTimeSource>
#include <KUserFeedback/LocaleInfoSource>
UserFeedBackManager::UserFeedBackManager(QObject *parent)
: QObject(parent)
{
mUserFeedbackProvider = new KUserFeedback::Provider(this);
mUserFeedbackProvider->setProductIdentifier(QStringLiteral("org.kde.pim-data-exporter"));
mUserFeedbackProvider->setFeedbackServer(QUrl(QStringLiteral("https://telemetry.kde.org/")));
mUserFeedbackProvider->setSubmissionInterval(7);
mUserFeedbackProvider->setApplicationStartsUntilEncouragement(5);
mUserFeedbackProvider->setEncouragementDelay(30);
mUserFeedbackProvider->addDataSource(new KUserFeedback::ApplicationVersionSource);
mUserFeedbackProvider->addDataSource(new KUserFeedback::PlatformInfoSource);
mUserFeedbackProvider->addDataSource(new KUserFeedback::ScreenInfoSource);
mUserFeedbackProvider->addDataSource(new KUserFeedback::QtVersionSource);
mUserFeedbackProvider->addDataSource(new KUserFeedback::StartCountSource);
mUserFeedbackProvider->addDataSource(new KUserFeedback::UsageTimeSource);
mUserFeedbackProvider->addDataSource(new KUserFeedback::LocaleInfoSource);
}
UserFeedBackManager *UserFeedBackManager::self()
{
static UserFeedBackManager s_self;
return &s_self;
}
KUserFeedback::Provider *UserFeedBackManager::userFeedbackProvider() const
{
return mUserFeedbackProvider;
}
/*
Copyright (C) 2020 Laurent Montel <montel@kde.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef USERFEEDBACKMANAGER_H
#define USERFEEDBACKMANAGER_H
#include <QObject>
namespace KUserFeedback {
class Provider;
}
class UserFeedBackManager : public QObject
{
Q_OBJECT
public:
explicit UserFeedBackManager(QObject *parent = nullptr);
static UserFeedBackManager *self();
KUserFeedback::Provider *userFeedbackProvider() const;
private:
KUserFeedback::Provider *mUserFeedbackProvider = nullptr;
};
#endif // USERFEEDBACKMANAGER_H
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment