mirror of
https://github.com/arcan1s/awesome-widgets.git
synced 2025-04-24 15:37:23 +00:00
port dataengin
This commit is contained in:
parent
423597dbd9
commit
42c11a6b60
@ -21,8 +21,8 @@
|
||||
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include <QObject>
|
||||
#include <QHash>
|
||||
#include <QObject>
|
||||
#include <QSet>
|
||||
|
||||
|
||||
|
@ -76,7 +76,8 @@ QStringList AWDataEngineMapper::keysFromSource(const QString &_source) const
|
||||
|
||||
// HACK units required to define should the value be calculated as temperature
|
||||
// or fan data
|
||||
QStringList AWDataEngineMapper::registerSource(const QString &_source, const KSysGuard::Unit _units, const QStringList &_keys)
|
||||
QStringList AWDataEngineMapper::registerSource(const QString &_source, const KSysGuard::Unit _units,
|
||||
const QStringList &_keys)
|
||||
{
|
||||
qCDebug(LOG_AW) << "Source" << _source << "with units" << _units;
|
||||
|
||||
|
@ -65,8 +65,9 @@ AWKeys::AWKeys(QObject *_parent)
|
||||
|
||||
connect(this, SIGNAL(dropSourceFromDataengine(const QString &)), m_dataEngineAggregator,
|
||||
SLOT(dropSource(const QString &)));
|
||||
connect(m_dataEngineAggregator, SIGNAL(dataUpdated(const QHash<QString, KSysGuard::SensorInfo> &, const KSysGuard::SensorDataList &)),
|
||||
this, SLOT(dataUpdated(const QHash<QString, KSysGuard::SensorInfo> &, const KSysGuard::SensorDataList &)));
|
||||
connect(m_dataEngineAggregator,
|
||||
SIGNAL(dataUpdated(const QHash<QString, KSysGuard::SensorInfo> &, const KSysGuard::SensorDataList &)), this,
|
||||
SLOT(dataUpdated(const QHash<QString, KSysGuard::SensorInfo> &, const KSysGuard::SensorDataList &)));
|
||||
// transfer signal from dataengine to update source list
|
||||
connect(m_dataEngineAggregator, SIGNAL(deviceAdded(const QString &)), m_keyOperator,
|
||||
SLOT(addDevice(const QString &)));
|
||||
@ -265,10 +266,10 @@ void AWKeys::calculateValues()
|
||||
QStringList mountDevices = m_keyOperator->devices("mount");
|
||||
for (auto &device : mountDevices) {
|
||||
int index = mountDevices.indexOf(device);
|
||||
m_values[QString("hddtotmb%1").arg(index)]
|
||||
= m_values[QString("hddfreemb%1").arg(index)].toDouble() + m_values[QString("hddmb%1").arg(index)].toDouble();
|
||||
m_values[QString("hddtotgb%1").arg(index)]
|
||||
= m_values[QString("hddfreegb%1").arg(index)].toDouble() + m_values[QString("hddgb%1").arg(index)].toDouble();
|
||||
m_values[QString("hddtotmb%1").arg(index)] = m_values[QString("hddfreemb%1").arg(index)].toDouble()
|
||||
+ m_values[QString("hddmb%1").arg(index)].toDouble();
|
||||
m_values[QString("hddtotgb%1").arg(index)] = m_values[QString("hddfreegb%1").arg(index)].toDouble()
|
||||
+ m_values[QString("hddgb%1").arg(index)].toDouble();
|
||||
}
|
||||
|
||||
// memtot*
|
||||
@ -360,7 +361,8 @@ QString AWKeys::parsePattern(QString _pattern) const
|
||||
}
|
||||
|
||||
|
||||
void AWKeys::setDataBySource(const QString &_source, const KSysGuard::SensorInfo &_sensor, const KSysGuard::SensorData &_data)
|
||||
void AWKeys::setDataBySource(const QString &_source, const KSysGuard::SensorInfo &_sensor,
|
||||
const KSysGuard::SensorData &_data)
|
||||
{
|
||||
qCDebug(LOG_AW) << "Source" << _source << _sensor.name << "with data" << _data.payload;
|
||||
|
||||
@ -377,8 +379,6 @@ void AWKeys::setDataBySource(const QString &_source, const KSysGuard::SensorInfo
|
||||
|
||||
m_mutex.lock();
|
||||
// HACK workaround for time values which are stored in the different path
|
||||
std::for_each(tags.cbegin(), tags.cend(), [this, &_data](const QString &tag) {
|
||||
m_values[tag] = _data.payload;
|
||||
});
|
||||
std::for_each(tags.cbegin(), tags.cend(), [this, &_data](const QString &tag) { m_values[tag] = _data.payload; });
|
||||
m_mutex.unlock();
|
||||
}
|
||||
|
@ -72,7 +72,8 @@ private:
|
||||
void calculateValues();
|
||||
void createDBusInterface();
|
||||
[[nodiscard]] QString parsePattern(QString _pattern) const;
|
||||
void setDataBySource(const QString &_source, const KSysGuard::SensorInfo &_sensor, const KSysGuard::SensorData &_data);
|
||||
void setDataBySource(const QString &_source, const KSysGuard::SensorInfo &_sensor,
|
||||
const KSysGuard::SensorData &_data);
|
||||
// objects
|
||||
AWDataAggregator *m_dataAggregator = nullptr;
|
||||
AWDataEngineAggregator *m_dataEngineAggregator = nullptr;
|
||||
|
@ -234,7 +234,8 @@ void AWKeysAggregator::setTranslate(const bool _translate)
|
||||
}
|
||||
|
||||
|
||||
QStringList AWKeysAggregator::registerSource(const QString &_source, const KSysGuard::Unit &_units, const QStringList &_keys)
|
||||
QStringList AWKeysAggregator::registerSource(const QString &_source, const KSysGuard::Unit &_units,
|
||||
const QStringList &_keys)
|
||||
{
|
||||
qCDebug(LOG_AW) << "Source" << _source << "with units" << _units;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
set(SUBPROJECT plasma_dataengine_extsysmon)
|
||||
set(SUBPROJECT ksystemstats_plugin_extsysmon)
|
||||
message(STATUS "Subproject ${SUBPROJECT}")
|
||||
add_definitions(-DTRANSLATION_DOMAIN=\"plasma_applet_org.kde.plasma.awesomewidget\")
|
||||
|
||||
@ -12,15 +12,10 @@ include_directories(
|
||||
${Kf6_INCLUDE}
|
||||
)
|
||||
|
||||
file(GLOB SUBPROJECT_DESKTOP_IN *.desktop)
|
||||
file(RELATIVE_PATH SUBPROJECT_DESKTOP ${CMAKE_SOURCE_DIR} ${SUBPROJECT_DESKTOP_IN})
|
||||
file(GLOB SUBPROJECT_SOURCE *.cpp ${CMAKE_SOURCE_DIR}/*.cpp)
|
||||
file(GLOB SUBPROJECT_HEADER *.h)
|
||||
file(GLOB SUBPROJECT_CONF *.conf)
|
||||
|
||||
# prepare
|
||||
configure_file(${SUBPROJECT_DESKTOP_IN} ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT_DESKTOP})
|
||||
|
||||
# make
|
||||
add_library(${SUBPROJECT} MODULE ${SUBPROJECT_SOURCE} ${SUBPROJECT_HEADER})
|
||||
target_link_libraries(${SUBPROJECT}
|
||||
@ -28,6 +23,5 @@ target_link_libraries(${SUBPROJECT}
|
||||
${Qt_LIBRARIES} ${Kf6_LIBRARIES})
|
||||
|
||||
# install
|
||||
install(TARGETS ${SUBPROJECT} DESTINATION ${PLUGIN_INSTALL_DIR}/plasma/dataengine)
|
||||
#install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT_DESKTOP} DESTINATION ${SERVICES_INSTALL_DIR})
|
||||
install(TARGETS ${SUBPROJECT} DESTINATION ${KDE_INSTALL_PLUGINDIR}/ksystemstats)
|
||||
install(FILES ${SUBPROJECT_CONF} DESTINATION ${KDE_INSTALL_CONFDIR})
|
||||
|
@ -17,6 +17,7 @@
|
||||
|
||||
#include "extsysmon.h"
|
||||
|
||||
#include <KPluginFactory>
|
||||
#include <QFile>
|
||||
#include <QRegularExpression>
|
||||
#include <QSettings>
|
||||
@ -29,21 +30,16 @@
|
||||
|
||||
|
||||
ExtendedSysMon::ExtendedSysMon(QObject *_parent, const QVariantList &_args)
|
||||
: Plasma::DataEngine(_parent, _args)
|
||||
: KSysGuard::SensorPlugin(_parent, _args)
|
||||
{
|
||||
Q_UNUSED(_args)
|
||||
qSetMessagePattern(AWDebug::LOG_FORMAT);
|
||||
qCDebug(LOG_ESM) << __PRETTY_FUNCTION__;
|
||||
for (auto &metadata : AWDebug::getBuildData())
|
||||
qCDebug(LOG_ESM) << metadata;
|
||||
|
||||
setMinimumPollingInterval(333);
|
||||
readConfiguration();
|
||||
|
||||
// init aggregator
|
||||
m_aggregator = new ExtSysMonAggregator(this, m_configuration);
|
||||
for (auto &source : m_aggregator->sources())
|
||||
setData(source, m_aggregator->initialData(source));
|
||||
addContainer(new ExtSysMonAggregator("extsysmon", "extsysmon", this, m_configuration));
|
||||
}
|
||||
|
||||
|
||||
@ -53,35 +49,9 @@ ExtendedSysMon::~ExtendedSysMon()
|
||||
}
|
||||
|
||||
|
||||
QStringList ExtendedSysMon::sources() const
|
||||
void ExtendedSysMon::update()
|
||||
{
|
||||
return m_aggregator->sources();
|
||||
}
|
||||
|
||||
|
||||
bool ExtendedSysMon::sourceRequestEvent(const QString &_source)
|
||||
{
|
||||
qCDebug(LOG_ESM) << "Source" << _source;
|
||||
|
||||
return updateSourceEvent(_source);
|
||||
}
|
||||
|
||||
|
||||
bool ExtendedSysMon::updateSourceEvent(const QString &_source)
|
||||
{
|
||||
qCDebug(LOG_ESM) << "Source" << _source;
|
||||
|
||||
if (m_aggregator->hasSource(_source)) {
|
||||
QVariant data = m_aggregator->data(_source);
|
||||
if (data.isNull())
|
||||
return false;
|
||||
setData(_source, "value", data);
|
||||
} else {
|
||||
qCWarning(LOG_ESM) << "Unknown source" << _source;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
// m_aggregator->update();
|
||||
}
|
||||
|
||||
|
||||
@ -150,6 +120,6 @@ QHash<QString, QString> ExtendedSysMon::updateConfiguration(QHash<QString, QStri
|
||||
}
|
||||
|
||||
|
||||
K_EXPORT_PLASMA_DATAENGINE_WITH_JSON(extsysmon, ExtendedSysMon, "plasma-dataengine-extsysmon.json")
|
||||
K_PLUGIN_CLASS_WITH_JSON(ExtendedSysMon, "metadata.json")
|
||||
|
||||
#include "extsysmon.moc"
|
||||
|
@ -18,12 +18,10 @@
|
||||
#ifndef EXTSYSMON_H
|
||||
#define EXTSYSMON_H
|
||||
|
||||
#include <Plasma/Plasma/DataEngine>
|
||||
#include <ksysguard/systemstats/SensorPlugin.h>
|
||||
|
||||
|
||||
class ExtSysMonAggregator;
|
||||
|
||||
class ExtendedSysMon : public Plasma::DataEngine
|
||||
class ExtendedSysMon : public KSysGuard::SensorPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
@ -31,14 +29,12 @@ public:
|
||||
explicit ExtendedSysMon(QObject *_parent, const QVariantList &_args);
|
||||
~ExtendedSysMon() override;
|
||||
|
||||
protected:
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
bool sourceRequestEvent(const QString &_source) override;
|
||||
bool updateSourceEvent(const QString &_source) override;
|
||||
[[nodiscard]] QString providerName() const override { return QStringLiteral("extsysmon"); }
|
||||
|
||||
void update() override;
|
||||
|
||||
private:
|
||||
// configuration
|
||||
ExtSysMonAggregator *m_aggregator = nullptr;
|
||||
QHash<QString, QString> m_configuration;
|
||||
// methods
|
||||
void readConfiguration();
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "batterysource.h"
|
||||
#include "customsource.h"
|
||||
#include "desktopsource.h"
|
||||
#include "extsysmonsensor.h"
|
||||
#include "gpuloadsource.h"
|
||||
#include "gputempsource.h"
|
||||
#include "hddtempsource.h"
|
||||
@ -35,8 +36,9 @@
|
||||
#include "weathersource.h"
|
||||
|
||||
|
||||
ExtSysMonAggregator::ExtSysMonAggregator(QObject *_parent, const QHash<QString, QString> &_config)
|
||||
: QObject(_parent)
|
||||
ExtSysMonAggregator::ExtSysMonAggregator(const QString &_id, const QString &_name, KSysGuard::SensorPlugin *_parent,
|
||||
const QHash<QString, QString> &_config)
|
||||
: KSysGuard::SensorContainer(_id, _name, _parent)
|
||||
{
|
||||
qCDebug(LOG_ESM) << __PRETTY_FUNCTION__;
|
||||
|
||||
@ -44,111 +46,73 @@ ExtSysMonAggregator::ExtSysMonAggregator(QObject *_parent, const QHash<QString,
|
||||
}
|
||||
|
||||
|
||||
ExtSysMonAggregator::~ExtSysMonAggregator()
|
||||
{
|
||||
qCDebug(LOG_ESM) << __PRETTY_FUNCTION__;
|
||||
|
||||
m_map.clear();
|
||||
}
|
||||
|
||||
|
||||
QVariant ExtSysMonAggregator::data(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESM) << "Source" << _source;
|
||||
|
||||
return m_map[_source]->data(_source);
|
||||
}
|
||||
|
||||
|
||||
bool ExtSysMonAggregator::hasSource(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESM) << "Source" << _source;
|
||||
|
||||
return m_map.contains(_source);
|
||||
}
|
||||
|
||||
|
||||
QVariantMap ExtSysMonAggregator::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESM) << "Source" << _source;
|
||||
|
||||
return hasSource(_source) ? m_map[_source]->initialData(_source) : QVariantMap();
|
||||
}
|
||||
|
||||
|
||||
QStringList ExtSysMonAggregator::sources() const
|
||||
{
|
||||
return m_map.keys();
|
||||
}
|
||||
|
||||
|
||||
void ExtSysMonAggregator::init(const QHash<QString, QString> &_config)
|
||||
{
|
||||
qCDebug(LOG_ESM) << "Configuration" << _config;
|
||||
|
||||
// battery
|
||||
AbstractExtSysMonSource *batteryItem = new BatterySource(this, QStringList() << _config["ACPIPATH"]);
|
||||
auto batteryItem = new BatterySource(this, {_config["ACPIPATH"]});
|
||||
for (auto &source : batteryItem->sources())
|
||||
m_map[source] = batteryItem;
|
||||
addObject(new ExtSysMonSensor(this, source, batteryItem));
|
||||
// custom
|
||||
AbstractExtSysMonSource *customItem = new CustomSource(this, QStringList());
|
||||
auto customItem = new CustomSource(this, {});
|
||||
for (auto &source : customItem->sources())
|
||||
m_map[source] = customItem;
|
||||
addObject(new ExtSysMonSensor(this, source, customItem));
|
||||
// desktop
|
||||
AbstractExtSysMonSource *desktopItem = new DesktopSource(this, QStringList());
|
||||
auto desktopItem = new DesktopSource(this, {});
|
||||
for (auto &source : desktopItem->sources())
|
||||
m_map[source] = desktopItem;
|
||||
addObject(new ExtSysMonSensor(this, source, desktopItem));
|
||||
// gpu load
|
||||
AbstractExtSysMonSource *gpuLoadItem = new GPULoadSource(this, QStringList({_config["GPUDEV"]}));
|
||||
auto gpuLoadItem = new GPULoadSource(this, {_config["GPUDEV"]});
|
||||
for (auto &source : gpuLoadItem->sources())
|
||||
m_map[source] = gpuLoadItem;
|
||||
addObject(new ExtSysMonSensor(this, source, gpuLoadItem));
|
||||
// gpu temperature
|
||||
AbstractExtSysMonSource *gpuTempItem = new GPUTemperatureSource(this, QStringList({_config["GPUDEV"]}));
|
||||
auto gpuTempItem = new GPUTemperatureSource(this, {_config["GPUDEV"]});
|
||||
for (auto &source : gpuTempItem->sources())
|
||||
m_map[source] = gpuTempItem;
|
||||
addObject(new ExtSysMonSensor(this, source, gpuTempItem));
|
||||
// hdd temperature
|
||||
AbstractExtSysMonSource *hddTempItem
|
||||
= new HDDTemperatureSource(this, QStringList({_config["HDDDEV"], _config["HDDTEMPCMD"]}));
|
||||
auto hddTempItem
|
||||
= new HDDTemperatureSource(this, {_config["HDDDEV"], _config["HDDTEMPCMD"]});
|
||||
for (auto &source : hddTempItem->sources())
|
||||
m_map[source] = hddTempItem;
|
||||
addObject(new ExtSysMonSensor(this, source, hddTempItem));
|
||||
// network
|
||||
AbstractExtSysMonSource *networkItem = new NetworkSource(this, QStringList());
|
||||
auto networkItem = new NetworkSource(this, QStringList());
|
||||
for (auto &source : networkItem->sources())
|
||||
m_map[source] = networkItem;
|
||||
addObject(new ExtSysMonSensor(this, source, networkItem));
|
||||
// player
|
||||
AbstractExtSysMonSource *playerItem
|
||||
= new PlayerSource(this, QStringList({_config["PLAYER"], _config["MPDADDRESS"], _config["MPDPORT"],
|
||||
_config["MPRIS"], _config["PLAYERSYMBOLS"]}));
|
||||
auto playerItem
|
||||
= new PlayerSource(this, {_config["PLAYER"], _config["MPDADDRESS"], _config["MPDPORT"],
|
||||
_config["MPRIS"], _config["PLAYERSYMBOLS"]});
|
||||
for (auto &source : playerItem->sources())
|
||||
m_map[source] = playerItem;
|
||||
addObject(new ExtSysMonSensor(this, source, playerItem));
|
||||
// processes
|
||||
AbstractExtSysMonSource *processesItem = new ProcessesSource(this, QStringList());
|
||||
auto processesItem = new ProcessesSource(this, {});
|
||||
for (auto &source : processesItem->sources())
|
||||
m_map[source] = processesItem;
|
||||
addObject(new ExtSysMonSensor(this, source, processesItem));
|
||||
// network request
|
||||
AbstractExtSysMonSource *requestItem = new RequestSource(this, QStringList());
|
||||
auto requestItem = new RequestSource(this, {});
|
||||
for (auto &source : requestItem->sources())
|
||||
m_map[source] = requestItem;
|
||||
addObject(new ExtSysMonSensor(this, source, requestItem));
|
||||
// quotes
|
||||
AbstractExtSysMonSource *quotesItem = new QuotesSource(this, QStringList());
|
||||
auto quotesItem = new QuotesSource(this, {});
|
||||
for (auto &source : quotesItem->sources())
|
||||
m_map[source] = quotesItem;
|
||||
addObject(new ExtSysMonSensor(this, source, quotesItem));
|
||||
// system
|
||||
AbstractExtSysMonSource *systemItem = new SystemInfoSource(this, QStringList());
|
||||
auto systemItem = new SystemInfoSource(this, {});
|
||||
for (auto &source : systemItem->sources())
|
||||
m_map[source] = systemItem;
|
||||
addObject(new ExtSysMonSensor(this, source, systemItem));
|
||||
// upgrade
|
||||
AbstractExtSysMonSource *upgradeItem = new UpgradeSource(this, QStringList());
|
||||
auto upgradeItem = new UpgradeSource(this, {});
|
||||
for (auto &source : upgradeItem->sources())
|
||||
m_map[source] = upgradeItem;
|
||||
addObject(new ExtSysMonSensor(this, source, upgradeItem));
|
||||
// weather
|
||||
AbstractExtSysMonSource *weatherItem = new WeatherSource(this, QStringList());
|
||||
auto weatherItem = new WeatherSource(this, {});
|
||||
for (auto &source : weatherItem->sources())
|
||||
m_map[source] = weatherItem;
|
||||
addObject(new ExtSysMonSensor(this, source, weatherItem));
|
||||
#ifdef BUILD_LOAD
|
||||
// additional load source
|
||||
AbstractExtSysMonSource *loadItem = new LoadSource(this, QStringList());
|
||||
auto loadItem = new LoadSource(this, QStringList());
|
||||
for (auto &source : loadItem->sources())
|
||||
m_map[source] = loadItem;
|
||||
addObject(new ExtSysMonSensor(this, source, loadItem));
|
||||
#endif /* BUILD_LOAD */
|
||||
}
|
||||
|
@ -19,25 +19,20 @@
|
||||
#define EXTSYSMONAGGREGATOR_H
|
||||
|
||||
#include <QObject>
|
||||
#include <ksysguard/systemstats/SensorContainer.h>
|
||||
|
||||
#include "abstractextsysmonsource.h"
|
||||
|
||||
|
||||
class ExtSysMonAggregator : public QObject
|
||||
class ExtSysMonAggregator : public KSysGuard::SensorContainer
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ExtSysMonAggregator(QObject *_parent, const QHash<QString, QString> &_config);
|
||||
~ExtSysMonAggregator() override;
|
||||
[[nodiscard]] QVariant data(const QString &_source) const;
|
||||
[[nodiscard]] bool hasSource(const QString &_source) const;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const;
|
||||
[[nodiscard]] QStringList sources() const;
|
||||
explicit ExtSysMonAggregator(const QString &_id, const QString &_name, KSysGuard::SensorPlugin *_parent,
|
||||
const QHash<QString, QString> &_config);
|
||||
|
||||
private:
|
||||
void init(const QHash<QString, QString> &_config);
|
||||
QHash<QString, AbstractExtSysMonSource *> m_map;
|
||||
};
|
||||
|
||||
|
||||
|
3
sources/extsysmon/metadata.json
Normal file
3
sources/extsysmon/metadata.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"providerName": "extsysmon"
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=Extended SystemMonitor
|
||||
Comment=Adds some additional functions to System DataEngine
|
||||
ServiceTypes=Plasma/DataEngine
|
||||
Type=Service
|
||||
Icon=utilities-system-monitor
|
||||
|
||||
X-KDE-Library=plasma_dataengine_extsysmon
|
||||
|
||||
X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis
|
||||
X-KDE-PluginInfo-Email=esalexeev@gmail.com
|
||||
X-KDE-PluginInfo-Name=extsysmon
|
||||
X-KDE-PluginInfo-Version=@PROJECT_VERSION@
|
||||
X-KDE-PluginInfo-Category=System Information
|
||||
X-KDE-PluginInfo-License=GPL3
|
@ -1,20 +0,0 @@
|
||||
{
|
||||
"KPlugin": {
|
||||
"Authors": [
|
||||
{
|
||||
"Email": "esalexeev@gmail.com",
|
||||
"Name": "Evgeniy Alekseev aka arcanis"
|
||||
}
|
||||
],
|
||||
"Category": "System Information",
|
||||
"Description": "Adds some additional functions to System DataEngine",
|
||||
"Icon": "utilities-system-monitor",
|
||||
"Id": "extsysmon",
|
||||
"License": "GPL3",
|
||||
"Name": "Extended SystemMonitor",
|
||||
"ServiceTypes": [
|
||||
"Plasma/DataEngine"
|
||||
],
|
||||
"Version": "@PROJECT_VERSION@"
|
||||
}
|
||||
}
|
@ -23,6 +23,11 @@
|
||||
#include <QVariant>
|
||||
|
||||
|
||||
namespace KSysGuard
|
||||
{
|
||||
class SensorInfo;
|
||||
}
|
||||
|
||||
class AbstractExtSysMonSource : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -32,7 +37,7 @@ public:
|
||||
: QObject(_parent){};
|
||||
~AbstractExtSysMonSource() override = default;
|
||||
virtual QVariant data(const QString &_source) = 0;
|
||||
[[nodiscard]] virtual QVariantMap initialData(const QString &_source) const = 0;
|
||||
[[nodiscard]] virtual KSysGuard::SensorInfo *initialData(const QString &_source) const = 0;
|
||||
virtual void run() = 0;
|
||||
[[nodiscard]] virtual QStringList sources() const = 0;
|
||||
// used by extensions
|
||||
|
@ -18,6 +18,9 @@
|
||||
|
||||
#include "batterysource.h"
|
||||
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include <QDir>
|
||||
|
||||
#include <cmath>
|
||||
@ -84,77 +87,75 @@ QVariant BatterySource::data(const QString &_source)
|
||||
}
|
||||
|
||||
|
||||
QVariantMap BatterySource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *BatterySource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
QVariantMap data;
|
||||
auto data = new KSysGuard::SensorInfo();
|
||||
if (_source == "battery/ac") {
|
||||
data["min"] = false;
|
||||
data["max"] = true;
|
||||
data["name"] = "Is AC online or not";
|
||||
data["type"] = "bool";
|
||||
data["units"] = "";
|
||||
data->name = "Is AC online or not";
|
||||
data->variantType = QVariant::Bool;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "battery/bat") {
|
||||
data["min"] = 0;
|
||||
data["max"] = 100;
|
||||
data["name"] = "Average battery usage";
|
||||
data["type"] = "integer";
|
||||
data["units"] = "%";
|
||||
data->min = 0;
|
||||
data->max = 100;
|
||||
data->name = "Average battery usage";
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitPercent;
|
||||
} else if (_source == "battery/batleft") {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = "Battery discharge time";
|
||||
data["type"] = "integer";
|
||||
data["units"] = "s";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = "Battery discharge time";
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitSecond;
|
||||
} else if (_source == "battery/batnow") {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = "Current battery capacity";
|
||||
data["type"] = "integer";
|
||||
data["units"] = "";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = "Current battery capacity";
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "battery/batrate") {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = "Average battery discharge rate";
|
||||
data["type"] = "float";
|
||||
data["units"] = "1/s";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = "Average battery discharge rate";
|
||||
data->variantType = QVariant::Double;
|
||||
data->unit = KSysGuard::UnitRate;
|
||||
} else if (_source == "battery/battotal") {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = "Full battery capacity";
|
||||
data["type"] = "integer";
|
||||
data["units"] = "";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = "Full battery capacity";
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source.startsWith("battery/batleft")) {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = QString("Battery %1 discharge time").arg(index(_source));
|
||||
data["type"] = "integer";
|
||||
data["units"] = "s";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = QString("Battery %1 discharge time").arg(index(_source));
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitSecond;
|
||||
} else if (_source.startsWith("battery/batnow")) {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = QString("Battery %1 capacity").arg(index(_source));
|
||||
data["type"] = "integer";
|
||||
data["units"] = "";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = QString("Battery %1 capacity").arg(index(_source));
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source.startsWith("battery/battotal")) {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = QString("Battery %1 full capacity").arg(index(_source));
|
||||
data["type"] = "integer";
|
||||
data["units"] = "";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = QString("Battery %1 full capacity").arg(index(_source));
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source.startsWith("battery/batrate")) {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = QString("Battery %1 discharge rate").arg(index(_source));
|
||||
data["type"] = "float";
|
||||
data["units"] = "1/s";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = QString("Battery %1 discharge rate").arg(index(_source));
|
||||
data->variantType = QVariant::Double;
|
||||
data->unit = KSysGuard::UnitRate;
|
||||
} else if (_source.startsWith("battery/bat")) {
|
||||
data["min"] = 0;
|
||||
data["max"] = 100;
|
||||
data["name"] = QString("Battery %1 usage").arg(index(_source));
|
||||
data["type"] = "integer";
|
||||
data["units"] = "%";
|
||||
data->min = 0;
|
||||
data->max = 100;
|
||||
data->name = QString("Battery %1 usage").arg(index(_source));
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitPercent;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -35,7 +35,7 @@ public:
|
||||
~BatterySource() override;
|
||||
QStringList getSources();
|
||||
QVariant data(const QString &_source) override;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override;
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
|
||||
|
@ -15,9 +15,11 @@
|
||||
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#include "customsource.h"
|
||||
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include "awdebug.h"
|
||||
#include "extscript.h"
|
||||
|
||||
@ -49,16 +51,14 @@ QVariant CustomSource::data(const QString &_source)
|
||||
}
|
||||
|
||||
|
||||
QVariantMap CustomSource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *CustomSource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
QVariantMap data;
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = QString("Custom command '%1' output").arg(m_extScripts->itemByTagNumber(index(_source))->uniq());
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
auto data = new KSysGuard::SensorInfo();
|
||||
data->name = QString("Custom command '%1' output").arg(m_extScripts->itemByTagNumber(index(_source))->uniq());
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
|
||||
return data;
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ public:
|
||||
explicit CustomSource(QObject *_parent, const QStringList &_args);
|
||||
~CustomSource() override;
|
||||
QVariant data(const QString &_source) override;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override{};
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
|
||||
|
@ -15,10 +15,11 @@
|
||||
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#include "desktopsource.h"
|
||||
|
||||
#include <KWindowSystem/KWindowSystem>
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
#include <taskmanager/virtualdesktopinfo.h>
|
||||
|
||||
#include "awdebug.h"
|
||||
@ -64,35 +65,29 @@ QVariant DesktopSource::data(const QString &_source)
|
||||
}
|
||||
|
||||
|
||||
QVariantMap DesktopSource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *DesktopSource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
QVariantMap data;
|
||||
auto data = new KSysGuard::SensorInfo();
|
||||
if (_source == "desktop/current/name") {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = "Current desktop name";
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = "Current desktop name";
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "desktop/current/number") {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = "Current desktop number";
|
||||
data["type"] = "integer";
|
||||
data["units"] = "";
|
||||
data->min = 0;
|
||||
data->name = "Current desktop number";
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "desktop/total/name") {
|
||||
data["min"] = QStringList();
|
||||
data["max"] = QStringList();
|
||||
data["name"] = "All desktops by name";
|
||||
data["type"] = "QStringList";
|
||||
data["units"] = "";
|
||||
data->name = "All desktops by name";
|
||||
data->variantType = QVariant::StringList;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "desktop/total/number") {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = "Desktops count";
|
||||
data["type"] = "integer";
|
||||
data["units"] = "";
|
||||
data->min = 0;
|
||||
data->name = "Desktops count";
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -35,7 +35,7 @@ public:
|
||||
explicit DesktopSource(QObject *_parent, const QStringList &_args);
|
||||
~DesktopSource() override;
|
||||
QVariant data(const QString &_source) override;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override{};
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
|
||||
|
55
sources/extsysmonsources/extsysmonsensor.cpp
Normal file
55
sources/extsysmonsources/extsysmonsensor.cpp
Normal file
@ -0,0 +1,55 @@
|
||||
/***************************************************************************
|
||||
* This file is part of awesome-widgets *
|
||||
* *
|
||||
* awesome-widgets 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 3 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* awesome-widgets 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 awesome-widgets. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
#include "extsysmonsensor.h"
|
||||
|
||||
#include "abstractextsysmonsource.h"
|
||||
#include "awdebug.h"
|
||||
|
||||
|
||||
ExtSysMonSensor::ExtSysMonSensor(KSysGuard::SensorContainer *_parent, const QString &_id,
|
||||
AbstractExtSysMonSource *_source)
|
||||
: KSysGuard::SensorObject(_id, _parent)
|
||||
{
|
||||
qCDebug(LOG_ESS) << __PRETTY_FUNCTION__;
|
||||
|
||||
m_source = _source;
|
||||
|
||||
for (auto &source : m_source->sources()) {
|
||||
auto property = new KSysGuard::SensorProperty(source, this);
|
||||
|
||||
auto info = m_source->initialData(source);
|
||||
property->setName(info->name);
|
||||
|
||||
property->setUnit(info->unit);
|
||||
property->setVariantType(info->variantType);
|
||||
|
||||
property->setMin(info->min);
|
||||
property->setMax(info->max);
|
||||
|
||||
m_properties[source] = property;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ExtSysMonSensor::update()
|
||||
{
|
||||
for (auto &source : m_properties.keys()) {
|
||||
auto value = m_source->data(source);
|
||||
m_properties[source]->setValue(value);
|
||||
}
|
||||
}
|
41
sources/extsysmonsources/extsysmonsensor.h
Normal file
41
sources/extsysmonsources/extsysmonsensor.h
Normal file
@ -0,0 +1,41 @@
|
||||
/***************************************************************************
|
||||
* This file is part of awesome-widgets *
|
||||
* *
|
||||
* awesome-widgets 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 3 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* awesome-widgets 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 awesome-widgets. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef EXTSYSMONSENSOR_H
|
||||
#define EXTSYSMONSENSOR_H
|
||||
|
||||
#include <ksysguard/systemstats/SensorObject.h>
|
||||
|
||||
|
||||
class AbstractExtSysMonSource;
|
||||
|
||||
class ExtSysMonSensor : public KSysGuard::SensorObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ExtSysMonSensor(KSysGuard::SensorContainer *_parent, const QString &_id, AbstractExtSysMonSource *_source);
|
||||
~ExtSysMonSensor() override = default;
|
||||
void update();
|
||||
|
||||
private:
|
||||
QHash<QString, KSysGuard::SensorProperty *> m_properties;
|
||||
AbstractExtSysMonSource *m_source = nullptr;
|
||||
};
|
||||
|
||||
|
||||
#endif /* EXTSYSMONSENSOR_H */
|
@ -14,10 +14,11 @@
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#include "gpuloadsource.h"
|
||||
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include <QFile>
|
||||
#include <QProcess>
|
||||
|
||||
@ -81,17 +82,17 @@ QVariant GPULoadSource::data(const QString &_source)
|
||||
}
|
||||
|
||||
|
||||
QVariantMap GPULoadSource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *GPULoadSource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
QVariantMap data;
|
||||
auto data = new KSysGuard::SensorInfo();
|
||||
if (_source == "gpu/load") {
|
||||
data["min"] = 0.0;
|
||||
data["max"] = 100.0;
|
||||
data["name"] = "GPU usage";
|
||||
data["type"] = "float";
|
||||
data["units"] = "%";
|
||||
data->min = 0.0;
|
||||
data->max = 100.0;
|
||||
data->name = "GPU usage";
|
||||
data->variantType = QVariant::Double;
|
||||
data->unit = KSysGuard::UnitPercent;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -34,7 +34,7 @@ public:
|
||||
~GPULoadSource() override;
|
||||
static QString autoGpu();
|
||||
QVariant data(const QString &_source) override;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override;
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
|
||||
|
@ -15,9 +15,11 @@
|
||||
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#include "gputempsource.h"
|
||||
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include <QFile>
|
||||
#include <QProcess>
|
||||
|
||||
@ -60,17 +62,17 @@ QVariant GPUTemperatureSource::data(const QString &_source)
|
||||
}
|
||||
|
||||
|
||||
QVariantMap GPUTemperatureSource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *GPUTemperatureSource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
QVariantMap data;
|
||||
auto data = new KSysGuard::SensorInfo();
|
||||
if (_source == "gpu/temperature") {
|
||||
data["min"] = 0.0;
|
||||
data["max"] = 0.0;
|
||||
data["name"] = "GPU temperature";
|
||||
data["type"] = "float";
|
||||
data["units"] = "°C";
|
||||
data->min = 0.0;
|
||||
data->max = 0.0;
|
||||
data->name = "GPU temperature";
|
||||
data->variantType = QVariant::Double;
|
||||
data->unit = KSysGuard::UnitCelsius;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -33,7 +33,7 @@ public:
|
||||
explicit GPUTemperatureSource(QObject *_parent, const QStringList &_args);
|
||||
~GPUTemperatureSource() override;
|
||||
QVariant data(const QString &_source) override;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override;
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
|
||||
|
@ -18,6 +18,9 @@
|
||||
|
||||
#include "hddtempsource.h"
|
||||
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include <QDir>
|
||||
#include <QProcess>
|
||||
|
||||
@ -87,18 +90,19 @@ QVariant HDDTemperatureSource::data(const QString &_source)
|
||||
}
|
||||
|
||||
|
||||
QVariantMap HDDTemperatureSource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *HDDTemperatureSource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
QString device = _source;
|
||||
auto device = _source;
|
||||
device.remove("hdd/temperature");
|
||||
QVariantMap data;
|
||||
data["min"] = 0.0;
|
||||
data["max"] = 0.0;
|
||||
data["name"] = QString("HDD '%1' temperature").arg(device);
|
||||
data["type"] = "float";
|
||||
data["units"] = "°C";
|
||||
|
||||
auto data = new KSysGuard::SensorInfo();
|
||||
data->min = 0.0;
|
||||
data->max = 0.0;
|
||||
data->name = QString("HDD '%1' temperature").arg(device);
|
||||
data->variantType = QVariant::Double;
|
||||
data->unit = KSysGuard::UnitCelsius;
|
||||
|
||||
return data;
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ public:
|
||||
~HDDTemperatureSource() override;
|
||||
static QStringList allHdd();
|
||||
QVariant data(const QString &_source) override;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override{};
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
|
||||
|
@ -18,6 +18,9 @@
|
||||
|
||||
#include "loadsource.h"
|
||||
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include <QRandomGenerator>
|
||||
|
||||
#include "awdebug.h"
|
||||
@ -45,17 +48,17 @@ QVariant LoadSource::data(const QString &_source)
|
||||
}
|
||||
|
||||
|
||||
QVariantMap LoadSource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *LoadSource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
QVariantMap data;
|
||||
auto data = new KSysGuard::SensorInfo();
|
||||
if (_source.startsWith("load/load")) {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = "Simple sources for load tests";
|
||||
data["type"] = "int";
|
||||
data["units"] = "";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = "Simple sources for load tests";
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -31,7 +31,7 @@ public:
|
||||
explicit LoadSource(QObject *_parent, const QStringList &_args);
|
||||
~LoadSource() override;
|
||||
QVariant data(const QString &_source) override;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override{};
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
};
|
||||
|
@ -18,6 +18,9 @@
|
||||
|
||||
#include "networksource.h"
|
||||
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include <QNetworkInterface>
|
||||
#include <QProcess>
|
||||
|
||||
@ -57,23 +60,19 @@ QVariant NetworkSource::data(const QString &_source)
|
||||
}
|
||||
|
||||
|
||||
QVariantMap NetworkSource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *NetworkSource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
QVariantMap data;
|
||||
auto data = new KSysGuard::SensorInfo();
|
||||
if (_source == "network/current/name") {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = "Current network device name";
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = "Current network device name";
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "network/current/ssid") {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = "Current SSID name";
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = "Current SSID name";
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -33,7 +33,7 @@ public:
|
||||
explicit NetworkSource(QObject *_parent, const QStringList &_args);
|
||||
~NetworkSource() override;
|
||||
QVariant data(const QString &_source) override;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override;
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
|
||||
|
@ -18,6 +18,9 @@
|
||||
|
||||
#include "playersource.h"
|
||||
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include <QDBusArgument>
|
||||
#include <QDBusConnection>
|
||||
#include <QDBusConnectionInterface>
|
||||
@ -87,77 +90,59 @@ QString PlayerSource::getAutoMpris()
|
||||
}
|
||||
|
||||
|
||||
QVariantMap PlayerSource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *PlayerSource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
QVariantMap data;
|
||||
auto data = new KSysGuard::SensorInfo();
|
||||
if (_source == "player/album") {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = "Current song album";
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = "Current song album";
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "player/salbum") {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = QString("Current song album (%1 symbols)").arg(m_symbols);
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = QString("Current song album (%1 symbols)").arg(m_symbols);
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "player/dalbum") {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = QString("Current song album (%1 symbols, dynamic)").arg(m_symbols);
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = QString("Current song album (%1 symbols, dynamic)").arg(m_symbols);
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "player/artist") {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = "Current song artist";
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = "Current song artist";
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "player/sartist") {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = QString("Current song artist (%1 symbols)").arg(m_symbols);
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = QString("Current song artist (%1 symbols)").arg(m_symbols);
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "player/dartist") {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = QString("Current song artist (%1 symbols, dynamic)").arg(m_symbols);
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = QString("Current song artist (%1 symbols, dynamic)").arg(m_symbols);
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "player/duration") {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = "Current song duration";
|
||||
data["type"] = "integer";
|
||||
data["units"] = "s";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = "Current song duration";
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitSecond;
|
||||
} else if (_source == "player/progress") {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = "Current song progress";
|
||||
data["type"] = "integer";
|
||||
data["units"] = "s";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = "Current song progress";
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitSecond;
|
||||
} else if (_source == "player/title") {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = "Current song title";
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = "Current song title";
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "player/stitle") {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = QString("Current song title (%1 symbols)").arg(m_symbols);
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = QString("Current song title (%1 symbols)").arg(m_symbols);
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "player/dtitle") {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = QString("Current song title (%1 symbols, dynamic)").arg(m_symbols);
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = QString("Current song title (%1 symbols, dynamic)").arg(m_symbols);
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -38,7 +38,7 @@ public:
|
||||
~PlayerSource() override;
|
||||
QVariant data(const QString &_source) override;
|
||||
static QString getAutoMpris();
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override;
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
// additional method to build dynamic tags
|
||||
|
@ -18,6 +18,9 @@
|
||||
|
||||
#include "processessource.h"
|
||||
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include <QDir>
|
||||
|
||||
#include "awdebug.h"
|
||||
@ -48,29 +51,27 @@ QVariant ProcessesSource::data(const QString &_source)
|
||||
}
|
||||
|
||||
|
||||
QVariantMap ProcessesSource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *ProcessesSource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
QVariantMap data;
|
||||
auto data = new KSysGuard::SensorInfo();
|
||||
if (_source == "ps/running/count") {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = "Count of running processes";
|
||||
data["type"] = "integer";
|
||||
data["units"] = "";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = "Count of running processes";
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "ps/running/list") {
|
||||
data["min"] = QStringList();
|
||||
data["max"] = QStringList();
|
||||
data["name"] = "All running processes list";
|
||||
data["type"] = "QStringList";
|
||||
data["units"] = "";
|
||||
data->name = "All running processes list";
|
||||
data->variantType = QVariant::StringList;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source == "ps/total/count") {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = "Total count of processes";
|
||||
data["type"] = "integer";
|
||||
data["units"] = "";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = "Total count of processes";
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -31,7 +31,7 @@ public:
|
||||
explicit ProcessesSource(QObject *_parent, const QStringList &_args);
|
||||
~ProcessesSource() override;
|
||||
QVariant data(const QString &_source) override;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override;
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
|
||||
|
@ -18,6 +18,9 @@
|
||||
|
||||
#include "quotessource.h"
|
||||
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include "awdebug.h"
|
||||
#include "extquotes.h"
|
||||
|
||||
@ -57,48 +60,48 @@ QVariant QuotesSource::data(const QString &_source)
|
||||
}
|
||||
|
||||
|
||||
QVariantMap QuotesSource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *QuotesSource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
int ind = index(_source);
|
||||
QVariantMap data;
|
||||
auto data = new KSysGuard::SensorInfo;
|
||||
if (_source.startsWith("quotes/pricechg")) {
|
||||
data["min"] = 0.0;
|
||||
data["max"] = 0.0;
|
||||
data["name"] = QString("Absolute prie changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
|
||||
data["type"] = "double";
|
||||
data["units"] = "";
|
||||
data->min = 0.0;
|
||||
data->max = 0.0;
|
||||
data->name = QString("Absolute price changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
|
||||
data->variantType = QVariant::Double;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source.startsWith("quotes/price")) {
|
||||
data["min"] = 0.0;
|
||||
data["max"] = 0.0;
|
||||
data["name"] = QString("Price for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
|
||||
data["type"] = "double";
|
||||
data["units"] = "";
|
||||
data->min = 0.0;
|
||||
data->max = 0.0;
|
||||
data->name = QString("Price for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
|
||||
data->variantType = QVariant::Double;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source.startsWith("quotes/percpricechg")) {
|
||||
data["min"] = -100.0;
|
||||
data["max"] = 100.0;
|
||||
data["name"] = QString("Price changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
|
||||
data["type"] = "double";
|
||||
data["units"] = "";
|
||||
data->min = -100.0;
|
||||
data->max = 100.0;
|
||||
data->name = QString("Price changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
|
||||
data->variantType = QVariant::Double;
|
||||
data->unit = KSysGuard::UnitPercent;
|
||||
} else if (_source.startsWith("quotes/volumechg")) {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = QString("Absolute volume changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
|
||||
data["type"] = "int";
|
||||
data["units"] = "";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = QString("Absolute volume changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source.startsWith("quotes/volume")) {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = QString("Volume for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
|
||||
data["type"] = "int";
|
||||
data["units"] = "";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = QString("Volume for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source.startsWith("quotes/percvolumechg")) {
|
||||
data["min"] = -100.0;
|
||||
data["max"] = 100.0;
|
||||
data["name"] = QString("Volume changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
|
||||
data["type"] = "double";
|
||||
data["units"] = "";
|
||||
data->min = -100.0;
|
||||
data->max = 100.0;
|
||||
data->name = QString("Volume changes for '%1'").arg(m_extQuotes->itemByTagNumber(ind)->uniq());
|
||||
data->variantType = QVariant::Double;
|
||||
data->unit = KSysGuard::UnitPercent;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -34,7 +34,7 @@ public:
|
||||
explicit QuotesSource(QObject *_parent, const QStringList &_args);
|
||||
~QuotesSource() override;
|
||||
QVariant data(const QString &_source) override;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override{};
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
|
||||
|
@ -18,6 +18,9 @@
|
||||
|
||||
#include "requestsource.h"
|
||||
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include "awdebug.h"
|
||||
#include "extnetworkrequest.h"
|
||||
|
||||
@ -57,18 +60,16 @@ QVariant RequestSource::data(const QString &_source)
|
||||
}
|
||||
|
||||
|
||||
QVariantMap RequestSource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *RequestSource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
int ind = index(_source);
|
||||
QVariantMap data;
|
||||
auto data = new KSysGuard::SensorInfo();
|
||||
if (_source.startsWith("network/response")) {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = QString("Network response for %1").arg(m_extNetRequest->itemByTagNumber(ind)->uniq());
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = QString("Network response for %1").arg(m_extNetRequest->itemByTagNumber(ind)->uniq());
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -34,7 +34,7 @@ public:
|
||||
explicit RequestSource(QObject *_parent, const QStringList &_args);
|
||||
~RequestSource() override;
|
||||
QVariant data(const QString &_source) override;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override{};
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
|
||||
|
@ -18,6 +18,9 @@
|
||||
|
||||
#include "systeminfosource.h"
|
||||
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include <QDBusConnection>
|
||||
#include <QDBusMessage>
|
||||
#include <QDBusVariant>
|
||||
@ -51,23 +54,23 @@ QVariant SystemInfoSource::data(const QString &_source)
|
||||
}
|
||||
|
||||
|
||||
QVariantMap SystemInfoSource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *SystemInfoSource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
QVariantMap data;
|
||||
auto data = new KSysGuard::SensorInfo();
|
||||
if (_source == "system/brightness") {
|
||||
data["min"] = 0.0;
|
||||
data["max"] = 100.0;
|
||||
data["name"] = "Screen brightness";
|
||||
data["type"] = "float";
|
||||
data["units"] = "%";
|
||||
data->min = 0.0;
|
||||
data->max = 100.0;
|
||||
data->name = "Screen brightness";
|
||||
data->variantType = QVariant::Double;
|
||||
data->unit = KSysGuard::UnitPercent;
|
||||
} else if (_source == "system/volume") {
|
||||
data["min"] = 0.0;
|
||||
data["max"] = 100.0;
|
||||
data["name"] = "Master volume";
|
||||
data["type"] = "float";
|
||||
data["units"] = "%";
|
||||
data->min = 0.0;
|
||||
data->max = 100.0;
|
||||
data->name = "Master volume";
|
||||
data->variantType = QVariant::Double;
|
||||
data->unit = KSysGuard::UnitPercent;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -31,7 +31,7 @@ public:
|
||||
explicit SystemInfoSource(QObject *_parent, const QStringList &_args);
|
||||
~SystemInfoSource() override;
|
||||
QVariant data(const QString &_source) override;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override;
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
|
||||
|
@ -18,6 +18,9 @@
|
||||
|
||||
#include "upgradesource.h"
|
||||
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include "awdebug.h"
|
||||
#include "extupgrade.h"
|
||||
|
||||
@ -49,16 +52,14 @@ QVariant UpgradeSource::data(const QString &_source)
|
||||
}
|
||||
|
||||
|
||||
QVariantMap UpgradeSource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *UpgradeSource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
QVariantMap data;
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = QString("Package manager '%1' metadata").arg(m_extUpgrade->itemByTagNumber(index(_source))->uniq());
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
auto data = new KSysGuard::SensorInfo();
|
||||
data->name = QString("Package manager '%1' metadata").arg(m_extUpgrade->itemByTagNumber(index(_source))->uniq());
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
|
||||
return data;
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ public:
|
||||
explicit UpgradeSource(QObject *_parent, const QStringList &_args);
|
||||
~UpgradeSource() override;
|
||||
QVariant data(const QString &_source) override;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override{};
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
|
||||
|
@ -18,6 +18,9 @@
|
||||
|
||||
#include "weathersource.h"
|
||||
|
||||
#include <ksysguard/formatter/Unit.h>
|
||||
#include <ksysguard/systemstats/SensorInfo.h>
|
||||
|
||||
#include "awdebug.h"
|
||||
#include "extweather.h"
|
||||
|
||||
@ -57,48 +60,44 @@ QVariant WeatherSource::data(const QString &_source)
|
||||
}
|
||||
|
||||
|
||||
QVariantMap WeatherSource::initialData(const QString &_source) const
|
||||
KSysGuard::SensorInfo *WeatherSource::initialData(const QString &_source) const
|
||||
{
|
||||
qCDebug(LOG_ESS) << "Source" << _source;
|
||||
|
||||
int ind = index(_source);
|
||||
QVariantMap data;
|
||||
auto data = new KSysGuard::SensorInfo();
|
||||
if (_source.startsWith("weather/weatherId")) {
|
||||
data["min"] = 0;
|
||||
data["max"] = 1000;
|
||||
data["name"] = QString("Numeric weather ID for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
|
||||
data["type"] = "integer";
|
||||
data["units"] = "";
|
||||
data->min = 0;
|
||||
data->max = 1000;
|
||||
data->name = QString("Numeric weather ID for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source.startsWith("weather/weather")) {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = QString("ID string map for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = QString("ID string map for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source.startsWith("weather/humidity")) {
|
||||
data["min"] = 0;
|
||||
data["max"] = 100;
|
||||
data["name"] = QString("Humidity for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
|
||||
data["type"] = "integer";
|
||||
data["units"] = "%";
|
||||
data->min = 0;
|
||||
data->max = 100;
|
||||
data->name = QString("Humidity for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitPercent;
|
||||
} else if (_source.startsWith("weather/pressure")) {
|
||||
data["min"] = 0;
|
||||
data["max"] = 0;
|
||||
data["name"] = QString("Atmospheric pressure for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
|
||||
data["type"] = "integer";
|
||||
data["units"] = "mb";
|
||||
data->min = 0;
|
||||
data->max = 0;
|
||||
data->name = QString("Atmospheric pressure for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
|
||||
data->variantType = QVariant::Int;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
} else if (_source.startsWith("weather/temperature")) {
|
||||
data["min"] = 0.0;
|
||||
data["max"] = 0.0;
|
||||
data["name"] = QString("Temperature for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
|
||||
data["type"] = "float";
|
||||
data["units"] = "°C";
|
||||
data->min = 0.0;
|
||||
data->max = 0.0;
|
||||
data->name = QString("Temperature for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
|
||||
data->variantType = QVariant::Double;
|
||||
data->unit = KSysGuard::UnitCelsius;
|
||||
} else if (_source.startsWith("weather/timestamp")) {
|
||||
data["min"] = "";
|
||||
data["max"] = "";
|
||||
data["name"] = QString("Timestamp for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
|
||||
data["type"] = "QString";
|
||||
data["units"] = "";
|
||||
data->name = QString("Timestamp for '%1'").arg(m_extWeather->itemByTagNumber(ind)->uniq());
|
||||
data->variantType = QVariant::String;
|
||||
data->unit = KSysGuard::UnitNone;
|
||||
}
|
||||
|
||||
return data;
|
||||
|
@ -34,7 +34,7 @@ public:
|
||||
explicit WeatherSource(QObject *_parent, const QStringList &_args);
|
||||
~WeatherSource() override;
|
||||
QVariant data(const QString &_source) override;
|
||||
[[nodiscard]] QVariantMap initialData(const QString &_source) const override;
|
||||
[[nodiscard]] KSysGuard::SensorInfo *initialData(const QString &_source) const override;
|
||||
void run() override{};
|
||||
[[nodiscard]] QStringList sources() const override;
|
||||
|
||||
|
@ -27,4 +27,4 @@ include(KDEInstallDirs)
|
||||
include(KDECMakeSettings)
|
||||
include(KDECompilerSettings)
|
||||
set(Kf6_INCLUDE ${KDE_INSTALL_FULL_INCLUDEDIR_KF})
|
||||
set(Kf6_LIBRARIES KF6::I18n KF6::Notifications KF6::WindowSystem KSysGuard::Sensors KSysGuard::SensorFaces KSysGuard::SystemStats PW::LibTaskManager)
|
||||
set(Kf6_LIBRARIES KF6::CoreAddons KF6::I18n KF6::Notifications KF6::WindowSystem KSysGuard::Sensors KSysGuard::SensorFaces KSysGuard::SystemStats PW::LibTaskManager)
|
||||
|
Loading…
Reference in New Issue
Block a user