Libksysguard
7#include "SensorGroup_p.h"
9#include <KLocalizedString>
11#include <QRegularExpression>
13using namespace Qt::StringLiterals;
17SensorGroup::SensorGroup()
22SensorGroup::~SensorGroup()
26void SensorGroup::retranslate()
28 m_sensorNames.clear();
29 m_segmentNames.clear();
31 m_sensorNames[u
"cpu/cpu\\d+/usage"_s] =
i18nc(
"Total load sensor of all cores",
"[Group] Total Usage");
32 m_sensorNames[u
"cpu/cpu\\d+/user"_s] =
i18nc(
"All cores user load sensors",
"[Group] User Usage");
33 m_sensorNames[u
"cpu/cpu\\d+/system"_s] =
i18nc(
"All cores user system sensors",
"[Group] System Usage");
34 m_sensorNames[u
"cpu/cpu\\d+/wait"_s] =
i18nc(
"All cores wait load sensors",
"[Group] Wait Usage");
35 m_sensorNames[u
"cpu/cpu\\d+/frequency"_s] =
i18nc(
"All cores clock frequency sensors",
"[Group] Clock Frequency");
36 m_sensorNames[u
"cpu/cpu\\d+/temperature"_s] =
i18nc(
"All cores temperature sensors",
"[Group] Temperature");
37 m_sensorNames[u
"cpu/cpu\\d+/name"_s] =
i18nc(
"All cores names",
"[Group] Name");
39 m_sensorNames[u
"gpu/gpu\\d+/usage"_s] =
i18nc(
"GPU group sensor",
"[Group] Total Usage");
40 m_sensorNames[u
"gpu/gpu\\d+/usedVram"_s] =
i18nc(
"GPU group sensor",
"[Group] Video Memory Used");
41 m_sensorNames[u
"gpu/gpu\\d+/totalVram"_s] =
i18nc(
"GPU group sensor",
"[Group] Total Video Memory");
42 m_sensorNames[u
"gpu/gpu\\d+/name"_s] =
i18nc(
"GPU group sensor",
"[Group] Name");
44 m_sensorNames[u
"partitions/(?!all).*/usedspace"_s] =
i18n(
"[Group] Used");
45 m_sensorNames[u
"partitions/(?!all).*/freespace"_s] =
i18n(
"[Group] Available");
46 m_sensorNames[u
"partitions/(?!all).*/filllevel"_s] =
i18n(
"[Group] Percentage Used");
47 m_sensorNames[u
"partitions/(?!all).*/total"_s] =
i18n(
"[Group] Total Size");
49 m_sensorNames[u
"network/(?!all).*/network"_s] =
i18n(
"[Group] Network Name");
50 m_sensorNames[u
"network/(?!all).*/ipv4address"_s] =
i18n(
"[Group] IPv4 Address");
51 m_sensorNames[u
"network/(?!all).*/ipv6address"_s] =
i18n(
"[Group] IPv6 Address");
52 m_sensorNames[u
"network/(?!all).*/signal"_s] =
i18n(
"[Group] Signal Strength");
53 m_sensorNames[u
"network/(?!all).*/download"_s] =
i18n(
"[Group] Download Rate");
54 m_sensorNames[u
"network/(?!all).*/downloadBits"_s] =
i18n(
"[Group] Download Rate");
55 m_sensorNames[u
"network/(?!all).*/totalDownload"_s] =
i18n(
"[Group] Total Downloaded");
56 m_sensorNames[u
"network/(?!all).*/upload"_s] =
i18n(
"[Group] Upload Rate");
57 m_sensorNames[u
"network/(?!all).*/uploadBits"_s] =
i18n(
"[Group] Upload Rate");
58 m_sensorNames[u
"network/(?!all).*/totalUpload"_s] =
i18n(
"[Group] Total Uploaded");
60 m_sensorNames[u
"disk/(?!all).*/name"_s] =
i18n(
"[Group] Name");
61 m_sensorNames[u
"disk/(?!all).*/total"_s] =
i18n(
"[Group] Total Space");
62 m_sensorNames[u
"disk/(?!all).*/used"_s] =
i18n(
"[Group] Used Space");
63 m_sensorNames[u
"disk/(?!all).*/free"_s] =
i18n(
"[Group] Free Space");
64 m_sensorNames[u
"disk/(?!all).*/read"_s] =
i18n(
"[Group] Read Rate");
65 m_sensorNames[u
"disk/(?!all).*/write"_s] =
i18n(
"[Group] Write Rate");
66 m_sensorNames[u
"disk/(?!all).*/usedPercent"_s] =
i18n(
"[Group] Percentage Used");
67 m_sensorNames[u
"disk/(?!all).*/freePercent"_s] =
i18n(
"[Group] Percentage Free");
69 m_sensorNames[u
"power/(?!all).*/name"_s] =
i18nc(
"Power group sensor",
"[Group] Name");
70 m_sensorNames[u
"power/(?!all).*/charge"_s] =
i18nc(
"Power group sensor",
"[Group] Charge");
71 m_sensorNames[u
"power/(?!all).*/chargePercentage"_s] =
i18nc(
"Power group sensor",
"[Group] Charge Percentage");
72 m_sensorNames[u
"power/(?!all).*/chargeRate"_s] =
i18nc(
"Power group sensor",
"[Group] Charging Rate");
73 m_sensorNames[u
"power/(?!all).*/capacity"_s] =
i18nc(
"Power group sensor",
"[Group] Current Capacity");
74 m_sensorNames[u
"power/(?!all).*/design"_s] =
i18nc(
"Power group sensor",
"[Group] Design Capacity");
75 m_sensorNames[u
"power/(?!all).*/health"_s] =
i18nc(
"Power group sensor",
"[Group] Health");
77 m_segmentNames[u
"cpu/cpu\\d+"_s] =
i18n(
"[Group] CPU");
78 m_segmentNames[u
"gpu/gpu\\d+"_s] =
i18n(
"[Group] GPU");
79 m_segmentNames[u
"network/(?!all).*"_s] =
i18nc(
"Network group title",
"[Group] Network Device");
80 m_segmentNames[u
"disk/(?!all).*"_s] =
i18n(
"[Group] Disk");
81 m_segmentNames[u
"power/(?!all).*"_s] =
i18nc(
"Power group title",
"[Group] Power");
84QString SensorGroup::groupRegexForId(QString key )
86 static const QRegularExpression cpuExpr(u
"cpu/cpu\\d+/(.*)"_s);
87 static const QRegularExpression gpuExpr(u
"gpu/gpu\\d+/(.*)"_s);
88 static const QRegularExpression netExpr(u
"network/(?!all).*/(.*)$"_s);
89 static const QRegularExpression partitionsExpr(u
"partitions/(?!all).*/(.*)$"_s);
90 static const QRegularExpression diskExpr(u
"disk/(?!all).*/(.*)"_s);
91 static const QRegularExpression powerExpr(u
"power/(?!all).*/(.*)"_s);
94 key.
replace(cpuExpr, u
"cpu/cpu\\d+/\\1"_s);
96 key.
replace(gpuExpr, u
"gpu/gpu\\d+/\\1"_s);
98 key.
replace(netExpr, u
"network/(?!all).*/\\1"_s);
99 }
else if (key.
contains(partitionsExpr)) {
100 key.
replace(partitionsExpr, u
"partitions/(?!all).*/\\1"_s);
101 }
else if (key.
contains(diskExpr)) {
102 key.
replace(diskExpr, u
"disk/(?!all).*/\\1"_s);
103 }
else if (key.
contains(powerExpr)) {
104 key.
replace(powerExpr, u
"power/(?!all).*/\\1"_s);
111 if (m_sensorNames.contains(key)) {
118QString SensorGroup::sensorNameForRegEx(
const QString &expr)
120 if (m_sensorNames.contains(expr)) {
121 return m_sensorNames.value(expr);
127QString SensorGroup::segmentNameForRegEx(
const QString &expr)
129 if (m_segmentNames.contains(expr)) {
130 return m_segmentNames.value(expr);
QString i18nc(const char *context, const char *text, const TYPE &arg...)
QString i18n(const char *text, const TYPE &arg...)
bool contains(QChar ch, Qt::CaseSensitivity cs) const const
QString & replace(QChar before, QChar after, Qt::CaseSensitivity cs)
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Apr 11 2025 11:47:10 by
doxygen 1.13.2 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.