rewrite to iterators library part

This commit is contained in:
arcan1s 2015-08-07 07:21:55 +03:00
parent 08cb7d9abe
commit 3122c2fa8c
8 changed files with 131 additions and 154 deletions

View File

@ -196,8 +196,8 @@ void AbstractExtItem::readConfiguration()
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
for (int i=m_dirs.count()-1; i>=0; i--) { for (int i=m_dirs.count()-1; i>=0; i--) {
if (!QDir(m_dirs[i]).entryList(QDir::Files).contains(m_fileName)) continue; if (!QDir(m_dirs.at(i)).entryList(QDir::Files).contains(m_fileName)) continue;
QSettings settings(QString("%1/%2").arg(m_dirs[i]).arg(m_fileName), QSettings::IniFormat); QSettings settings(QString("%1/%2").arg(m_dirs.at(i)).arg(m_fileName), QSettings::IniFormat);
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
setName(settings.value(QString("Name"), m_name).toString()); setName(settings.value(QString("Name"), m_name).toString());
@ -215,15 +215,14 @@ bool AbstractExtItem::tryDelete() const
{ {
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
for (int i=0; i<m_dirs.count(); i++) { foreach(QString dir, m_dirs) {
bool status = QFile::remove(QString("%1/%2").arg(m_dirs[i]).arg(m_fileName)); bool status = QFile::remove(QString("%1/%2").arg(dir).arg(m_fileName));
if (debug) qDebug() << PDEBUG << ":" << "Remove file" << QString("%1/%2").arg(m_dirs[i]).arg(m_fileName) << status; if (debug) qDebug() << PDEBUG << ":" << "Remove file" << QString("%1/%2").arg(dir).arg(m_fileName) << status;
} }
// check if exists // check if exists
for (int i=0; i<m_dirs.count(); i++) foreach(QString dir, m_dirs)
if (QFile::exists(QString("%1/%2").arg(m_dirs[i]).arg(m_fileName))) return false; if (QFile::exists(QString("%1/%2").arg(dir).arg(m_fileName))) return false;
return true; return true;
} }
@ -232,7 +231,7 @@ void AbstractExtItem::writeConfiguration() const
{ {
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
QSettings settings(QString("%1/%2").arg(m_dirs[0]).arg(m_fileName), QSettings::IniFormat); QSettings settings(QString("%1/%2").arg(m_dirs.first()).arg(m_fileName), QSettings::IniFormat);
if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName(); if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));

View File

@ -76,7 +76,7 @@ public:
int originalItem = -1; int originalItem = -1;
for (int i=0; i<m_items.count(); i++) { for (int i=0; i<m_items.count(); i++) {
if (m_items[i]->fileName() != item->text()) continue; if (m_items.at(i)->fileName() != item->text()) continue;
originalItem = i; originalItem = i;
break; break;
} }
@ -96,11 +96,9 @@ public:
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
QList<int> tagList; QList<int> tagList;
for (int i=0; i<m_items.count(); i++) foreach(T *item, m_items) tagList.append(item->number());
tagList.append(m_items[i]->number());
int number = 0; int number = 0;
while (tagList.contains(number)) while (tagList.contains(number)) number++;
number++;
return number; return number;
}; };
@ -128,14 +126,14 @@ private:
QStandardPaths::LocateDirectory); QStandardPaths::LocateDirectory);
QStringList names; QStringList names;
QList<T *> items; QList<T *> items;
for (int i=0; i<dirs.count(); i++) { foreach(QString dir, dirs) {
QStringList files = QDir(dirs[i]).entryList(QDir::Files, QDir::Name); QStringList files = QDir(dir).entryList(QDir::Files, QDir::Name);
for (int j=0; j<files.count(); j++) { foreach(QString file, files) {
if (!files[j].endsWith(QString(".desktop"))) continue; if (!file.endsWith(QString(".desktop"))) continue;
if (names.contains(files[j])) continue; if (names.contains(file)) continue;
if (debug) qDebug() << PDEBUG << ":" << "Found file" << files[j] << "in" << dirs[i]; if (debug) qDebug() << PDEBUG << ":" << "Found file" << file << "in" << dir;
names.append(files[j]); names.append(file);
items.append(new T(this, files[j], dirs, debug)); items.append(new T(this, file, dirs, debug));
} }
} }
@ -145,12 +143,12 @@ private:
void repaint() void repaint()
{ {
widgetDialog->clear(); widgetDialog->clear();
for (int i=0; i<m_items.count(); i++) { foreach(T *_item, m_items) {
QListWidgetItem *item = new QListWidgetItem(m_items[i]->fileName(), widgetDialog); QListWidgetItem *item = new QListWidgetItem(_item->fileName(), widgetDialog);
QStringList tooltip; QStringList tooltip;
tooltip.append(i18n("Name: %1", m_items[i]->name())); tooltip.append(i18n("Name: %1", _item->name()));
tooltip.append(i18n("Comment: %1", m_items[i]->comment())); tooltip.append(i18n("Comment: %1", _item->comment()));
tooltip.append(i18n("Identity: %1", m_items[i]->uniq())); tooltip.append(i18n("Identity: %1", _item->uniq()));
item->setToolTip(tooltip.join(QChar('\n'))); item->setToolTip(tooltip.join(QChar('\n')));
widgetDialog->addItem(item); widgetDialog->addItem(item);
} }

View File

@ -120,8 +120,8 @@ void ExtQuotes::readConfiguration()
AbstractExtItem::readConfiguration(); AbstractExtItem::readConfiguration();
for (int i=directories().count()-1; i>=0; i--) { for (int i=directories().count()-1; i>=0; i--) {
if (!QDir(directories()[i]).entryList(QDir::Files).contains(fileName())) continue; if (!QDir(directories().at(i)).entryList(QDir::Files).contains(fileName())) continue;
QSettings settings(QString("%1/%2").arg(directories()[i]).arg(fileName()), QSettings::IniFormat); QSettings settings(QString("%1/%2").arg(directories().at(i)).arg(fileName()), QSettings::IniFormat);
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
setTicker(settings.value(QString("X-AW-Ticker"), m_ticker).toString()); setTicker(settings.value(QString("X-AW-Ticker"), m_ticker).toString());
@ -188,7 +188,7 @@ void ExtQuotes::writeConfiguration() const
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
AbstractExtItem::writeConfiguration(); AbstractExtItem::writeConfiguration();
QSettings settings(QString("%1/%2").arg(directories()[0]).arg(fileName()), QSettings::IniFormat); QSettings settings(QString("%1/%2").arg(directories().first()).arg(fileName()), QSettings::IniFormat);
if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName(); if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));

View File

@ -167,8 +167,8 @@ void ExtScript::setFilters(const QStringList _filters)
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Filters" << _filters; if (debug) qDebug() << PDEBUG << ":" << "Filters" << _filters;
for (int i=0; i<_filters.count(); i++) foreach(QString filter, _filters)
updateFilter(_filters[i]); updateFilter(filter);
} }
@ -218,15 +218,15 @@ QString ExtScript::applyFilters(QString _value) const
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
if (debug) qDebug() << PDEBUG << ":" << "Value" << _value; if (debug) qDebug() << PDEBUG << ":" << "Value" << _value;
for (int i=0; i<m_filters.count(); i++) { foreach(QString filt, m_filters) {
if (debug) qDebug() << PDEBUG << ":" << "Found filter" << m_filters[i]; if (debug) qDebug() << PDEBUG << ":" << "Found filter" << filt;
QVariantMap filter = jsonFilters[m_filters[i]].toMap(); QVariantMap filter = jsonFilters[filt].toMap();
if (filter.isEmpty()) { if (filter.isEmpty()) {
if (debug) qDebug() << PDEBUG << ":" << "Could not find filter in the json"; if (debug) qDebug() << PDEBUG << ":" << "Could not find filter in the json";
continue; continue;
} }
for (int j=0; j<filter.keys().count(); j++) foreach(QString f, filter.keys())
_value.replace(filter.keys()[j], filter[filter.keys()[j]].toString()); _value.replace(f, filter[f].toString());
} }
return _value; return _value;
@ -254,8 +254,8 @@ void ExtScript::readConfiguration()
AbstractExtItem::readConfiguration(); AbstractExtItem::readConfiguration();
for (int i=directories().count()-1; i>=0; i--) { for (int i=directories().count()-1; i>=0; i--) {
if (!QDir(directories()[i]).entryList(QDir::Files).contains(fileName())) continue; if (!QDir(directories().at(i)).entryList(QDir::Files).contains(fileName())) continue;
QSettings settings(QString("%1/%2").arg(directories()[i]).arg(fileName()), QSettings::IniFormat); QSettings settings(QString("%1/%2").arg(directories().at(i)).arg(fileName()), QSettings::IniFormat);
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
setExecutable(settings.value(QString("Exec"), m_executable).toString()); setExecutable(settings.value(QString("Exec"), m_executable).toString());
@ -367,7 +367,7 @@ void ExtScript::writeConfiguration() const
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
AbstractExtItem::writeConfiguration(); AbstractExtItem::writeConfiguration();
QSettings settings(QString("%1/%2").arg(directories()[0]).arg(fileName()), QSettings::IniFormat); QSettings settings(QString("%1/%2").arg(directories().first()).arg(fileName()), QSettings::IniFormat);
if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName(); if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));

View File

@ -126,8 +126,8 @@ void ExtUpgrade::readConfiguration()
AbstractExtItem::readConfiguration(); AbstractExtItem::readConfiguration();
for (int i=directories().count()-1; i>=0; i--) { for (int i=directories().count()-1; i>=0; i--) {
if (!QDir(directories()[i]).entryList(QDir::Files).contains(fileName())) continue; if (!QDir(directories().at(i)).entryList(QDir::Files).contains(fileName())) continue;
QSettings settings(QString("%1/%2").arg(directories()[i]).arg(fileName()), QSettings::IniFormat); QSettings settings(QString("%1/%2").arg(directories().at(i)).arg(fileName()), QSettings::IniFormat);
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
setExecutable(settings.value(QString("Exec"), m_executable).toString()); setExecutable(settings.value(QString("Exec"), m_executable).toString());
@ -192,7 +192,7 @@ void ExtUpgrade::writeConfiguration() const
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
AbstractExtItem::writeConfiguration(); AbstractExtItem::writeConfiguration();
QSettings settings(QString("%1/%2").arg(directories()[0]).arg(fileName()), QSettings::IniFormat); QSettings settings(QString("%1/%2").arg(directories().first()).arg(fileName()), QSettings::IniFormat);
if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName(); if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));

View File

@ -253,8 +253,8 @@ void ExtWeather::readConfiguration()
AbstractExtItem::readConfiguration(); AbstractExtItem::readConfiguration();
for (int i=directories().count()-1; i>=0; i--) { for (int i=directories().count()-1; i>=0; i--) {
if (!QDir(directories()[i]).entryList(QDir::Files).contains(fileName())) continue; if (!QDir(directories().at(i)).entryList(QDir::Files).contains(fileName())) continue;
QSettings settings(QString("%1/%2").arg(directories()[i]).arg(fileName()), QSettings::IniFormat); QSettings settings(QString("%1/%2").arg(directories().at(i)).arg(fileName()), QSettings::IniFormat);
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
setCity(settings.value(QString("X-AW-City"), m_city).toString()); setCity(settings.value(QString("X-AW-City"), m_city).toString());
@ -327,7 +327,7 @@ void ExtWeather::writeConfiguration() const
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
AbstractExtItem::writeConfiguration(); AbstractExtItem::writeConfiguration();
QSettings settings(QString("%1/%2").arg(directories()[0]).arg(fileName()), QSettings::IniFormat); QSettings settings(QString("%1/%2").arg(directories().first()).arg(fileName()), QSettings::IniFormat);
if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName(); if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
@ -368,10 +368,9 @@ void ExtWeather::weatherReplyReceived(QNetworkReply *reply)
data = parseSingleJson(json); data = parseSingleJson(json);
else { else {
QVariantList list = json[QString("list")].toList(); QVariantList list = json[QString("list")].toList();
data = parseSingleJson(list.count() <= m_ts ? list[m_ts-1].toMap() : list.last().toMap()); data = parseSingleJson(list.count() <= m_ts ? list.at(m_ts-1).toMap() : list.last().toMap());
} }
for (int i=0; i<data.keys().count(); i++) foreach(QString key, data.keys()) values[tag(key)] = data[key];
values[tag(data.keys()[i])] = data[data.keys()[i]];
} }
@ -383,15 +382,15 @@ QVariantHash ExtWeather::parseSingleJson(const QVariantMap json) const
// weather status // weather status
QVariantList weather = json[QString("weather")].toList(); QVariantList weather = json[QString("weather")].toList();
if (weather.count() > 0) { if (!weather.isEmpty()) {
int _id = weather[0].toMap()[QString("id")].toInt(); int _id = weather.first().toMap()[QString("id")].toInt();
output[QString("weatherId")] = _id; output[QString("weatherId")] = _id;
output[QString("weather")] = weatherFromInt(_id); output[QString("weather")] = weatherFromInt(_id);
} }
// main data // main data
QVariantMap mainWeather = json[QString("main")].toMap(); QVariantMap mainWeather = json[QString("main")].toMap();
if (weather.count() > 0) { if (!weather.isEmpty()) {
output[QString("humidity")] = mainWeather[QString("humidity")].toFloat(); output[QString("humidity")] = mainWeather[QString("humidity")].toFloat();
output[QString("pressure")] = mainWeather[QString("pressure")].toFloat(); output[QString("pressure")] = mainWeather[QString("pressure")].toFloat();
output[QString("temperature")] = mainWeather[QString("temp")].toFloat(); output[QString("temperature")] = mainWeather[QString("temp")].toFloat();

View File

@ -369,8 +369,8 @@ void GraphicalItem::readConfiguration()
AbstractExtItem::readConfiguration(); AbstractExtItem::readConfiguration();
for (int i=directories().count()-1; i>=0; i--) { for (int i=directories().count()-1; i>=0; i--) {
if (!QDir(directories()[i]).entryList(QDir::Files).contains(fileName())) continue; if (!QDir(directories().at(i)).entryList(QDir::Files).contains(fileName())) continue;
QSettings settings(QString("%1/%2").arg(directories()[i]).arg(fileName()), QSettings::IniFormat); QSettings settings(QString("%1/%2").arg(directories().at(i)).arg(fileName()), QSettings::IniFormat);
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
setBar(settings.value(QString("X-AW-Value"), m_bar).toString()); setBar(settings.value(QString("X-AW-Value"), m_bar).toString());
@ -443,7 +443,7 @@ void GraphicalItem::writeConfiguration() const
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
AbstractExtItem::writeConfiguration(); AbstractExtItem::writeConfiguration();
QSettings settings(QString("%1/%2").arg(directories()[0]).arg(fileName()), QSettings::IniFormat); QSettings settings(QString("%1/%2").arg(directories().first()).arg(fileName()), QSettings::IniFormat);
if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName(); if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
@ -487,10 +487,10 @@ QColor GraphicalItem::stringToColor(const QString _color) const
QStringList listColor = _color.split(QChar(',')); QStringList listColor = _color.split(QChar(','));
while (listColor.count() < 4) while (listColor.count() < 4)
listColor.append(QString("0")); listColor.append(QString("0"));
qcolor.setRed(listColor[0].toInt()); qcolor.setRed(listColor.at(0).toInt());
qcolor.setGreen(listColor[1].toInt()); qcolor.setGreen(listColor.at(1).toInt());
qcolor.setBlue(listColor[2].toInt()); qcolor.setBlue(listColor.at(2).toInt());
qcolor.setAlpha(listColor[3].toInt()); qcolor.setAlpha(listColor.at(3).toInt());
return qcolor; return qcolor;
} }

View File

@ -116,12 +116,12 @@ QString ExtendedSysMon::getAutoMpris() const
QDBusMessage listServices = QDBusConnection::sessionBus().interface()->call(QDBus::BlockWithGui, QString("ListNames")); QDBusMessage listServices = QDBusConnection::sessionBus().interface()->call(QDBus::BlockWithGui, QString("ListNames"));
if (listServices.arguments().isEmpty()) return QString(); if (listServices.arguments().isEmpty()) return QString();
QStringList arguments = listServices.arguments().at(0).toStringList(); QStringList arguments = listServices.arguments().first().toStringList();
for (int i=0; i<arguments.count(); i++) { foreach(QString arg, arguments) {
if (debug) qDebug() << PDEBUG << ":" << "Service found" << arguments.at(i); if (debug) qDebug() << PDEBUG << ":" << "Service found" << arg;
if (!arguments.at(i).startsWith(QString("org.mpris.MediaPlayer2."))) continue; if (!arg.startsWith(QString("org.mpris.MediaPlayer2."))) continue;
QString service = arguments.at(i); QString service = arg;
service.remove(QString("org.mpris.MediaPlayer2.")); service.remove(QString("org.mpris.MediaPlayer2."));
return service; return service;
} }
@ -201,10 +201,9 @@ QHash<QString, QString> ExtendedSysMon::updateConfiguration(QHash<QString, QStri
QStringList deviceList = rawConfig[QString("HDDDEV")].split(QChar(','), QString::SkipEmptyParts); QStringList deviceList = rawConfig[QString("HDDDEV")].split(QChar(','), QString::SkipEmptyParts);
QStringList devices; QStringList devices;
QRegExp diskRegexp = QRegExp("^/dev/[hms]d[a-z]$"); QRegExp diskRegexp = QRegExp("^/dev/[hms]d[a-z]$");
for (int i=0; i<deviceList.count(); i++) foreach(QString device, deviceList)
if ((QFile::exists(deviceList.at(i))) && if ((QFile::exists(device)) && (diskRegexp.indexIn(device) > -1))
(diskRegexp.indexIn(deviceList.at(i)) > -1)) devices.append(device);
devices.append(deviceList.at(i));
if (devices.isEmpty()) if (devices.isEmpty())
rawConfig[QString("HDDDEV")] = allHddDevices.join(QChar(',')); rawConfig[QString("HDDDEV")] = allHddDevices.join(QChar(','));
else else
@ -216,9 +215,8 @@ QHash<QString, QString> ExtendedSysMon::updateConfiguration(QHash<QString, QStri
(rawConfig[QString("PLAYER")] != QString("disable"))) (rawConfig[QString("PLAYER")] != QString("disable")))
rawConfig[QString("PLAYER")] = QString("mpris"); rawConfig[QString("PLAYER")] = QString("mpris");
for (int i=0; i<rawConfig.keys().count(); i++) foreach(QString key, rawConfig.keys())
if (debug) qDebug() << PDEBUG << ":" << if (debug) qDebug() << PDEBUG << ":" << key << "=" << rawConfig[key];
rawConfig.keys().at(i) + QString("=") + rawConfig[rawConfig.keys().at(i)];
return rawConfig; return rawConfig;
} }
@ -304,23 +302,20 @@ float ExtendedSysMon::getGpu(const QString device) const
QString qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output).trimmed(); QString qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output).trimmed();
if (configuration[QString("GPUDEV")] == QString("nvidia")) if (configuration[QString("GPUDEV")] == QString("nvidia"))
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) { foreach(QString str, qoutput.split(QChar('\n'), QString::SkipEmptyParts)) {
if (qoutput.split(QChar('\n'), QString::SkipEmptyParts).at(i).contains(QString("<gpu_util>"))) { if (!str.contains(QString("<gpu_util>"))) continue;
QString load = qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i] QString load = str.remove(QString("<gpu_util>")).remove(QString("</gpu_util>"))
.remove(QString("<gpu_util>")) .remove(QChar('%'));
.remove(QString("</gpu_util>")) value = load.toFloat();
.remove(QChar('%')); break;
value = load.toFloat();
}
} }
else if (configuration[QString("GPUDEV")] == QString("ati")) else if (configuration[QString("GPUDEV")] == QString("ati"))
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) { foreach(QString str, qoutput.split(QChar('\n'), QString::SkipEmptyParts)) {
if (qoutput.split(QChar('\n'), QString::SkipEmptyParts).at(i).contains(QString("load"))) { if (!str.contains(QString("load"))) continue;
QString load = qoutput.split(QChar('\n'), QString::SkipEmptyParts).at(i) QString load = str.split(QChar(' '), QString::SkipEmptyParts)[3]
.split(QChar(' '), QString::SkipEmptyParts)[3] .remove(QChar('%'));
.remove(QChar('%')); value = load.toFloat();
value = load.toFloat(); break;
}
} }
return value; return value;
@ -347,21 +342,18 @@ float ExtendedSysMon::getGpuTemp(const QString device) const
QString qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output); QString qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output);
if (configuration[QString("GPUDEV")] == QString("nvidia")) if (configuration[QString("GPUDEV")] == QString("nvidia"))
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) { foreach(QString str, qoutput.split(QChar('\n'), QString::SkipEmptyParts)) {
if (qoutput.split(QChar('\n'), QString::SkipEmptyParts).at(i).contains(QString("<gpu_temp>"))) { if (!str.contains(QString("<gpu_temp>"))) continue;
QString temp = qoutput.split(QChar('\n'), QString::SkipEmptyParts)[i] QString temp = str.remove(QString("<gpu_temp>")).remove(QString("C</gpu_temp>"));
.remove(QString("<gpu_temp>")) value = temp.toFloat();
.remove(QString("C</gpu_temp>")); break;
value = temp.toFloat();
}
} }
else if (configuration[QString("GPUDEV")] == QString("ati")) else if (configuration[QString("GPUDEV")] == QString("ati"))
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) { foreach(QString str, qoutput.split(QChar('\n'), QString::SkipEmptyParts)) {
if (qoutput.split(QChar('\n'), QString::SkipEmptyParts).at(i).contains(QString("Temperature"))) { if (!str.contains(QString("Temperature"))) continue;
QString temp = qoutput.split(QChar('\n'), QString::SkipEmptyParts).at(i) QString temp = str.split(QChar(' '), QString::SkipEmptyParts).at(4);
.split(QChar(' '), QString::SkipEmptyParts).at(4); value = temp.toFloat();
value = temp.toFloat(); break;
}
} }
return value; return value;
@ -384,10 +376,10 @@ float ExtendedSysMon::getHddTemp(const QString cmd, const QString device) const
QString qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output).trimmed(); QString qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output).trimmed();
if (smartctl) { if (smartctl) {
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) { foreach(QString str, qoutput.split(QChar('\n'), QString::SkipEmptyParts)) {
if (!qoutput.split(QChar('\n'), QString::SkipEmptyParts).at(i).startsWith(QString("194"))) continue; if (!str.startsWith(QString("194"))) continue;
if (qoutput.split(QChar('\n'), QString::SkipEmptyParts).at(i).split(QChar(' '), QString::SkipEmptyParts).count() < 9) break; if (str.split(QChar(' '), QString::SkipEmptyParts).count() < 9) break;
value = qoutput.split(QChar('\n'), QString::SkipEmptyParts).at(i).split(QChar(' '), QString::SkipEmptyParts).at(9).toFloat(); value = str.split(QChar(' '), QString::SkipEmptyParts).at(9).toFloat();
break; break;
} }
} else { } else {
@ -408,11 +400,11 @@ QString ExtendedSysMon::getNetworkDevice() const
QString device = QString("lo"); QString device = QString("lo");
QList<QNetworkInterface> rawInterfaceList = QNetworkInterface::allInterfaces(); QList<QNetworkInterface> rawInterfaceList = QNetworkInterface::allInterfaces();
for (int i=0; i<rawInterfaceList.count(); i++) foreach(QNetworkInterface interface, rawInterfaceList)
if ((rawInterfaceList.at(i).flags().testFlag(QNetworkInterface::IsUp)) && if ((interface.flags().testFlag(QNetworkInterface::IsUp)) &&
(!rawInterfaceList.at(i).flags().testFlag(QNetworkInterface::IsLoopBack)) && (!interface.flags().testFlag(QNetworkInterface::IsLoopBack)) &&
(!rawInterfaceList.at(i).flags().testFlag(QNetworkInterface::IsPointToPoint))) { (!interface.flags().testFlag(QNetworkInterface::IsPointToPoint))) {
device = rawInterfaceList.at(i).name(); device = interface.name();
break; break;
} }
@ -470,19 +462,17 @@ QVariantHash ExtendedSysMon::getPlayerMpdInfo(const QString mpdAddress, const QS
if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error; if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
QString qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output).trimmed(); QString qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output).trimmed();
QString qstr = QString(""); foreach(QString str, qoutput.split(QChar('\n'), QString::SkipEmptyParts)) {
for (int i=0; i<qoutput.split(QChar('\n'), QString::SkipEmptyParts).count(); i++) { if (str.split(QString(": "), QString::SkipEmptyParts).count() > 1) {
qstr = qoutput.split(QChar('\n'), QString::SkipEmptyParts).at(i); if (str.split(QString(": "), QString::SkipEmptyParts).first() == QString("Album"))
if (qstr.split(QString(": "), QString::SkipEmptyParts).count() > 1) { info[QString("album")] = str.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
if (qstr.split(QString(": "), QString::SkipEmptyParts).at(0) == QString("Album")) else if (str.split(QString(": "), QString::SkipEmptyParts).first() == QString("Artist"))
info[QString("album")] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed(); info[QString("artist")] = str.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
else if (qstr.split(QString(": "), QString::SkipEmptyParts).at(0) == QString("Artist")) else if (str.split(QString(": "), QString::SkipEmptyParts).first() == QString("time")) {
info[QString("artist")] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed(); info[QString("duration")] = str.split(QString(": "), QString::SkipEmptyParts)[1].trimmed().split(QString(":"))[0];
else if (qstr.split(QString(": "), QString::SkipEmptyParts).at(0) == QString("time")) { info[QString("progress")] = str.split(QString(": "), QString::SkipEmptyParts)[1].trimmed().split(QString(":"))[1];
info[QString("duration")] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed().split(QString(":"))[0]; } else if (str.split(QString(": "), QString::SkipEmptyParts).first() == QString("Title"))
info[QString("progress")] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed().split(QString(":"))[1]; info[QString("title")] = str.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
} else if (qstr.split(QString(": "), QString::SkipEmptyParts).at(0) == QString("Title"))
info[QString("title")] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
} }
} }
@ -518,7 +508,7 @@ QVariantHash ExtendedSysMon::getPlayerMprisInfo(const QString mpris) const
if (debug) qDebug() << PDEBUG << ":" << "Error message" << response.errorMessage(); if (debug) qDebug() << PDEBUG << ":" << "Error message" << response.errorMessage();
} else { } else {
// another portion of dirty magic // another portion of dirty magic
QVariantHash map = qdbus_cast<QVariantHash>(response.arguments().at(0) QVariantHash map = qdbus_cast<QVariantHash>(response.arguments().first()
.value<QDBusVariant>().variant() .value<QDBusVariant>().variant()
.value<QDBusArgument>()); .value<QDBusArgument>());
info[QString("album")] = map.value(QString("xesam:album"), QString("unknown")); info[QString("album")] = map.value(QString("xesam:album"), QString("unknown"));
@ -536,7 +526,7 @@ QVariantHash ExtendedSysMon::getPlayerMprisInfo(const QString mpris) const
if (debug) qDebug() << PDEBUG << ":" << "Error message" << response.errorMessage(); if (debug) qDebug() << PDEBUG << ":" << "Error message" << response.errorMessage();
} else } else
// this cast is simpler than the previous one ;) // this cast is simpler than the previous one ;)
info[QString("progress")] = response.arguments().at(0).value<QDBusVariant>() info[QString("progress")] = response.arguments().first().value<QDBusVariant>()
.variant().toLongLong() / (1000 * 1000); .variant().toLongLong() / (1000 * 1000);
return info; return info;
@ -552,10 +542,10 @@ QVariantHash ExtendedSysMon::getPsStats() const
QStringList directories = allDirectories.filter(QRegExp(QString("(\\d+)"))); QStringList directories = allDirectories.filter(QRegExp(QString("(\\d+)")));
QStringList running; QStringList running;
for (int i=0; i<directories.count(); i++) { foreach(QString dir, directories) {
QFile statusFile(QString("/proc/%1/status").arg(directories.at(i))); QFile statusFile(QString("/proc/%1/status").arg(dir));
if (!statusFile.open(QIODevice::ReadOnly)) continue; if (!statusFile.open(QIODevice::ReadOnly)) continue;
QFile cmdFile(QString("/proc/%1/cmdline").arg(directories.at(i))); QFile cmdFile(QString("/proc/%1/cmdline").arg(dir));
if (!cmdFile.open(QIODevice::ReadOnly)) continue; if (!cmdFile.open(QIODevice::ReadOnly)) continue;
QString output = statusFile.readAll(); QString output = statusFile.readAll();
@ -587,18 +577,15 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source)
if (source == QString("battery")) { if (source == QString("battery")) {
QVariantHash battery = getBattery(configuration[QString("ACPIPATH")]); QVariantHash battery = getBattery(configuration[QString("ACPIPATH")]);
for (int i=0; i<battery.keys().count(); i++) foreach(QString key, battery.keys()) setData(source, key, battery[key]);
setData(source, battery.keys().at(i), battery[battery.keys().at(i)]);
} else if (source == QString("custom")) { } else if (source == QString("custom")) {
for (int i=0; i<externalScripts->items().count(); i++) { foreach(ExtScript *script, externalScripts->items()) {
QVariantHash data = externalScripts->items().at(i)->run(); QVariantHash data = script->run();
for (int j=0; j<data.keys().count(); j++) foreach(QString key, data.keys()) setData(source, key, data[key]);
setData(source, data.keys().at(j), data[data.keys().at(j)]);
} }
} else if (source == QString("desktop")) { } else if (source == QString("desktop")) {
QVariantHash desktop = getCurrentDesktop(); QVariantHash desktop = getCurrentDesktop();
for (int i=0; i<desktop.keys().count(); i++) foreach(QString key, desktop.keys()) setData(source, key, desktop[key]);
setData(source, desktop.keys().at(i), desktop[desktop.keys().at(i)]);
} else if (source == QString("gpu")) { } else if (source == QString("gpu")) {
setData(source, QString("value"), getGpu(configuration[QString("GPUDEV")])); setData(source, QString("value"), getGpu(configuration[QString("GPUDEV")]));
} else if (source == QString("gputemp")) { } else if (source == QString("gputemp")) {
@ -606,42 +593,36 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source)
} else if (source == QString("hddtemp")) { } else if (source == QString("hddtemp")) {
QStringList deviceList = configuration[QString("HDDDEV")].split(QChar(','), QString::SkipEmptyParts); QStringList deviceList = configuration[QString("HDDDEV")].split(QChar(','), QString::SkipEmptyParts);
QStringList allHddDevices = getAllHdd(); QStringList allHddDevices = getAllHdd();
for (int i=0; i<allHddDevices.count(); i++) foreach(QString device, allHddDevices)
setData(source, allHddDevices.at(i), deviceList.contains(allHddDevices.at(i)) ? setData(source, device, deviceList.contains(device) ?
getHddTemp(configuration[QString("HDDTEMPCMD")], allHddDevices.at(i)) : getHddTemp(configuration[QString("HDDTEMPCMD")], device) : 0.0);
0.0);
} else if (source == QString("netdev")) { } else if (source == QString("netdev")) {
setData(source, QString("value"), getNetworkDevice()); setData(source, QString("value"), getNetworkDevice());
} else if (source == QString("pkg")) { } else if (source == QString("pkg")) {
for (int i=0; i<externalUpgrade->items().count(); i++) { foreach(ExtUpgrade *upgrade, externalUpgrade->items()) {
QVariantHash data = externalUpgrade->items().at(i)->run(); QVariantHash data = upgrade->run();
for (int j=0; j<data.keys().count(); j++) foreach(QString key, data.keys()) setData(source, key, data[key]);
setData(source, data.keys().at(j), data[data.keys().at(j)]);
} }
} else if (source == QString("player")) { } else if (source == QString("player")) {
QVariantHash player = getPlayerInfo(configuration[QString("PLAYER")], QVariantHash player = getPlayerInfo(configuration[QString("PLAYER")],
configuration[QString("MPDADDRESS")], configuration[QString("MPDADDRESS")],
configuration[QString("MPDPORT")], configuration[QString("MPDPORT")],
configuration[QString("MPRIS")]); configuration[QString("MPRIS")]);
for (int i=0; i<player.keys().count(); i++) foreach(QString key, player.keys()) setData(source, key, player[key]);
setData(source, player.keys().at(i), player[player.keys().at(i)]);
} else if (source == QString("ps")) { } else if (source == QString("ps")) {
QVariantHash ps = getPsStats(); QVariantHash ps = getPsStats();
for (int i=0; i<ps.keys().count(); i++) foreach(QString key, ps.keys()) setData(source, key, ps[key]);
setData(source, ps.keys().at(i), ps[ps.keys().at(i)]);
} else if (source == QString("quotes")) { } else if (source == QString("quotes")) {
for (int i=0; i<externalQuotes->items().count(); i++) { foreach(ExtQuotes *quote, externalQuotes->items()) {
QVariantHash data = externalQuotes->items().at(i)->run(); QVariantHash data = quote->run();
for (int j=0; j<data.keys().count(); j++) foreach(QString key, data.keys()) setData(source, key, data[key]);
setData(source, data.keys().at(j), data[data.keys().at(j)]);
} }
} else if (source == QString("update")) { } else if (source == QString("update")) {
setData(source, QString("value"), true); setData(source, QString("value"), true);
} else if (source == QString("weather")) { } else if (source == QString("weather")) {
for (int i=0; i<externalWeather->items().count(); i++) { foreach(ExtWeather *weather, externalWeather->items()) {
QVariantHash data = externalWeather->items().at(i)->run(); QVariantHash data = weather->run();
for (int j=0; j<data.keys().count(); j++) foreach(QString key, data.keys()) setData(source, key, data[key]);
setData(source, data.keys().at(j), data[data.keys().at(j)]);
} }
} }