Skip to content

Commit

Permalink
implement support of network speed units tags
Browse files Browse the repository at this point in the history
fix warning for empty tooltip image
  • Loading branch information
arcan1s committed Aug 17, 2015
1 parent fbdc911 commit a5e9b32
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 15 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
+ add tags upunits, downunits
- fix warning for empty tooltip image

Ver.2.4.0:
+ add support of weather items
+ add support of load average (la1, la5, la15 tags)
Expand Down
42 changes: 28 additions & 14 deletions sources/awesome-widget/plugin/awkeys.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -242,9 +242,13 @@ QStringList AWKeys::dictKeys(const bool sorted) const
allKeys.append(QString("hddtemp%1").arg(i));
// network
for (int i=networkDevices.count()-1; i>=0; i--) {
allKeys.append(QString("downunits%1").arg(i));
allKeys.append(QString("upunits%1").arg(i));
allKeys.append(QString("down%1").arg(i));
allKeys.append(QString("up%1").arg(i));
}
allKeys.append(QString("downunits"));
allKeys.append(QString("upunits"));
allKeys.append(QString("down"));
allKeys.append(QString("up"));
allKeys.append(QString("netdev"));
Expand Down Expand Up @@ -530,40 +534,50 @@ void AWKeys::setDataBySource(const QString sourceName, const QVariantMap data,
QString device = sourceName;
float value = data[QString("value")].toFloat();
device.remove(QString("network/interfaces/")).remove(QString("/receiver/data"));
QStringList allNetworkDevices = networkDevices;
for (int i=0; i<allNetworkDevices.count(); i++) {
if (allNetworkDevices.at(i) != device) continue;
if (value > 1000.0)
for (int i=0; i<networkDevices.count(); i++) {
if (networkDevices.at(i) != device) continue;
if (value > 1000.0) {
values[QString("down%1").arg(i)] = QString("%1").arg(value / 1024.0, 4, 'f', 1);
else
values[QString("downunits%1").arg(i)] = i18n("MB/s");
} else {
values[QString("down%1").arg(i)] = QString("%1").arg(value, 4, 'f', 0);
values[QString("downunits%1").arg(i)] = i18n("KB/s");
}
break;
}
if (device == values[QString("netdev")]) {
if (value > 1000.0)
if (value > 1000.0) {
values[QString("down")] = QString("%1").arg(value / 1024.0, 4, 'f', 1);
else
values[QString("downunits")] = i18n("MB/s");
} else {
values[QString("down")] = QString("%1").arg(value, 4, 'f', 0);
values[QString("downunits")] = i18n("KB/s");
}
}
} else if (sourceName.contains(netTransRegExp)) {
// upload speed
QString device = sourceName;
float value = data[QString("value")].toFloat();
device.remove(QString("network/interfaces/")).remove(QString("/transmitter/data"));
QStringList allNetworkDevices = networkDevices;
for (int i=0; i<allNetworkDevices.count(); i++) {
if (allNetworkDevices.at(i) != device) continue;
if (value > 1000.0)
for (int i=0; i<networkDevices.count(); i++) {
if (networkDevices.at(i) != device) continue;
if (value > 1000.0) {
values[QString("up%1").arg(i)] = QString("%1").arg(data[QString("value")].toFloat() / 1024.0, 4, 'f', 1);
else
values[QString("upunits%1").arg(i)] = i18n("MB/s");
} else {
values[QString("up%1").arg(i)] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0);
values[QString("upunits%1").arg(i)] = i18n("KB/s");
}
break;
}
if (device == values[QString("netdev")]) {
if (value > 1000.0)
if (value > 1000.0) {
values[QString("up")] = QString("%1").arg(value / 1024.0, 4, 'f', 1);
else
values[QString("upunits")] = i18n("MB/s");
} else {
values[QString("up")] = QString("%1").arg(value, 4, 'f', 0);
values[QString("upunits")] = i18n("KB/s");
}
}
} else if (sourceName == QString("pkg")) {
// package manager
Expand Down
3 changes: 2 additions & 1 deletion sources/awesome-widget/plugin/awtooltip.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,8 @@ QString AWToolTip::htmlImage()
QBuffer buffer(&byteArray);
rawImage.save(&buffer, "PNG");

return QString("<img src=\"data:image/png;base64,%1\"/>").arg(QString(byteArray.toBase64()));
return byteArray.isEmpty() ? QString() :
QString("<img src=\"data:image/png;base64,%1\"/>").arg(QString(byteArray.toBase64()));
}


Expand Down

0 comments on commit a5e9b32

Please sign in to comment.