mirror of
https://github.com/arcan1s/awesome-widgets.git
synced 2025-07-15 06:45:48 +00:00
refactor: fix some minor clang-tidy warnings
This commit is contained in:
52
sources/extsysmonsources/abstractextsysmonsource.cpp
Normal file
52
sources/extsysmonsources/abstractextsysmonsource.cpp
Normal file
@ -0,0 +1,52 @@
|
||||
/***************************************************************************
|
||||
* 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 "abstractextsysmonsource.h"
|
||||
|
||||
#include "awdebug.h"
|
||||
|
||||
|
||||
AbstractExtSysMonSource::AbstractExtSysMonSource(QObject *_parent)
|
||||
: QObject(_parent)
|
||||
{
|
||||
qCDebug(LOG_ESS) << __PRETTY_FUNCTION__;
|
||||
}
|
||||
|
||||
|
||||
// This method returns -1 in case of invalid source name (like if there is no number)
|
||||
int AbstractExtSysMonSource::index(const QString &_source)
|
||||
{
|
||||
auto match = NUMBER_REGEX.match(_source);
|
||||
return match.hasMatch() ? match.captured().toInt() : -1;
|
||||
}
|
||||
|
||||
|
||||
KSysGuard::SensorInfo *AbstractExtSysMonSource::makeSensorInfo(const QString &_name, const QMetaType::Type _type,
|
||||
const KSysGuard::Unit _unit, const double _min,
|
||||
const double _max)
|
||||
{
|
||||
auto info = new KSysGuard::SensorInfo();
|
||||
info->name = _name;
|
||||
info->variantType = static_cast<QVariant::Type>(_type);
|
||||
|
||||
info->unit = _unit;
|
||||
|
||||
info->min = _min;
|
||||
info->max = _max;
|
||||
|
||||
return info;
|
||||
}
|
@ -30,20 +30,11 @@ class AbstractExtSysMonSource : public QObject
|
||||
public:
|
||||
inline static QRegularExpression NUMBER_REGEX = QRegularExpression("\\d+$");
|
||||
|
||||
explicit AbstractExtSysMonSource(QObject *_parent)
|
||||
: QObject(_parent){};
|
||||
explicit AbstractExtSysMonSource(QObject *_parent);
|
||||
~AbstractExtSysMonSource() override = default;
|
||||
virtual QVariant data(const QString &_source) = 0;
|
||||
[[nodiscard]] virtual QHash<QString, KSysGuard::SensorInfo *> sources() const = 0;
|
||||
|
||||
// used by extensions
|
||||
// This method returns -1 in case of invalid source name (like if there is no number)
|
||||
static int index(const QString &_source)
|
||||
{
|
||||
auto match = NUMBER_REGEX.match(_source);
|
||||
return match.hasMatch() ? match.captured().toInt() : -1;
|
||||
}
|
||||
|
||||
static int index(const QString &_source);
|
||||
// safe value extractor
|
||||
template <class T> static QVariantHash dataByItem(T *_extension, const QString &_source)
|
||||
{
|
||||
@ -54,22 +45,9 @@ public:
|
||||
auto item = _extension->itemByTagNumber(idx);
|
||||
return item ? item->run() : QVariantHash();
|
||||
}
|
||||
|
||||
static KSysGuard::SensorInfo *makeSensorInfo(const QString &_name, const QVariant::Type _type,
|
||||
const KSysGuard::Unit _unit = KSysGuard::UnitNone,
|
||||
const double _min = 0, const double _max = 0)
|
||||
{
|
||||
auto info = new KSysGuard::SensorInfo();
|
||||
info->name = _name;
|
||||
info->variantType = _type;
|
||||
|
||||
info->unit = _unit;
|
||||
|
||||
info->min = _min;
|
||||
info->max = _max;
|
||||
|
||||
return info;
|
||||
}
|
||||
static KSysGuard::SensorInfo *makeSensorInfo(const QString &_name, QMetaType::Type _type,
|
||||
KSysGuard::Unit _unit = KSysGuard::UnitNone,
|
||||
double _min = 0, double _max = 0);
|
||||
|
||||
signals:
|
||||
void dataReceived(const QVariantHash &);
|
||||
|
@ -71,11 +71,11 @@ void BatterySource::run()
|
||||
m_values[QString("battotal%1").arg(i)] = QString(fullLevelFile.readLine()).toInt();
|
||||
fullLevelFile.close();
|
||||
|
||||
m_values[QString("bat%1").arg(i)] = static_cast<int>(100 * m_values[QString("batnow%1").arg(i)].toFloat()
|
||||
/ m_values[QString("battotal%1").arg(i)].toFloat());
|
||||
m_values[QString("bat%1").arg(i)] = static_cast<int>(100 * m_values[QString("batnow%1").arg(i)].toDouble()
|
||||
/ m_values[QString("battotal%1").arg(i)].toDouble());
|
||||
// accumulate
|
||||
currentLevel += m_values[QString("batnow%1").arg(i)].toFloat();
|
||||
fullLevel += m_values[QString("battotal%1").arg(i)].toFloat();
|
||||
currentLevel += m_values[QString("batnow%1").arg(i)].toDouble();
|
||||
fullLevel += m_values[QString("battotal%1").arg(i)].toDouble();
|
||||
}
|
||||
|
||||
// total
|
||||
@ -93,24 +93,25 @@ QHash<QString, KSysGuard::SensorInfo *> BatterySource::sources() const
|
||||
auto result = QHash<QString, KSysGuard::SensorInfo *>();
|
||||
|
||||
// fixed fields
|
||||
result.insert("ac", makeSensorInfo("Is AC online or not", QVariant::Bool));
|
||||
result.insert("bat", makeSensorInfo("Average battery usage", QVariant::Int, KSysGuard::UnitPercent, 0, 100));
|
||||
result.insert("batleft", makeSensorInfo("Battery discharge time", QVariant::Int, KSysGuard::UnitSecond));
|
||||
result.insert("batnow", makeSensorInfo("Current battery capacity", QVariant::Int));
|
||||
result.insert("batrate", makeSensorInfo("Average battery discharge rate", QVariant::Double, KSysGuard::UnitRate));
|
||||
result.insert("battotal", makeSensorInfo("Full battery capacity", QVariant::Int));
|
||||
result.insert("ac", makeSensorInfo("Is AC online or not", QMetaType::Bool));
|
||||
result.insert("bat", makeSensorInfo("Average battery usage", QMetaType::Int, KSysGuard::UnitPercent, 0, 100));
|
||||
result.insert("batleft", makeSensorInfo("Battery discharge time", QMetaType::Int, KSysGuard::UnitSecond));
|
||||
result.insert("batnow", makeSensorInfo("Current battery capacity", QMetaType::Int));
|
||||
result.insert("batrate", makeSensorInfo("Average battery discharge rate", QMetaType::Double, KSysGuard::UnitRate));
|
||||
result.insert("battotal", makeSensorInfo("Full battery capacity", QMetaType::Int));
|
||||
|
||||
// generators
|
||||
for (auto i = 0; i < m_batteriesCount; ++i) {
|
||||
result.insert(QString("bat%1").arg(i), makeSensorInfo(QString("Battery %1 usage").arg(i), QVariant::Int,
|
||||
result.insert(QString("bat%1").arg(i), makeSensorInfo(QString("Battery %1 usage").arg(i), QMetaType::Int,
|
||||
KSysGuard::UnitPercent, 0, 100));
|
||||
result.insert(QString("batleft%1").arg(i), makeSensorInfo(QString("Battery %1 discharge time").arg(i),
|
||||
QVariant::Int, KSysGuard::UnitSecond));
|
||||
result.insert(QString("batnow%1").arg(i), makeSensorInfo(QString("Battery %1 capacity").arg(i), QVariant::Int));
|
||||
QMetaType::Int, KSysGuard::UnitSecond));
|
||||
result.insert(QString("batnow%1").arg(i),
|
||||
makeSensorInfo(QString("Battery %1 capacity").arg(i), QMetaType::Int));
|
||||
result.insert(QString("batrate%1").arg(i), makeSensorInfo(QString("Battery %1 discharge rate").arg(i),
|
||||
QVariant::Double, KSysGuard::UnitRate));
|
||||
QMetaType::Double, KSysGuard::UnitRate));
|
||||
result.insert(QString("battotal%1").arg(i),
|
||||
makeSensorInfo(QString("Battery %1 full capacity").arg(i), QVariant::Int));
|
||||
makeSensorInfo(QString("Battery %1 full capacity").arg(i), QMetaType::Int));
|
||||
}
|
||||
|
||||
return result;
|
||||
@ -145,20 +146,19 @@ void BatterySource::calculateRates()
|
||||
|
||||
// check time interval
|
||||
auto now = QDateTime::currentDateTimeUtc();
|
||||
auto interval = m_timestamp.secsTo(now);
|
||||
qCDebug(LOG_AW) << interval;
|
||||
auto interval = static_cast<double>(m_timestamp.secsTo(now));
|
||||
m_timestamp.swap(now);
|
||||
|
||||
for (auto i = 0; i < m_batteriesCount; ++i) {
|
||||
auto approx = approximate(m_trend[i + 1]);
|
||||
m_values[QString("batrate%1").arg(i)] = approx / interval;
|
||||
m_values[QString("batleft%1").arg(i)] = interval * m_values[QString("batnow%1").arg(i)].toFloat() / approx;
|
||||
m_values[QString("batleft%1").arg(i)] = interval * m_values[QString("batnow%1").arg(i)].toDouble() / approx;
|
||||
}
|
||||
|
||||
// total
|
||||
auto approx = approximate(m_trend[0]);
|
||||
m_values["batrate"] = approx / interval;
|
||||
m_values["batleft"] = interval * m_values["batnow"].toFloat() / approx;
|
||||
m_values["batleft"] = interval * m_values["batnow"].toDouble() / approx;
|
||||
|
||||
// old data cleanup
|
||||
for (auto &trend : m_trend.keys()) {
|
||||
|
@ -46,7 +46,7 @@ QHash<QString, KSysGuard::SensorInfo *> CustomSource::sources() const
|
||||
|
||||
for (auto item : m_extScripts->activeItems())
|
||||
result.insert(item->tag("custom"),
|
||||
makeSensorInfo(QString("Custom command '%1' output").arg(item->uniq()), QVariant::String));
|
||||
makeSensorInfo(QString("Custom command '%1' output").arg(item->uniq()), QMetaType::QString));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -55,9 +55,9 @@ QHash<QString, KSysGuard::SensorInfo *> DesktopSource::sources() const
|
||||
{
|
||||
auto result = QHash<QString, KSysGuard::SensorInfo *>();
|
||||
|
||||
result.insert("name", makeSensorInfo("Current desktop name", QVariant::String));
|
||||
result.insert("number", makeSensorInfo("Current desktop number", QVariant::Int));
|
||||
result.insert("count", makeSensorInfo("Desktops count", QVariant::Int));
|
||||
result.insert("name", makeSensorInfo("Current desktop name", QMetaType::QString));
|
||||
result.insert("number", makeSensorInfo("Current desktop number", QMetaType::Int));
|
||||
result.insert("count", makeSensorInfo("Desktops count", QMetaType::Int));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ QHash<QString, KSysGuard::SensorInfo *> LoadSource::sources() const
|
||||
auto result = QHash<QString, KSysGuard::SensorInfo *>();
|
||||
|
||||
for (auto i = 0; i < 1000; ++i)
|
||||
result.insert(QString("load%1").arg(i), makeSensorInfo("Simple sources for load tests", QVariant::Int));
|
||||
result.insert(QString("load%1").arg(i), makeSensorInfo("Simple sources for load tests", QMetaType::Int));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -65,8 +65,8 @@ QHash<QString, KSysGuard::SensorInfo *> NetworkSource::sources() const
|
||||
{
|
||||
auto result = QHash<QString, KSysGuard::SensorInfo *>();
|
||||
|
||||
result.insert("device", makeSensorInfo("Current network device name", QVariant::String));
|
||||
result.insert("ssid", makeSensorInfo("Current SSID name", QVariant::String));
|
||||
result.insert("device", makeSensorInfo("Current network device name", QMetaType::QString));
|
||||
result.insert("ssid", makeSensorInfo("Current SSID name", QMetaType::QString));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -32,7 +32,6 @@ public:
|
||||
explicit NetworkSource(QObject *_parent);
|
||||
~NetworkSource() override;
|
||||
QVariant data(const QString &_source) override;
|
||||
void run();
|
||||
[[nodiscard]] QHash<QString, KSysGuard::SensorInfo *> sources() const override;
|
||||
|
||||
private slots:
|
||||
|
@ -115,23 +115,23 @@ QHash<QString, KSysGuard::SensorInfo *> PlayerSource::sources() const
|
||||
{
|
||||
auto result = QHash<QString, KSysGuard::SensorInfo *>();
|
||||
|
||||
result.insert("album", makeSensorInfo("Current song album", QVariant::String));
|
||||
result.insert("album", makeSensorInfo("Current song album", QMetaType::QString));
|
||||
result.insert("salbum",
|
||||
makeSensorInfo(QString("Current song album (%1 symbols)").arg(m_symbols), QVariant::String));
|
||||
result.insert("dalbum",
|
||||
makeSensorInfo(QString("Current song album (%1 symbols, dynamic)").arg(m_symbols), QVariant::String));
|
||||
result.insert("artist", makeSensorInfo("Current song artist", QVariant::String));
|
||||
makeSensorInfo(QString("Current song album (%1 symbols)").arg(m_symbols), QMetaType::QString));
|
||||
result.insert("dalbum", makeSensorInfo(QString("Current song album (%1 symbols, dynamic)").arg(m_symbols),
|
||||
QMetaType::QString));
|
||||
result.insert("artist", makeSensorInfo("Current song artist", QMetaType::QString));
|
||||
result.insert("sartist",
|
||||
makeSensorInfo(QString("Current song artist (%1 symbols)").arg(m_symbols), QVariant::String));
|
||||
makeSensorInfo(QString("Current song artist (%1 symbols)").arg(m_symbols), QMetaType::QString));
|
||||
result.insert("dartist", makeSensorInfo(QString("Current song artist (%1 symbols, dynamic)").arg(m_symbols),
|
||||
QVariant::String));
|
||||
result.insert("duration", makeSensorInfo("Current song duration", QVariant::Int, KSysGuard::UnitSecond));
|
||||
result.insert("progress", makeSensorInfo("Current song progress", QVariant::Int, KSysGuard::UnitSecond));
|
||||
result.insert("title", makeSensorInfo("Current song title", QVariant::String));
|
||||
QMetaType::QString));
|
||||
result.insert("duration", makeSensorInfo("Current song duration", QMetaType::Int, KSysGuard::UnitSecond));
|
||||
result.insert("progress", makeSensorInfo("Current song progress", QMetaType::Int, KSysGuard::UnitSecond));
|
||||
result.insert("title", makeSensorInfo("Current song title", QMetaType::QString));
|
||||
result.insert("stitle",
|
||||
makeSensorInfo(QString("Current song title (%1 symbols)").arg(m_symbols), QVariant::String));
|
||||
result.insert("dtitle",
|
||||
makeSensorInfo(QString("Current song title (%1 symbols, dynamic)").arg(m_symbols), QVariant::String));
|
||||
makeSensorInfo(QString("Current song title (%1 symbols)").arg(m_symbols), QMetaType::QString));
|
||||
result.insert("dtitle", makeSensorInfo(QString("Current song title (%1 symbols, dynamic)").arg(m_symbols),
|
||||
QMetaType::QString));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -71,9 +71,9 @@ QHash<QString, KSysGuard::SensorInfo *> ProcessesSource::sources() const
|
||||
{
|
||||
auto result = QHash<QString, KSysGuard::SensorInfo *>();
|
||||
|
||||
result.insert("running", makeSensorInfo("Count of running processes", QVariant::Int));
|
||||
result.insert("list", makeSensorInfo("All running processes list", QVariant::StringList));
|
||||
result.insert("count", makeSensorInfo("Total count of processes", QVariant::Int));
|
||||
result.insert("running", makeSensorInfo("Count of running processes", QMetaType::Int));
|
||||
result.insert("list", makeSensorInfo("All running processes list", QMetaType::QStringList));
|
||||
result.insert("count", makeSensorInfo("Total count of processes", QMetaType::Int));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -48,17 +48,17 @@ QHash<QString, KSysGuard::SensorInfo *> QuotesSource::sources() const
|
||||
|
||||
for (auto item : m_extQuotes->activeItems()) {
|
||||
result.insert(item->tag("pricechg"),
|
||||
makeSensorInfo(QString("Absolute price changes for '%1'").arg(item->uniq()), QVariant::Double));
|
||||
makeSensorInfo(QString("Absolute price changes for '%1'").arg(item->uniq()), QMetaType::Double));
|
||||
result.insert(item->tag("price"),
|
||||
makeSensorInfo(QString("Price for '%1'").arg(item->uniq()), QVariant::Double));
|
||||
makeSensorInfo(QString("Price for '%1'").arg(item->uniq()), QMetaType::Double));
|
||||
result.insert(item->tag("percpricechg"), makeSensorInfo(QString("Price changes for '%1'").arg(item->uniq()),
|
||||
QVariant::Double, KSysGuard::UnitPercent, 0, 100));
|
||||
QMetaType::Double, KSysGuard::UnitPercent, 0, 100));
|
||||
result.insert(item->tag("volumechg"),
|
||||
makeSensorInfo(QString("Absolute volume changes for '%1'").arg(item->uniq()), QVariant::Double));
|
||||
makeSensorInfo(QString("Absolute volume changes for '%1'").arg(item->uniq()), QMetaType::Double));
|
||||
result.insert(item->tag("volume"),
|
||||
makeSensorInfo(QString("Volume for '%1'").arg(item->uniq()), QVariant::Double));
|
||||
makeSensorInfo(QString("Volume for '%1'").arg(item->uniq()), QMetaType::Double));
|
||||
result.insert(item->tag("percvolumechg"), makeSensorInfo(QString("Volume changes for '%1'").arg(item->uniq()),
|
||||
QVariant::Double, KSysGuard::UnitPercent, 0, 100));
|
||||
QMetaType::Double, KSysGuard::UnitPercent, 0, 100));
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -46,7 +46,7 @@ QHash<QString, KSysGuard::SensorInfo *> RequestSource::sources() const
|
||||
|
||||
for (auto item : m_extNetRequest->activeItems())
|
||||
result.insert(item->tag("response"),
|
||||
makeSensorInfo(QString("Network response for %1").arg(item->uniq()), QVariant::String));
|
||||
makeSensorInfo(QString("Network response for %1").arg(item->uniq()), QMetaType::QString));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -54,8 +54,8 @@ QHash<QString, KSysGuard::SensorInfo *> SystemInfoSource::sources() const
|
||||
{
|
||||
auto result = QHash<QString, KSysGuard::SensorInfo *>();
|
||||
|
||||
result.insert("brightness", makeSensorInfo("Screen brightness", QVariant::Double, KSysGuard::UnitPercent, 0, 100));
|
||||
result.insert("volume", makeSensorInfo("Master volume", QVariant::Double, KSysGuard::UnitNone));
|
||||
result.insert("brightness", makeSensorInfo("Screen brightness", QMetaType::Double, KSysGuard::UnitPercent, 0, 100));
|
||||
result.insert("volume", makeSensorInfo("Master volume", QMetaType::Double, KSysGuard::UnitNone));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ QHash<QString, KSysGuard::SensorInfo *> TimeSource::sources() const
|
||||
{
|
||||
auto result = QHash<QString, KSysGuard::SensorInfo *>();
|
||||
|
||||
result.insert("now", makeSensorInfo("Current time", QVariant::LongLong, KSysGuard::UnitSecond));
|
||||
result.insert("now", makeSensorInfo("Current time", QMetaType::LongLong, KSysGuard::UnitSecond));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ QHash<QString, KSysGuard::SensorInfo *> UpgradeSource::sources() const
|
||||
|
||||
for (auto item : m_extUpgrade->activeItems())
|
||||
result.insert(item->tag("pkgcount"),
|
||||
makeSensorInfo(QString("Package manager '%1' metadata").arg(item->uniq()), QVariant::Int));
|
||||
makeSensorInfo(QString("Package manager '%1' metadata").arg(item->uniq()), QMetaType::Int));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -48,17 +48,17 @@ QHash<QString, KSysGuard::SensorInfo *> WeatherSource::sources() const
|
||||
|
||||
for (auto item : m_extWeather->activeItems()) {
|
||||
result.insert(item->tag("weatherId"), makeSensorInfo(QString("Numeric weather ID for '%1'").arg(item->uniq()),
|
||||
QVariant::Int, KSysGuard::UnitNone, 0, 1000));
|
||||
QMetaType::Int, KSysGuard::UnitNone, 0, 1000));
|
||||
result.insert(item->tag("weather"),
|
||||
makeSensorInfo(QString("ID string map for '%1'").arg(item->uniq()), QVariant::String));
|
||||
makeSensorInfo(QString("ID string map for '%1'").arg(item->uniq()), QMetaType::QString));
|
||||
result.insert(item->tag("humidity"), makeSensorInfo(QString("Humidity for '%1'").arg(item->uniq()),
|
||||
QVariant::Int, KSysGuard::UnitPercent, 0, 100));
|
||||
QMetaType::Int, KSysGuard::UnitPercent, 0, 100));
|
||||
result.insert(item->tag("pressure"),
|
||||
makeSensorInfo(QString("Atmospheric pressure for '%1'").arg(item->uniq()), QVariant::Int));
|
||||
makeSensorInfo(QString("Atmospheric pressure for '%1'").arg(item->uniq()), QMetaType::Int));
|
||||
result.insert(item->tag("temperature"), makeSensorInfo(QString("Temperature for '%1'").arg(item->uniq()),
|
||||
QVariant::Double, KSysGuard::UnitCelsius));
|
||||
QMetaType::Double, KSysGuard::UnitCelsius));
|
||||
result.insert(item->tag("timestamp"), makeSensorInfo(QString("Timestamp for '%1'").arg(item->uniq()),
|
||||
QVariant::DateTime, KSysGuard::UnitNone));
|
||||
QMetaType::QDateTime, KSysGuard::UnitNone));
|
||||
}
|
||||
|
||||
return result;
|
||||
|
Reference in New Issue
Block a user