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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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