add ability to wrap lines

rename AWToolTip to AWDataAggregator object
drop hasOutput property from ExtScript
fix some bugs in AWKeysAggregator
This commit is contained in:
arcan1s 2015-09-12 02:32:31 +03:00
parent 0298a8c088
commit 0ba74b3130
18 changed files with 529 additions and 435 deletions

View File

@ -15,15 +15,18 @@
* along with awesome-widgets. If not, see http://www.gnu.org/licenses/ * * along with awesome-widgets. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/ ***************************************************************************/
#include "awtooltip.h" #include "awdataaggregator.h"
#include <KI18n/KLocalizedString>
#include <QBuffer> #include <QBuffer>
#include <math.h> #include <math.h>
#include "awactions.h"
#include "awdebug.h" #include "awdebug.h"
AWToolTip::AWToolTip(QObject *parent, QVariantMap settings) AWDataAggregator::AWDataAggregator(QObject *parent, QVariantMap settings)
: QObject(parent), : QObject(parent),
configuration(qvariant_cast<QVariantHash>(settings)) configuration(qvariant_cast<QVariantHash>(settings))
{ {
@ -37,6 +40,8 @@ AWToolTip::AWToolTip(QObject *parent, QVariantMap settings)
toolTipView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); toolTipView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
toolTipView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); toolTipView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
enablePopup = configuration[QString("notify")].toBool();
counts += configuration[QString("cpuTooltip")].toInt(); counts += configuration[QString("cpuTooltip")].toInt();
counts += configuration[QString("cpuclTooltip")].toInt(); counts += configuration[QString("cpuclTooltip")].toInt();
counts += configuration[QString("memTooltip")].toInt(); counts += configuration[QString("memTooltip")].toInt();
@ -67,7 +72,7 @@ AWToolTip::AWToolTip(QObject *parent, QVariantMap settings)
} }
AWToolTip::~AWToolTip() AWDataAggregator::~AWDataAggregator()
{ {
qCDebug(LOG_AW); qCDebug(LOG_AW);
@ -75,26 +80,36 @@ AWToolTip::~AWToolTip()
} }
void AWToolTip::dataUpdate(QHash<QString, QString> values) void AWDataAggregator::dataUpdate(QHash<QString, QString> values)
{ {
qCDebug(LOG_AW); qCDebug(LOG_AW);
// battery update requires info is AC online or not // battery update requires info is AC online or not
setData(QString("batTooltip"), values[QString("bat")].toFloat(), setData(values[QString("ac")] == configuration[QString("acOnline")],
values[QString("ac")] == configuration[QString("acOnline")]); QString("batTooltip"), values[QString("bat")].toFloat());
// usual case // usual case
setData(QString("cpuTooltip"), values[QString("cpu")].toFloat()); setData(QString("cpuTooltip"), values[QString("cpu")].toFloat(), 90.0);
setData(QString("cpuclTooltip"), values[QString("cpucl")].toFloat()); setData(QString("cpuclTooltip"), values[QString("cpucl")].toFloat());
setData(QString("memTooltip"), values[QString("mem")].toFloat()); setData(QString("memTooltip"), values[QString("mem")].toFloat(), 90.0);
setData(QString("swapTooltip"), values[QString("swap")].toFloat()); setData(QString("swapTooltip"), values[QString("swap")].toFloat(), 0.0);
setData(QString("downTooltip"), values[QString("downkb")].toFloat()); setData(QString("downTooltip"), values[QString("downkb")].toFloat());
setData(QString("upTooltip"), values[QString("upkb")].toFloat()); setData(QString("upTooltip"), values[QString("upkb")].toFloat());
// additional check for network device
[this](const QString value) {
checkValue(QString("netdev"), currentNetworkDevice, value);
currentNetworkDevice = value;
}(values[QString("netdev")]);
// additional check for GPU load
[this](const float value) {
checkValue(QString("gpu"), value, 90.0);
currentGPULoad = value;
}(values[QString("gpu")].toFloat());
emit(toolTipPainted(htmlImage())); emit(toolTipPainted(htmlImage(tooltipImage())));
} }
QSize AWToolTip::getSize() const QSize AWDataAggregator::getTooltipSize() const
{ {
qCDebug(LOG_AW); qCDebug(LOG_AW);
@ -102,21 +117,20 @@ QSize AWToolTip::getSize() const
} }
QString AWToolTip::htmlImage() QString AWDataAggregator::htmlImage(const QPixmap source)
{ {
qCDebug(LOG_AW); qCDebug(LOG_AW);
QPixmap rawImage = image();
QByteArray byteArray; QByteArray byteArray;
QBuffer buffer(&byteArray); QBuffer buffer(&byteArray);
rawImage.save(&buffer, "PNG"); source.save(&buffer, "PNG");
return byteArray.isEmpty() ? QString() : return byteArray.isEmpty() ? QString() :
QString("<img src=\"data:image/png;base64,%1\"/>").arg(QString(byteArray.toBase64())); QString("<img src=\"data:image/png;base64,%1\"/>").arg(QString(byteArray.toBase64()));
} }
QPixmap AWToolTip::image() QPixmap AWDataAggregator::tooltipImage()
{ {
qCDebug(LOG_AW); qCDebug(LOG_AW);
@ -129,53 +143,133 @@ QPixmap AWToolTip::image()
QBrush(QColor(configuration[QString("tooltipBackground")].toString())) : QBrush(QColor(configuration[QString("tooltipBackground")].toString())) :
QBrush(Qt::NoBrush)); QBrush(Qt::NoBrush));
bool down = false; bool down = false;
for (int i=0; i<requiredKeys.count(); i++) { foreach(QString key, requiredKeys) {
float normX = 100.0 / static_cast<float>(data[requiredKeys.at(i)].count()); // create frame
float normY = 100.0 / (1.5 * boundaries[requiredKeys.at(i)]); float normX = 100.0 / static_cast<float>(data[key].count());
if (requiredKeys.at(i) != QString("batTooltip")) float normY = 100.0 / (1.5 * boundaries[key]);
pen.setColor(QColor(configuration[QString("%1Color").arg(requiredKeys.at(i))].toString())); float shift = requiredKeys.indexOf(key) * 100.0;
float shift = i * 100.0;
if (down) shift -= 100.0; if (down) shift -= 100.0;
for (int j=0; j<data[requiredKeys.at(i)].count()-1; j++) { // apply pen color
if (key != QString("batTooltip"))
pen.setColor(QColor(configuration[QString("%1Color").arg(key)].toString()));
// paint data inside frame
for (int j=0; j<data[key].count()-1; j++) {
// some magic here // some magic here
float x1 = j * normX + shift; float x1 = j * normX + shift;
float y1 = - fabs(data[requiredKeys.at(i)].at(j)) * normY + 5.0; float y1 = - fabs(data[key].at(j)) * normY + 5.0;
float x2 = (j + 1) * normX + shift; float x2 = (j + 1) * normX + shift;
float y2 = - fabs(data[requiredKeys.at(i)].at(j+1)) * normY + 5.0; float y2 = - fabs(data[key].at(j+1)) * normY + 5.0;
if (requiredKeys.at(i) == QString("batTooltip")) { if (key == QString("batTooltip")) {
if (data[requiredKeys.at(i)].at(j+1) > 0) if (data[key].at(j+1) > 0)
pen.setColor(QColor(configuration[QString("batTooltipColor")].toString())); pen.setColor(QColor(configuration[QString("batTooltipColor")].toString()));
else else
pen.setColor(QColor(configuration[QString("batInTooltipColor")].toString())); pen.setColor(QColor(configuration[QString("batInTooltipColor")].toString()));
} }
toolTipScene->addLine(x1, y1, x2, y2, pen); toolTipScene->addLine(x1, y1, x2, y2, pen);
} }
if (requiredKeys.at(i) == QString("downTooltip")) down = true; if (key == QString("downTooltip")) down = true;
} }
return toolTipView->grab(); return toolTipView->grab();
} }
void AWToolTip::setData(const QString source, float value, const bool dontInvert) void AWDataAggregator::checkValue(const QString source, const float value, const float extremum) const
{
qCDebug(LOG_AW);
qCDebug(LOG_AW) << "Notification source" << source;
qCDebug(LOG_AW) << "Value" << value;
qCDebug(LOG_AW) << "Called with extremum" << extremum;
if ((enablePopup) && (value > extremum) && (data[source].last() < extremum))
return AWActions::sendNotification(QString("event"), notificationText(source, value));
}
void AWDataAggregator::checkValue(const QString source, const QString current, const QString received) const
{
qCDebug(LOG_AW);
qCDebug(LOG_AW) << "Notification source" << source;
qCDebug(LOG_AW) << "Current value" << current;
qCDebug(LOG_AW) << "Received value" << received;
if ((enablePopup) && (current != received))
return AWActions::sendNotification(QString("event"), notificationText(source, received));
}
QString AWDataAggregator::notificationText(const QString source, const float value) const
{
qCDebug(LOG_AW);
qCDebug(LOG_AW) << "Notification source" << source;
qCDebug(LOG_AW) << "Value" << value;
QString output;
if (source == QString("batTooltip")) {
if (value > 0.0)
output = i18n("AC online");
else
output = i18n("AC offline");
} else if (source == QString("cpuTooltip")) {
output = i18n("High CPU load");
} else if (source == QString("memTooltip")) {
output = i18n("High memory usage");
} else if (source == QString("swapTooltip")) {
output = i18n("Swap is used");
} else if (source == QString("gpu")) {
output = i18n("High GPU load");
}
return output;
}
QString AWDataAggregator::notificationText(const QString source, const QString value) const
{
qCDebug(LOG_AW);
qCDebug(LOG_AW) << "Notification source" << source;
qCDebug(LOG_AW) << "Value" << value;
QString output;
if (source == QString("netdev")) {
output = i18n("Network device has been changed to %1", value);
}
return output;
}
void AWDataAggregator::setData(const QString source, float value, const float extremum)
{ {
qCDebug(LOG_AW); qCDebug(LOG_AW);
qCDebug(LOG_AW) << "Source" << source; qCDebug(LOG_AW) << "Source" << source;
qCDebug(LOG_AW) << "Value" << value; qCDebug(LOG_AW) << "Value" << value;
qCDebug(LOG_AW) << "Do not invert value" << dontInvert; qCDebug(LOG_AW) << "Called with extremum" << extremum;
if (data[source].count() == 0) if (data[source].count() == 0)
data[source].append(0.0); data[source].append(0.0);
else if (data[source].count() > configuration[QString("tooltipNumber")].toInt()) else if (data[source].count() > configuration[QString("tooltipNumber")].toInt())
data[source].takeFirst(); data[source].removeFirst();
if (isnan(value)) value = 0.0; if (isnan(value)) value = 0.0;
// invert values for different battery colours // notifications
data[source].append(dontInvert ? value : -value); checkValue(source, value, extremum);
data[source].append(value);
if (source == QString("downTooltip")) { if (source == QString("downTooltip")) {
QList<float> netValues = data[QString("downTooltip")] + data[QString("upTooltip")]; QList<float> netValues = data[QString("downTooltip")] + data[QString("upTooltip")];
boundaries[QString("downTooltip")] = 1.2 * *std::max_element(netValues.cbegin(), netValues.cend()); boundaries[QString("downTooltip")] = 1.2 * *std::max_element(netValues.cbegin(), netValues.cend());
boundaries[QString("upTooltip")] = boundaries[QString("downTooltip")]; boundaries[QString("upTooltip")] = boundaries[QString("downTooltip")];
} }
} }
void AWDataAggregator::setData(const bool dontInvert, const QString source, float value)
{
qCDebug(LOG_AW);
qCDebug(LOG_AW) << "Do not invert value" << dontInvert;
// invert values for different battery colours
value = dontInvert ? value : -value;
return setData(source, value, 0.0);
}

View File

@ -27,16 +27,16 @@
#include <QVariant> #include <QVariant>
class AWToolTip : public QObject class AWDataAggregator : public QObject
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit AWToolTip(QObject *parent = nullptr, QVariantMap settings = QVariantMap()); explicit AWDataAggregator(QObject *parent = nullptr, QVariantMap settings = QVariantMap());
virtual ~AWToolTip(); virtual ~AWDataAggregator();
QSize getSize() const; QSize getTooltipSize() const;
QString htmlImage(); QString htmlImage(const QPixmap source);
QPixmap image(); QPixmap tooltipImage();
signals: signals:
void updateData(QHash<QString, QString> values); void updateData(QHash<QString, QString> values);
@ -49,13 +49,21 @@ private:
// ui // ui
QGraphicsScene *toolTipScene = nullptr; QGraphicsScene *toolTipScene = nullptr;
QGraphicsView *toolTipView = nullptr; QGraphicsView *toolTipView = nullptr;
void setData(const QString source, float value, void checkValue(const QString source, const float value, const float extremum) const;
const bool dontInvert = true); void checkValue(const QString source, const QString current, const QString received) const;
QString notificationText(const QString source, const float value) const;
QString notificationText(const QString source, const QString value) const;
void setData(const QString source, float value, const float extremum = -1.0);
// different signature for battery device
void setData(const bool dontInvert, const QString source, float value);
// variables // variables
int counts = 0; int counts = 0;
QVariantHash configuration; QVariantHash configuration;
float currentGPULoad = 0.0;
QString currentNetworkDevice;
QHash<QString, float> boundaries; QHash<QString, float> boundaries;
QHash<QString, QList<float>> data; QHash<QString, QList<float>> data;
bool enablePopup = false;
QStringList requiredKeys; QStringList requiredKeys;
QSize size; QSize size;
}; };

View File

@ -49,17 +49,20 @@ QString AWKeysAggregator::formater(const QVariant data, const QString key) const
QLocale loc = m_translate ? QLocale::system() : QLocale::c(); QLocale loc = m_translate ? QLocale::system() : QLocale::c();
// case block // case block
switch (m_formater[key]) { switch (m_formater[key]) {
case Float:
output = QString("%1").arg(data.toFloat(), 5, 'f', 1);
break;
case FloatTwoSymbols:
output = QString("%1").arg(data.toFloat(), 5, 'f', 2);
break;
case Integer: case Integer:
output = QString("%1").arg(data.toFloat(), 4, 'f', 0); output = QString("%1").arg(data.toFloat(), 4, 'f', 0);
break; break;
case IntegerThree: case IntegerThree:
output = QString("%1").arg(data.toFloat(), 3, 'f', 0); output = QString("%1").arg(data.toFloat(), 3, 'f', 0);
break; break;
case Float: case List:
output = QString("%1").arg(data.toFloat(), 5, 'f', 1); output = data.toStringList().join(QChar(','));
break;
case FloatTwoSymbols:
output = QString("%1").arg(data.toFloat(), 5, 'f', 2);
break; break;
case ACFormat: case ACFormat:
output = data.toBool() ? m_acOnline : m_acOffline; output = data.toBool() ? m_acOnline : m_acOffline;
@ -87,6 +90,9 @@ QString AWKeysAggregator::formater(const QVariant data, const QString key) const
case Temperature: case Temperature:
output = QString("%1").arg(temperature(data.toFloat()), 5, 'f', 1); output = QString("%1").arg(temperature(data.toFloat()), 5, 'f', 1);
break; break;
case Time:
output = data.toDateTime().toString();
break;
case TimeCustom: case TimeCustom:
output = m_customTime; output = m_customTime;
[&output, loc, this](const QDateTime dt) { [&output, loc, this](const QDateTime dt) {
@ -201,8 +207,8 @@ void AWKeysAggregator::setTranslate(const bool translate)
} }
// TODO calculate: down, up, downunits, upunits, mem, swap // HACK units required to define should the value be calculated as temperature or fan data
void AWKeysAggregator::registerSource(const QString source, const QString units) QStringList AWKeysAggregator::registerSource(const QString source, const QString units)
{ {
qCDebug(LOG_AW); qCDebug(LOG_AW);
qCDebug(LOG_AW) << "Source" << source; qCDebug(LOG_AW) << "Source" << source;
@ -245,7 +251,8 @@ void AWKeysAggregator::registerSource(const QString source, const QString units)
} else if (source.contains(cpuclRegExp)) { } else if (source.contains(cpuclRegExp)) {
// cpucls // cpucls
QString key = source; QString key = source;
key.remove(QString("cpu/")).remove(QString("/clock")); key.remove(QString("cpu/cpu")).remove(QString("/clock"));
key = QString("cpucl%1").arg(key);
m_map[source] = key; m_map[source] = key;
m_formater[key] = Integer; m_formater[key] = Integer;
} else if (source.startsWith(QString("custom"))) { } else if (source.startsWith(QString("custom"))) {
@ -270,16 +277,22 @@ void AWKeysAggregator::registerSource(const QString source, const QString units)
// read speed // read speed
QString device = source; QString device = source;
device.remove(QString("/Rate/rblk")); device.remove(QString("/Rate/rblk"));
QString key = QString("hddr%1").arg(m_devices[QString("disk")].indexOf(device)); int index = m_devices[QString("disk")].indexOf(device);
m_map[source] = key; if (index > -1) {
m_formater[key] = Integer; QString key = QString("hddr%1").arg(index);
m_map[source] = key;
m_formater[key] = Integer;
}
} else if (source.contains(hddwRegExp)) { } else if (source.contains(hddwRegExp)) {
// write speed // write speed
QString device = source; QString device = source;
device.remove(QString("/Rate/wblk")); device.remove(QString("/Rate/wblk"));
QString key = QString("hddw%1").arg(m_devices[QString("disk")].indexOf(device)); int index = m_devices[QString("disk")].indexOf(device);
m_map[source] = key; if (index > -1) {
m_formater[key] = Integer; QString key = QString("hddw%1").arg(index);
m_map[source] = key;
m_formater[key] = Integer;
}
} else if (source == QString("gpu/load")) { } else if (source == QString("gpu/load")) {
// gpu load // gpu load
m_map[source] = QString("gpu"); m_map[source] = QString("gpu");
@ -292,42 +305,52 @@ void AWKeysAggregator::registerSource(const QString source, const QString units)
// fill level // fill level
QString device = source; QString device = source;
device.remove(QString("partitions")).remove(QString("/filllevel")); device.remove(QString("partitions")).remove(QString("/filllevel"));
QString key = QString("hdd%1").arg(m_devices[QString("mount")].indexOf(device)); int index = m_devices[QString("mount")].indexOf(device);
m_map[source] = key; if (index > -1) {
m_formater[key] = Float; QString key = QString("hdd%1").arg(index);
m_map[source] = key;
m_formater[key] = Float;
}
} else if (source.contains(mountFreeRegExp)) { } else if (source.contains(mountFreeRegExp)) {
// free space // free space
QString device = source; QString device = source;
device.remove(QString("partitions")).remove(QString("/freespace")); device.remove(QString("partitions")).remove(QString("/freespace"));
int index = m_devices[QString("mount")].indexOf(device); int index = m_devices[QString("mount")].indexOf(device);
// mb if (index > -1) {
QString key = QString("hddfreemb%1").arg(index); // mb
m_map[source] = key; QString key = QString("hddfreemb%1").arg(index);
m_formater[key] = MemMBFormat; m_map[source] = key;
// gb m_formater[key] = MemMBFormat;
key = QString("hddfreegb%1").arg(index); // gb
m_map.insertMulti(source, key); key = QString("hddfreegb%1").arg(index);
m_formater[key] = MemGBFormat; m_map.insertMulti(source, key);
m_formater[key] = MemGBFormat;
}
} else if (source.contains(mountUsedRegExp)) { } else if (source.contains(mountUsedRegExp)) {
// used // used
QString device = source; QString device = source;
device.remove(QString("partitions")).remove(QString("/usedspace")); device.remove(QString("partitions")).remove(QString("/usedspace"));
int index = m_devices[QString("mount")].indexOf(device); int index = m_devices[QString("mount")].indexOf(device);
// mb if (index > -1) {
QString key = QString("hddmb%1").arg(index); // mb
m_map[source] = key; QString key = QString("hddmb%1").arg(index);
m_formater[key] = MemMBFormat; m_map[source] = key;
// gb m_formater[key] = MemMBFormat;
key = QString("hddgb%1").arg(index); // gb
m_map.insertMulti(source, key); key = QString("hddgb%1").arg(index);
m_formater[key] = MemGBFormat; m_map.insertMulti(source, key);
m_formater[key] = MemGBFormat;
}
} else if (source.startsWith(QString("hdd/temperature"))) { } else if (source.startsWith(QString("hdd/temperature"))) {
// hdd temperature // hdd temperature
QString device = source; QString device = source;
device.remove(QString("hdd/temperature")); device.remove(QString("hdd/temperature"));
QString key = QString("hddtemp%1").arg(m_devices[QString("hdd")].indexOf(device)); int index = m_devices[QString("hdd")].indexOf(device);
m_map[source] = key; if (index > -1) {
m_formater[key] = Temperature; QString key = QString("hddtemp%1").arg(index);
m_map[source] = key;
m_formater[key] = Temperature;
}
} else if (source.startsWith(QString("cpu/system/loadavg"))) { } else if (source.startsWith(QString("cpu/system/loadavg"))) {
// load average // load average
QString time = source; QString time = source;
@ -366,20 +389,21 @@ void AWKeysAggregator::registerSource(const QString source, const QString units)
} else if (source.contains(netRegExp)) { } else if (source.contains(netRegExp)) {
// network speed // network speed
QString type = source.contains(QString("receiver")) ? QString("down") : QString("up"); QString type = source.contains(QString("receiver")) ? QString("down") : QString("up");
// device name
int index = m_devices[QString("net")].indexOf(source.split(QChar('/'))[2]); int index = m_devices[QString("net")].indexOf(source.split(QChar('/'))[2]);
// kb if (index > -1) {
QString key = QString("%1kb%2").arg(type).arg(index); // kb
m_map[source] = key; QString key = QString("%1kb%2").arg(type).arg(index);
m_formater[key] = Integer; m_map[source] = key;
// smart m_formater[key] = Integer;
key = QString("%1%2").arg(type).arg(index); // smart
m_map.insertMulti(source, key); key = QString("%1%2").arg(type).arg(index);
m_formater[key] = NetSmartFormat; m_map.insertMulti(source, key);
// units m_formater[key] = NetSmartFormat;
key = QString("%1units%2").arg(type).arg(index); // units
m_map.insertMulti(source, key); key = QString("%1units%2").arg(type).arg(index);
m_formater[key] = NetSmartUnits; m_map.insertMulti(source, key);
m_formater[key] = NetSmartUnits;
}
} else if (source.startsWith(QString("upgrade"))) { } else if (source.startsWith(QString("upgrade"))) {
// package manager // package manager
QString key = source; QString key = source;
@ -399,7 +423,7 @@ void AWKeysAggregator::registerSource(const QString source, const QString units)
} else if (source == QString("ps/running/list")) { } else if (source == QString("ps/running/list")) {
// list of running processes // list of running processes
m_map[source] = QString("ps"); m_map[source] = QString("ps");
m_formater[QString("ps")] = NoFormat; m_formater[QString("ps")] = List;
} else if (source == QString("ps/total/count")) { } else if (source == QString("ps/total/count")) {
// total processes count // total processes count
m_map[source] = QString("pstotal"); m_map[source] = QString("pstotal");
@ -427,14 +451,19 @@ void AWKeysAggregator::registerSource(const QString source, const QString units)
m_map.insertMulti(source, QString("swapgb")); m_map.insertMulti(source, QString("swapgb"));
m_formater[QString("swapgb")] = MemGBFormat; m_formater[QString("swapgb")] = MemGBFormat;
} else if (source.startsWith(QString("lmsensors/"))) { } else if (source.startsWith(QString("lmsensors/"))) {
// temperature m_devices // temperature
QString key = QString("temp%1").arg(m_devices[QString("temp")].indexOf(source)); int index = m_devices[QString("temp")].indexOf(source);
m_map[source] = key; // FIXME on DE initialization there are no units key
m_formater[key] = units == QString("°C") ? Temperature : Float; if (units.isEmpty()) return QStringList() << QString("temp%1").arg(index);
if (index > -1) {
QString key = QString("temp%1").arg(index);
m_map[source] = key;
m_formater[key] = units == QString("°C") ? Temperature : Integer;
}
} else if (source == QString("Local")) { } else if (source == QString("Local")) {
// time // time
m_map[source] = QString("time"); m_map[source] = QString("time");
m_formater[QString("time")] = NoFormat; m_formater[QString("time")] = Time;
// custom time // custom time
m_map.insertMulti(source, QString("ctime")); m_map.insertMulti(source, QString("ctime"));
m_formater[QString("ctime")] = TimeCustom; m_formater[QString("ctime")] = TimeCustom;
@ -467,6 +496,8 @@ void AWKeysAggregator::registerSource(const QString source, const QString units)
m_map[source] = key; m_map[source] = key;
m_formater[key] = NoFormat; m_formater[key] = NoFormat;
} }
return keyFromSource(source);
} }

View File

@ -38,10 +38,11 @@ class AWKeysAggregator : public QObject
enum FormaterType { enum FormaterType {
// general formaters // general formaters
NoFormat = 0, NoFormat = 0,
Integer,
IntegerThree,
Float, Float,
FloatTwoSymbols, FloatTwoSymbols,
Integer,
IntegerThree,
List,
// unit specific formaters // unit specific formaters
ACFormat, ACFormat,
MemGBFormat, MemGBFormat,
@ -49,6 +50,7 @@ class AWKeysAggregator : public QObject
NetSmartFormat, NetSmartFormat,
NetSmartUnits, NetSmartUnits,
Temperature, Temperature,
Time,
TimeCustom, TimeCustom,
TimeISO, TimeISO,
TimeLong, TimeLong,
@ -73,7 +75,7 @@ public:
void setTranslate(const bool translate); void setTranslate(const bool translate);
public slots: public slots:
void registerSource(const QString source, const QString units); QStringList registerSource(const QString source, const QString units);
private: private:
float temperature(const float temp) const; float temperature(const float temp) const;

View File

@ -72,7 +72,6 @@ ExtScript *ExtScript::copy(const QString _fileName, const int _number)
item->setApiVersion(apiVersion()); item->setApiVersion(apiVersion());
item->setComment(comment()); item->setComment(comment());
item->setExecutable(executable()); item->setExecutable(executable());
item->setHasOutput(hasOutput());
item->setInterval(interval()); item->setInterval(interval());
item->setName(name()); item->setName(name());
item->setNumber(_number); item->setNumber(_number);
@ -99,14 +98,6 @@ QStringList ExtScript::filters() const
} }
bool ExtScript::hasOutput() const
{
qCDebug(LOG_LIB);
return m_output;
}
QString ExtScript::prefix() const QString ExtScript::prefix() const
{ {
qCDebug(LOG_LIB); qCDebug(LOG_LIB);
@ -143,6 +134,9 @@ QString ExtScript::strRedirect() const
case stderr2stdout: case stderr2stdout:
value = QString("stderr2stdout"); value = QString("stderr2stdout");
break; break;
case swap:
value = QString("swap");
break;
case nothing: case nothing:
default: default:
value = QString("nothing"); value = QString("nothing");
@ -167,19 +161,9 @@ void ExtScript::setFilters(const QStringList _filters)
qCDebug(LOG_LIB); qCDebug(LOG_LIB);
qCDebug(LOG_LIB) << "Filters" << _filters; qCDebug(LOG_LIB) << "Filters" << _filters;
std::for_each(_filters.cbegin(), _filters.cend(), std::for_each(_filters.cbegin(), _filters.cend(), [this](QString filter) {
[this](QString filter) { return updateFilter(filter); }); return updateFilter(filter);
// foreach(QString filter, _filters) });
// updateFilter(filter);
}
void ExtScript::setHasOutput(const bool _state)
{
qCDebug(LOG_LIB);
qCDebug(LOG_LIB) << "State" << _state;
m_output = _state;
} }
@ -210,6 +194,8 @@ void ExtScript::setStrRedirect(const QString _redirect)
m_redirect = stdout2stderr; m_redirect = stdout2stderr;
else if (_redirect == QString("stderr2sdtout")) else if (_redirect == QString("stderr2sdtout"))
m_redirect = stderr2stdout; m_redirect = stderr2stdout;
else if (_redirect == QString("swap"))
m_redirect = swap;
else else
m_redirect = nothing; m_redirect = nothing;
} }
@ -262,7 +248,6 @@ void ExtScript::readConfiguration()
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());
setPrefix(settings.value(QString("X-AW-Prefix"), m_prefix).toString()); setPrefix(settings.value(QString("X-AW-Prefix"), m_prefix).toString());
setHasOutput(settings.value(QString("X-AW-Output"), QVariant(m_output)).toString() == QString("true"));
setStrRedirect(settings.value(QString("X-AW-Redirect"), strRedirect()).toString()); setStrRedirect(settings.value(QString("X-AW-Redirect"), strRedirect()).toString());
// api == 3 // api == 3
setFilters(settings.value(QString("X-AW-Filters"), m_filters).toString() setFilters(settings.value(QString("X-AW-Filters"), m_filters).toString()
@ -270,9 +255,6 @@ void ExtScript::readConfiguration()
settings.endGroup(); settings.endGroup();
} }
if (!m_output)
setRedirect(stdout2stderr);
// update for current API // update for current API
if ((apiVersion() > 0) && (apiVersion() < AWESAPI)) { if ((apiVersion() > 0) && (apiVersion() < AWESAPI)) {
qCWarning(LOG_LIB) << "Bump API version from" << apiVersion() << "to" << AWESAPI; qCWarning(LOG_LIB) << "Bump API version from" << apiVersion() << "to" << AWESAPI;
@ -339,7 +321,6 @@ int ExtScript::showConfiguration(const QVariant args)
ui->lineEdit_command->setText(m_executable); ui->lineEdit_command->setText(m_executable);
ui->lineEdit_prefix->setText(m_prefix); ui->lineEdit_prefix->setText(m_prefix);
ui->checkBox_active->setCheckState(isActive() ? Qt::Checked : Qt::Unchecked); ui->checkBox_active->setCheckState(isActive() ? Qt::Checked : Qt::Unchecked);
ui->checkBox_output->setCheckState(m_output ? Qt::Checked : Qt::Unchecked);
ui->comboBox_redirect->setCurrentIndex(static_cast<int>(m_redirect)); ui->comboBox_redirect->setCurrentIndex(static_cast<int>(m_redirect));
ui->spinBox_interval->setValue(interval()); ui->spinBox_interval->setValue(interval());
// filters // filters
@ -356,7 +337,6 @@ int ExtScript::showConfiguration(const QVariant args)
setExecutable(ui->lineEdit_command->text()); setExecutable(ui->lineEdit_command->text());
setPrefix(ui->lineEdit_prefix->text()); setPrefix(ui->lineEdit_prefix->text());
setActive(ui->checkBox_active->checkState() == Qt::Checked); setActive(ui->checkBox_active->checkState() == Qt::Checked);
setHasOutput(ui->checkBox_output->checkState() == Qt::Checked);
setStrRedirect(ui->comboBox_redirect->currentText()); setStrRedirect(ui->comboBox_redirect->currentText());
setInterval(ui->spinBox_interval->value()); setInterval(ui->spinBox_interval->value());
// filters // filters
@ -380,7 +360,6 @@ void ExtScript::writeConfiguration() const
settings.beginGroup(QString("Desktop Entry")); settings.beginGroup(QString("Desktop Entry"));
settings.setValue(QString("Exec"), m_executable); settings.setValue(QString("Exec"), m_executable);
settings.setValue(QString("X-AW-Prefix"), m_prefix); settings.setValue(QString("X-AW-Prefix"), m_prefix);
settings.setValue(QString("X-AW-Output"), QVariant(m_output).toString());
settings.setValue(QString("X-AW-Redirect"), strRedirect()); settings.setValue(QString("X-AW-Redirect"), strRedirect());
settings.setValue(QString("X-AW-Filters"), m_filters.join(QChar(','))); settings.setValue(QString("X-AW-Filters"), m_filters.join(QChar(',')));
settings.endGroup(); settings.endGroup();
@ -397,7 +376,7 @@ void ExtScript::updateValue()
QString qdebug = QTextCodec::codecForMib(106)->toUnicode(process->readAllStandardError()).trimmed(); QString qdebug = QTextCodec::codecForMib(106)->toUnicode(process->readAllStandardError()).trimmed();
qCInfo(LOG_LIB) << "Error" << qdebug; qCInfo(LOG_LIB) << "Error" << qdebug;
QString qoutput = QTextCodec::codecForMib(106)->toUnicode(process->readAllStandardOutput()).trimmed(); QString qoutput = QTextCodec::codecForMib(106)->toUnicode(process->readAllStandardOutput()).trimmed();
qCInfo(LOG_LIB) << "Error" << qoutput; qCInfo(LOG_LIB) << "Output" << qoutput;
QString strValue; QString strValue;
switch (m_redirect) { switch (m_redirect) {
@ -406,6 +385,9 @@ void ExtScript::updateValue()
case stderr2stdout: case stderr2stdout:
strValue = QString("%1\n%2").arg(qdebug).arg(qoutput); strValue = QString("%1\n%2").arg(qdebug).arg(qoutput);
break; break;
case swap:
strValue = qdebug;
break;
case nothing: case nothing:
default: default:
strValue = qoutput; strValue = qoutput;
@ -427,7 +409,6 @@ void ExtScript::translate()
ui->label_command->setText(i18n("Command")); ui->label_command->setText(i18n("Command"));
ui->label_prefix->setText(i18n("Prefix")); ui->label_prefix->setText(i18n("Prefix"));
ui->checkBox_active->setText(i18n("Active")); ui->checkBox_active->setText(i18n("Active"));
ui->checkBox_output->setText(i18n("Has output"));
ui->label_redirect->setText(i18n("Redirect")); ui->label_redirect->setText(i18n("Redirect"));
ui->label_interval->setText(i18n("Interval")); ui->label_interval->setText(i18n("Interval"));
ui->groupBox_filters->setTitle(i18n("Additional filters")); ui->groupBox_filters->setTitle(i18n("Additional filters"));

View File

@ -33,7 +33,6 @@ class ExtScript : public AbstractExtItem
Q_OBJECT Q_OBJECT
Q_PROPERTY(QString executable READ executable WRITE setExecutable) Q_PROPERTY(QString executable READ executable WRITE setExecutable)
Q_PROPERTY(QStringList filters READ filters WRITE setFilters) Q_PROPERTY(QStringList filters READ filters WRITE setFilters)
Q_PROPERTY(bool output READ hasOutput WRITE setHasOutput)
Q_PROPERTY(QString prefix READ prefix WRITE setPrefix) Q_PROPERTY(QString prefix READ prefix WRITE setPrefix)
Q_PROPERTY(Redirect redirect READ redirect WRITE setRedirect) Q_PROPERTY(Redirect redirect READ redirect WRITE setRedirect)
@ -41,7 +40,8 @@ public:
enum Redirect { enum Redirect {
stdout2stderr = 0, stdout2stderr = 0,
nothing, nothing,
stderr2stdout stderr2stdout,
swap
}; };
explicit ExtScript(QWidget *parent = nullptr, const QString scriptName = QString(), explicit ExtScript(QWidget *parent = nullptr, const QString scriptName = QString(),
@ -51,7 +51,6 @@ public:
// get methods // get methods
QString executable() const; QString executable() const;
QStringList filters() const; QStringList filters() const;
bool hasOutput() const;
QString prefix() const; QString prefix() const;
Redirect redirect() const; Redirect redirect() const;
QString uniq() const; QString uniq() const;
@ -60,7 +59,6 @@ public:
// set methods // set methods
void setExecutable(const QString _executable = QString("/usr/bin/true")); void setExecutable(const QString _executable = QString("/usr/bin/true"));
void setFilters(const QStringList _filters = QStringList()); void setFilters(const QStringList _filters = QStringList());
void setHasOutput(const bool _state = true);
void setPrefix(const QString _prefix = QString("")); void setPrefix(const QString _prefix = QString(""));
void setRedirect(const Redirect _redirect = nothing); void setRedirect(const Redirect _redirect = nothing);
void setStrRedirect(const QString _redirect = QString("nothing")); void setStrRedirect(const QString _redirect = QString("nothing"));
@ -85,7 +83,6 @@ private:
// properties // properties
QString m_executable = QString("/usr/bin/true"); QString m_executable = QString("/usr/bin/true");
QStringList m_filters = QStringList(); QStringList m_filters = QStringList();
bool m_output = true;
QString m_prefix = QString(""); QString m_prefix = QString("");
Redirect m_redirect = nothing; Redirect m_redirect = nothing;
// internal properties // internal properties

View File

@ -157,36 +157,6 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<layout class="QHBoxLayout" name="layout_output">
<item>
<spacer name="spacer_output">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="checkBox_output">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Has output</string>
</property>
</widget>
</item>
</layout>
</item>
<item> <item>
<layout class="QHBoxLayout" name="layout_redirect"> <layout class="QHBoxLayout" name="layout_redirect">
<item> <item>
@ -216,6 +186,11 @@
<string notr="true">stderr2stdout</string> <string notr="true">stderr2stdout</string>
</property> </property>
</item> </item>
<item>
<property name="text">
<string notr="true">swap</string>
</property>
</item>
</widget> </widget>
</item> </item>
</layout> </layout>

View File

@ -143,12 +143,13 @@ void PlayerSource::run()
// initial data // initial data
if (m_player == QString("mpd")) { if (m_player == QString("mpd")) {
// mpd // mpd
values = getPlayerMpdInfo(m_mpdAddress); QHash<QString, QVariant> data = getPlayerMpdInfo(m_mpdAddress);
foreach(QString key, data.keys()) values[key] = data[key];
} else if (m_player == QString("mpris")) { } else if (m_player == QString("mpris")) {
// players which supports mpris // players which supports mpris
QString mpris = m_mpris == QString("auto") ? getAutoMpris() : m_mpris; QString mpris = m_mpris == QString("auto") ? getAutoMpris() : m_mpris;
if (mpris.isEmpty()) return; QHash<QString, QVariant> data = getPlayerMprisInfo(mpris);
values = getPlayerMprisInfo(mpris); foreach(QString key, data.keys()) values[key] = data[key];
} }
// dymanic properties // dymanic properties
@ -193,6 +194,19 @@ QStringList PlayerSource::sources() const
} }
QVariantHash PlayerSource::defaultInfo() const
{
QVariantHash info;
info[QString("player/album")] = QString("unknown");
info[QString("player/artist")] = QString("unknown");
info[QString("player/duration")] = 0;
info[QString("player/progress")] = 0;
info[QString("player/title")] = QString("unknown");
return info;
}
QString PlayerSource::getAutoMpris() const QString PlayerSource::getAutoMpris() const
{ {
qCDebug(LOG_ESM); qCDebug(LOG_ESM);
@ -218,12 +232,7 @@ QVariantHash PlayerSource::getPlayerMpdInfo(const QString mpdAddress) const
qCDebug(LOG_ESM); qCDebug(LOG_ESM);
qCDebug(LOG_ESM) << "MPD" << mpdAddress; qCDebug(LOG_ESM) << "MPD" << mpdAddress;
QVariantHash info; QVariantHash info = defaultInfo();
info[QString("player/album")] = QString("unknown");
info[QString("player/artist")] = QString("unknown");
info[QString("player/duration")] = 0;
info[QString("player/progress")] = 0;
info[QString("player/title")] = QString("unknown");
// build cmd // build cmd
QString cmd = QString("bash -c \"echo 'currentsong\nstatus\nclose' | curl --connect-timeout 1 -fsm 3 telnet://%1\"") QString cmd = QString("bash -c \"echo 'currentsong\nstatus\nclose' | curl --connect-timeout 1 -fsm 3 telnet://%1\"")
@ -259,12 +268,8 @@ QVariantHash PlayerSource::getPlayerMprisInfo(const QString mpris) const
qCDebug(LOG_ESM); qCDebug(LOG_ESM);
qCDebug(LOG_ESM) << "MPRIS" << mpris; qCDebug(LOG_ESM) << "MPRIS" << mpris;
QVariantHash info; QVariantHash info = defaultInfo();
info[QString("player/album")] = QString("unknown"); if (mpris.isEmpty()) return info;
info[QString("player/artist")] = QString("unknown");
info[QString("player/duration")] = 0;
info[QString("player/progress")] = 0;
info[QString("player/title")] = QString("unknown");
QDBusConnection bus = QDBusConnection::sessionBus(); QDBusConnection bus = QDBusConnection::sessionBus();
// comes from the following request: // comes from the following request:
@ -318,7 +323,7 @@ QString PlayerSource::buildString(const QString current, const QString value,
int index = value.indexOf(current); int index = value.indexOf(current);
if ((current.isEmpty()) || ((index + s + 1) > value.count())) if ((current.isEmpty()) || ((index + s + 1) > value.count()))
return value.leftJustified(s, QLatin1Char(' ')); return QString("%1").arg(value.left(s), s, QLatin1Char(' '));
else else
return QString("%1").arg(value.mid(index + 1, s), s, QLatin1Char(' ')); return QString("%1").arg(value.mid(index + 1, s), s, QLatin1Char(' '));
} }

View File

@ -34,6 +34,7 @@ public:
QStringList sources() const; QStringList sources() const;
private: private:
inline QVariantHash defaultInfo() const;
QString getAutoMpris() const; QString getAutoMpris() const;
QVariantHash getPlayerMpdInfo(const QString mpdAddress) const; QVariantHash getPlayerMpdInfo(const QString mpdAddress) const;
QVariantHash getPlayerMprisInfo(const QString mpris) const; QVariantHash getPlayerMprisInfo(const QString mpris) const;

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
"POT-Creation-Date: 2015-09-06 21:11+0300\n" "POT-Creation-Date: 2015-09-11 22:03+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -50,6 +50,9 @@ msgstr ""
msgid "Wrap new lines" msgid "Wrap new lines"
msgstr "" msgstr ""
msgid "Enable word wrap"
msgstr ""
msgid "Enable background" msgid "Enable background"
msgstr "" msgstr ""
@ -191,6 +194,18 @@ msgstr ""
msgid "Edit weather" msgid "Edit weather"
msgstr "" msgstr ""
msgid "Select tag"
msgstr ""
msgid "Tag: %1"
msgstr ""
msgid "Value: %1"
msgstr ""
msgid "Info: %1"
msgstr ""
msgid "Request key" msgid "Request key"
msgstr "" msgstr ""
@ -291,15 +306,6 @@ msgstr ""
msgid "Show value" msgid "Show value"
msgstr "" msgstr ""
msgid "Tag: %1"
msgstr ""
msgid "Value: %1"
msgstr ""
msgid "Info: %1"
msgstr ""
msgid "Add lambda" msgid "Add lambda"
msgstr "" msgstr ""
@ -366,12 +372,6 @@ msgstr ""
msgid "There are updates" msgid "There are updates"
msgstr "" msgstr ""
msgid "Select tag"
msgstr ""
msgid "Tag"
msgstr ""
msgid "AC online" msgid "AC online"
msgstr "" msgstr ""
@ -381,15 +381,15 @@ msgstr ""
msgid "High CPU load" msgid "High CPU load"
msgstr "" msgstr ""
msgid "High GPU load"
msgstr ""
msgid "Free space on %1 less than 10%"
msgstr ""
msgid "High memory usage" msgid "High memory usage"
msgstr "" msgstr ""
msgid "Swap is used"
msgstr ""
msgid "High GPU load"
msgstr ""
msgid "Network device has been changed to %1" msgid "Network device has been changed to %1"
msgstr "" msgstr ""
@ -399,9 +399,6 @@ msgstr ""
msgid "KB/s" msgid "KB/s"
msgstr "" msgstr ""
msgid "Swap is used"
msgstr ""
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
@ -432,6 +429,9 @@ msgstr ""
msgid "Comment" msgid "Comment"
msgstr "" msgstr ""
msgid "Tag"
msgstr ""
msgid "" msgid ""
"<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the " "<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the "
"instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" " "instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" "
@ -454,9 +454,6 @@ msgstr ""
msgid "Prefix" msgid "Prefix"
msgstr "" msgstr ""
msgid "Has output"
msgstr ""
msgid "Redirect" msgid "Redirect"
msgstr "" msgstr ""

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
"POT-Creation-Date: 2015-09-06 21:11+0300\n" "POT-Creation-Date: 2015-09-11 22:03+0300\n"
"PO-Revision-Date: 2015-09-06 21:11+0300\n" "PO-Revision-Date: 2015-09-11 22:03+0300\n"
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n" "Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
"Language-Team: English <kde-russian@lists.kde.ru>\n" "Language-Team: English <kde-russian@lists.kde.ru>\n"
"Language: ru\n" "Language: ru\n"
@ -51,6 +51,9 @@ msgstr "Enable notifications"
msgid "Wrap new lines" msgid "Wrap new lines"
msgstr "Wrap new lines" msgstr "Wrap new lines"
msgid "Enable word wrap"
msgstr "Enable word wrap"
msgid "Enable background" msgid "Enable background"
msgstr "Enable background" msgstr "Enable background"
@ -192,6 +195,18 @@ msgstr "Weather"
msgid "Edit weather" msgid "Edit weather"
msgstr "Edit weather" msgstr "Edit weather"
msgid "Select tag"
msgstr "Select tag"
msgid "Tag: %1"
msgstr "Tag: %1"
msgid "Value: %1"
msgstr "Value: %1"
msgid "Info: %1"
msgstr "Info: %1"
msgid "Request key" msgid "Request key"
msgstr "Request key" msgstr "Request key"
@ -296,15 +311,6 @@ msgstr "Add"
msgid "Show value" msgid "Show value"
msgstr "Show value" msgstr "Show value"
msgid "Tag: %1"
msgstr "Tag: %1"
msgid "Value: %1"
msgstr "Value: %1"
msgid "Info: %1"
msgstr "Info: %1"
msgid "Add lambda" msgid "Add lambda"
msgstr "Add lambda" msgstr "Add lambda"
@ -371,12 +377,6 @@ msgstr "Click \"Ok\" to download"
msgid "There are updates" msgid "There are updates"
msgstr "There are updates" msgstr "There are updates"
msgid "Select tag"
msgstr "Select tag"
msgid "Tag"
msgstr "Tag"
msgid "AC online" msgid "AC online"
msgstr "AC online" msgstr "AC online"
@ -386,15 +386,15 @@ msgstr "AC offline"
msgid "High CPU load" msgid "High CPU load"
msgstr "High CPU load" msgstr "High CPU load"
msgid "High GPU load"
msgstr "High GPU load"
msgid "Free space on %1 less than 10%"
msgstr "Free space on %1 less than 10%"
msgid "High memory usage" msgid "High memory usage"
msgstr "High memory usage" msgstr "High memory usage"
msgid "Swap is used"
msgstr "Swap is used"
msgid "High GPU load"
msgstr "High GPU load"
msgid "Network device has been changed to %1" msgid "Network device has been changed to %1"
msgstr "Network device has been changed to %1" msgstr "Network device has been changed to %1"
@ -404,9 +404,6 @@ msgstr "MB/s"
msgid "KB/s" msgid "KB/s"
msgstr "KB/s" msgstr "KB/s"
msgid "Swap is used"
msgstr "Swap is used"
msgid "Copy" msgid "Copy"
msgstr "Copy" msgstr "Copy"
@ -437,6 +434,9 @@ msgstr "Name"
msgid "Comment" msgid "Comment"
msgstr "Comment" msgstr "Comment"
msgid "Tag"
msgstr "Tag"
msgid "" msgid ""
"<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the " "<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the "
"instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" " "instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" "
@ -463,9 +463,6 @@ msgstr "Command"
msgid "Prefix" msgid "Prefix"
msgstr "Prefix" msgstr "Prefix"
msgid "Has output"
msgstr "Has output"
msgid "Redirect" msgid "Redirect"
msgstr "Redirect" msgstr "Redirect"
@ -558,6 +555,12 @@ msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails" msgid "Your emails"
msgstr "esalexeev@gmail.com" msgstr "esalexeev@gmail.com"
#~ msgid "Free space on %1 less than 10%"
#~ msgstr "Free space on %1 less than 10%"
#~ msgid "Has output"
#~ msgstr "Has output"
#~ msgid "Top Edge" #~ msgid "Top Edge"
#~ msgstr "Top Edge" #~ msgstr "Top Edge"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
"POT-Creation-Date: 2015-09-06 21:11+0300\n" "POT-Creation-Date: 2015-09-11 22:03+0300\n"
"PO-Revision-Date: 2015-07-31 22:13+0300\n" "PO-Revision-Date: 2015-07-31 22:13+0300\n"
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n" "Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
"Language-Team: Spanish <kde-russian@lists.kde.ru>\n" "Language-Team: Spanish <kde-russian@lists.kde.ru>\n"
@ -51,6 +51,9 @@ msgstr "Habilitar notificaciones"
msgid "Wrap new lines" msgid "Wrap new lines"
msgstr "Ajustar las nuevas líneas" msgstr "Ajustar las nuevas líneas"
msgid "Enable word wrap"
msgstr ""
msgid "Enable background" msgid "Enable background"
msgstr "Habilitar fondo" msgstr "Habilitar fondo"
@ -195,6 +198,18 @@ msgstr ""
msgid "Edit weather" msgid "Edit weather"
msgstr "Editar tickets" msgstr "Editar tickets"
msgid "Select tag"
msgstr "Elegir etiqueta"
msgid "Tag: %1"
msgstr "Etiqueta: %1"
msgid "Value: %1"
msgstr "Valor: %1"
msgid "Info: %1"
msgstr "Información: %1"
msgid "Request key" msgid "Request key"
msgstr "Solicitar llave" msgstr "Solicitar llave"
@ -307,15 +322,6 @@ msgstr "Añadir"
msgid "Show value" msgid "Show value"
msgstr "Mostrar valor" msgstr "Mostrar valor"
msgid "Tag: %1"
msgstr "Etiqueta: %1"
msgid "Value: %1"
msgstr "Valor: %1"
msgid "Info: %1"
msgstr "Información: %1"
msgid "Add lambda" msgid "Add lambda"
msgstr "" msgstr ""
@ -383,12 +389,6 @@ msgstr "Haz clic en «Ok» para descargar"
msgid "There are updates" msgid "There are updates"
msgstr "Hay actualizaciones disponibles" msgstr "Hay actualizaciones disponibles"
msgid "Select tag"
msgstr "Elegir etiqueta"
msgid "Tag"
msgstr "Etiqueta"
msgid "AC online" msgid "AC online"
msgstr "Alimentación conectada" msgstr "Alimentación conectada"
@ -398,15 +398,15 @@ msgstr "Alimentación desconectada"
msgid "High CPU load" msgid "High CPU load"
msgstr "Carga alta de CPU" msgstr "Carga alta de CPU"
msgid "High GPU load"
msgstr "Carga alta de GPU"
msgid "Free space on %1 less than 10%"
msgstr "Espacio libre en %1 es menos del 10%"
msgid "High memory usage" msgid "High memory usage"
msgstr "Alto uso de la memoria" msgstr "Alto uso de la memoria"
msgid "Swap is used"
msgstr "Swap está en uso"
msgid "High GPU load"
msgstr "Carga alta de GPU"
msgid "Network device has been changed to %1" msgid "Network device has been changed to %1"
msgstr "El dispositivo de red ha sido cambiado a %1" msgstr "El dispositivo de red ha sido cambiado a %1"
@ -416,9 +416,6 @@ msgstr ""
msgid "KB/s" msgid "KB/s"
msgstr "" msgstr ""
msgid "Swap is used"
msgstr "Swap está en uso"
msgid "Copy" msgid "Copy"
msgstr "Copiar" msgstr "Copiar"
@ -450,6 +447,9 @@ msgstr "Nombre"
msgid "Comment" msgid "Comment"
msgstr "Comentario" msgstr "Comentario"
msgid "Tag"
msgstr "Etiqueta"
msgid "" msgid ""
"<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the " "<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the "
"instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" " "instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" "
@ -476,9 +476,6 @@ msgstr "Comentario"
msgid "Prefix" msgid "Prefix"
msgstr "" msgstr ""
msgid "Has output"
msgstr ""
msgid "Redirect" msgid "Redirect"
msgstr "" msgstr ""
@ -573,6 +570,9 @@ msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails" msgid "Your emails"
msgstr "Tu correo electrónico" msgstr "Tu correo electrónico"
#~ msgid "Free space on %1 less than 10%"
#~ msgstr "Espacio libre en %1 es menos del 10%"
#~ msgid "Top Edge" #~ msgid "Top Edge"
#~ msgstr "Borde superior" #~ msgstr "Borde superior"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
"POT-Creation-Date: 2015-09-06 21:11+0300\n" "POT-Creation-Date: 2015-09-11 22:03+0300\n"
"PO-Revision-Date: 2015-07-31 22:16+0300\n" "PO-Revision-Date: 2015-07-31 22:16+0300\n"
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n" "Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
"Language-Team: French <kde-russian@lists.kde.ru>\n" "Language-Team: French <kde-russian@lists.kde.ru>\n"
@ -53,6 +53,9 @@ msgstr "Activer les notifications"
msgid "Wrap new lines" msgid "Wrap new lines"
msgstr "Couper les lignes supplémentaires" msgstr "Couper les lignes supplémentaires"
msgid "Enable word wrap"
msgstr ""
msgid "Enable background" msgid "Enable background"
msgstr "Activer le fond" msgstr "Activer le fond"
@ -197,6 +200,18 @@ msgstr ""
msgid "Edit weather" msgid "Edit weather"
msgstr "Modifier les tickers" msgstr "Modifier les tickers"
msgid "Select tag"
msgstr "Sélectionner l'étiquette"
msgid "Tag: %1"
msgstr "Etiquette: %1"
msgid "Value: %1"
msgstr "Valeur: %1"
msgid "Info: %1"
msgstr "Info: %1"
msgid "Request key" msgid "Request key"
msgstr "Demander une clé" msgstr "Demander une clé"
@ -309,15 +324,6 @@ msgstr "Ajouter"
msgid "Show value" msgid "Show value"
msgstr "Afficher la valeur" msgstr "Afficher la valeur"
msgid "Tag: %1"
msgstr "Etiquette: %1"
msgid "Value: %1"
msgstr "Valeur: %1"
msgid "Info: %1"
msgstr "Info: %1"
msgid "Add lambda" msgid "Add lambda"
msgstr "" msgstr ""
@ -387,12 +393,6 @@ msgstr "Cliquer sur \"Valider\" pour télécharger"
msgid "There are updates" msgid "There are updates"
msgstr "Des mises à jour sont disponibles" msgstr "Des mises à jour sont disponibles"
msgid "Select tag"
msgstr "Sélectionner l'étiquette"
msgid "Tag"
msgstr "Étiquette"
msgid "AC online" msgid "AC online"
msgstr "Alimentation branchée" msgstr "Alimentation branchée"
@ -402,15 +402,15 @@ msgstr "Alimentation débranchée"
msgid "High CPU load" msgid "High CPU load"
msgstr "Haute charge CPU" msgstr "Haute charge CPU"
msgid "High GPU load"
msgstr "Haute charge GPU"
msgid "Free space on %1 less than 10%"
msgstr "Espace libre sur %1 inférieur à 10%"
msgid "High memory usage" msgid "High memory usage"
msgstr "Haute utilisation mémoire" msgstr "Haute utilisation mémoire"
msgid "Swap is used"
msgstr "Fichier d'échange utilisé"
msgid "High GPU load"
msgstr "Haute charge GPU"
msgid "Network device has been changed to %1" msgid "Network device has been changed to %1"
msgstr "L'interface réseau à été changée en %1" msgstr "L'interface réseau à été changée en %1"
@ -420,9 +420,6 @@ msgstr ""
msgid "KB/s" msgid "KB/s"
msgstr "" msgstr ""
msgid "Swap is used"
msgstr "Fichier d'échange utilisé"
msgid "Copy" msgid "Copy"
msgstr "Copier" msgstr "Copier"
@ -456,6 +453,9 @@ msgstr "Nom: %1"
msgid "Comment" msgid "Comment"
msgstr "Commentaire: %1" msgstr "Commentaire: %1"
msgid "Tag"
msgstr "Étiquette"
msgid "" msgid ""
"<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the " "<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the "
"instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" " "instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" "
@ -482,9 +482,6 @@ msgstr "Commande personnalisée"
msgid "Prefix" msgid "Prefix"
msgstr "" msgstr ""
msgid "Has output"
msgstr ""
msgid "Redirect" msgid "Redirect"
msgstr "" msgstr ""
@ -583,6 +580,9 @@ msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails" msgid "Your emails"
msgstr "esalexeev@gmail.com mermouy@gmail.com" msgstr "esalexeev@gmail.com mermouy@gmail.com"
#~ msgid "Free space on %1 less than 10%"
#~ msgstr "Espace libre sur %1 inférieur à 10%"
#~ msgid "Top Edge" #~ msgid "Top Edge"
#~ msgstr "Bord du haut" #~ msgstr "Bord du haut"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Awesome widgets\n" "Project-Id-Version: Awesome widgets\n"
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
"POT-Creation-Date: 2015-09-06 21:11+0300\n" "POT-Creation-Date: 2015-09-11 22:03+0300\n"
"PO-Revision-Date: 2015-08-20 22:52+0300\n" "PO-Revision-Date: 2015-08-20 22:52+0300\n"
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n" "Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
"Language-Team: Dutch <kde-i18n-nl@kde.org>\n" "Language-Team: Dutch <kde-i18n-nl@kde.org>\n"
@ -53,6 +53,9 @@ msgstr ""
msgid "Wrap new lines" msgid "Wrap new lines"
msgstr "" msgstr ""
msgid "Enable word wrap"
msgstr ""
msgid "Enable background" msgid "Enable background"
msgstr "Achtergrond inschakelen" msgstr "Achtergrond inschakelen"
@ -198,6 +201,18 @@ msgstr ""
msgid "Edit weather" msgid "Edit weather"
msgstr "Balken bewerken" msgstr "Balken bewerken"
msgid "Select tag"
msgstr "Sleutelwoord selecteren"
msgid "Tag: %1"
msgstr "Sleutelwoord: %1"
msgid "Value: %1"
msgstr "Waarde: %1"
msgid "Info: %1"
msgstr "Informatie: %1"
msgid "Request key" msgid "Request key"
msgstr "Sleutel aanvragen" msgstr "Sleutel aanvragen"
@ -308,15 +323,6 @@ msgstr "Toevoegen"
msgid "Show value" msgid "Show value"
msgstr "Waarde weergeven" msgstr "Waarde weergeven"
msgid "Tag: %1"
msgstr "Sleutelwoord: %1"
msgid "Value: %1"
msgstr "Waarde: %1"
msgid "Info: %1"
msgstr "Informatie: %1"
msgid "Add lambda" msgid "Add lambda"
msgstr "" msgstr ""
@ -387,12 +393,6 @@ msgstr "Klik op \"OK\" om te downloaden"
msgid "There are updates" msgid "There are updates"
msgstr "Er zijn updates" msgstr "Er zijn updates"
msgid "Select tag"
msgstr "Sleutelwoord selecteren"
msgid "Tag"
msgstr "Sleutelwoord"
msgid "AC online" msgid "AC online"
msgstr "AC online" msgstr "AC online"
@ -402,16 +402,16 @@ msgstr "AC offline"
msgid "High CPU load" msgid "High CPU load"
msgstr "Hoog CPU-verbruik" msgstr "Hoog CPU-verbruik"
msgid "High memory usage"
msgstr "Hoog geheugenverbruik"
msgid "Swap is used"
msgstr "Swap wordt gebruikt"
#, fuzzy #, fuzzy
msgid "High GPU load" msgid "High GPU load"
msgstr "Hoog CPU-verbruik" msgstr "Hoog CPU-verbruik"
msgid "Free space on %1 less than 10%"
msgstr "De vrije ruimte op %1 is minder dan 10%"
msgid "High memory usage"
msgstr "Hoog geheugenverbruik"
msgid "Network device has been changed to %1" msgid "Network device has been changed to %1"
msgstr "Het netwerkapparaat is gewijzigd naar %1" msgstr "Het netwerkapparaat is gewijzigd naar %1"
@ -421,9 +421,6 @@ msgstr ""
msgid "KB/s" msgid "KB/s"
msgstr "" msgstr ""
msgid "Swap is used"
msgstr "Swap wordt gebruikt"
msgid "Copy" msgid "Copy"
msgstr "Kopiëren" msgstr "Kopiëren"
@ -455,6 +452,9 @@ msgstr "Naam"
msgid "Comment" msgid "Comment"
msgstr "Commentaar" msgstr "Commentaar"
msgid "Tag"
msgstr "Sleutelwoord"
msgid "" msgid ""
"<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the " "<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the "
"instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" " "instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" "
@ -480,9 +480,6 @@ msgstr "Commentaar"
msgid "Prefix" msgid "Prefix"
msgstr "" msgstr ""
msgid "Has output"
msgstr ""
msgid "Redirect" msgid "Redirect"
msgstr "" msgstr ""
@ -579,6 +576,9 @@ msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails" msgid "Your emails"
msgstr "vistausss@outlook.com" msgstr "vistausss@outlook.com"
#~ msgid "Free space on %1 less than 10%"
#~ msgstr "De vrije ruimte op %1 is minder dan 10%"
#~ msgid "Top Edge" #~ msgid "Top Edge"
#~ msgstr "Bovenrand" #~ msgstr "Bovenrand"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
"POT-Creation-Date: 2015-09-06 21:11+0300\n" "POT-Creation-Date: 2015-09-11 22:03+0300\n"
"PO-Revision-Date: 2015-07-31 22:21+0300\n" "PO-Revision-Date: 2015-07-31 22:21+0300\n"
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n" "Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
"Language-Team: Russian <kde-russian@lists.kde.ru>\n" "Language-Team: Russian <kde-russian@lists.kde.ru>\n"
@ -52,6 +52,9 @@ msgstr "Ativar notificações"
msgid "Wrap new lines" msgid "Wrap new lines"
msgstr "Cobrir novas linhas" msgstr "Cobrir novas linhas"
msgid "Enable word wrap"
msgstr ""
msgid "Enable background" msgid "Enable background"
msgstr "Ativar plano de fundo" msgstr "Ativar plano de fundo"
@ -196,6 +199,18 @@ msgstr ""
msgid "Edit weather" msgid "Edit weather"
msgstr "Editar relógios" msgstr "Editar relógios"
msgid "Select tag"
msgstr "Selecionar tag"
msgid "Tag: %1"
msgstr "Tag: %1"
msgid "Value: %1"
msgstr "Valor: %1"
msgid "Info: %1"
msgstr "Info: %1"
msgid "Request key" msgid "Request key"
msgstr "Solicitar chave" msgstr "Solicitar chave"
@ -307,15 +322,6 @@ msgstr "Adicionar"
msgid "Show value" msgid "Show value"
msgstr "Mostrar valor" msgstr "Mostrar valor"
msgid "Tag: %1"
msgstr "Tag: %1"
msgid "Value: %1"
msgstr "Valor: %1"
msgid "Info: %1"
msgstr "Info: %1"
msgid "Add lambda" msgid "Add lambda"
msgstr "" msgstr ""
@ -383,12 +389,6 @@ msgstr "Clique \"Ok\" para baixar"
msgid "There are updates" msgid "There are updates"
msgstr "Há atualizações disponíveis" msgstr "Há atualizações disponíveis"
msgid "Select tag"
msgstr "Selecionar tag"
msgid "Tag"
msgstr "Tag"
msgid "AC online" msgid "AC online"
msgstr "Carregador conectado" msgstr "Carregador conectado"
@ -398,15 +398,15 @@ msgstr "Carregador desconectado"
msgid "High CPU load" msgid "High CPU load"
msgstr "Alta carga da CPU" msgstr "Alta carga da CPU"
msgid "High GPU load"
msgstr "Alta carga da GPU"
msgid "Free space on %1 less than 10%"
msgstr "O espaço livre em %1 é menor que 10%"
msgid "High memory usage" msgid "High memory usage"
msgstr "Alto uso de memória" msgstr "Alto uso de memória"
msgid "Swap is used"
msgstr "Swap está sendo usado"
msgid "High GPU load"
msgstr "Alta carga da GPU"
msgid "Network device has been changed to %1" msgid "Network device has been changed to %1"
msgstr "O dispositivo de rede mudou para %1" msgstr "O dispositivo de rede mudou para %1"
@ -416,9 +416,6 @@ msgstr ""
msgid "KB/s" msgid "KB/s"
msgstr "" msgstr ""
msgid "Swap is used"
msgstr "Swap está sendo usado"
msgid "Copy" msgid "Copy"
msgstr "Copiar" msgstr "Copiar"
@ -449,6 +446,9 @@ msgstr "NOme"
msgid "Comment" msgid "Comment"
msgstr "Comentário" msgstr "Comentário"
msgid "Tag"
msgstr "Tag"
msgid "" msgid ""
"<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the " "<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the "
"instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" " "instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" "
@ -472,9 +472,6 @@ msgstr "Comentário"
msgid "Prefix" msgid "Prefix"
msgstr "" msgstr ""
msgid "Has output"
msgstr ""
msgid "Redirect" msgid "Redirect"
msgstr "" msgstr ""
@ -567,6 +564,9 @@ msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails" msgid "Your emails"
msgstr "under@insicuri.net" msgstr "under@insicuri.net"
#~ msgid "Free space on %1 less than 10%"
#~ msgstr "O espaço livre em %1 é menor que 10%"
#~ msgid "Top Edge" #~ msgid "Top Edge"
#~ msgstr "Canto do topo" #~ msgstr "Canto do topo"

View File

@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
"POT-Creation-Date: 2015-09-06 21:11+0300\n" "POT-Creation-Date: 2015-09-11 22:03+0300\n"
"PO-Revision-Date: 2015-09-06 21:12+0300\n" "PO-Revision-Date: 2015-09-11 22:03+0300\n"
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n" "Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
"Language-Team: Russian <kde-russian@lists.kde.ru>\n" "Language-Team: Russian <kde-russian@lists.kde.ru>\n"
"Language: ru\n" "Language: ru\n"
@ -51,6 +51,9 @@ msgstr "Включить уведомления "
msgid "Wrap new lines" msgid "Wrap new lines"
msgstr "Заменить символ перевода строки" msgstr "Заменить символ перевода строки"
msgid "Enable word wrap"
msgstr "Включить перенос слов"
msgid "Enable background" msgid "Enable background"
msgstr "Включить фон" msgstr "Включить фон"
@ -192,6 +195,18 @@ msgstr "Погода"
msgid "Edit weather" msgid "Edit weather"
msgstr "Редактировать погоду" msgstr "Редактировать погоду"
msgid "Select tag"
msgstr "Выберете тег"
msgid "Tag: %1"
msgstr "Тег: %1"
msgid "Value: %1"
msgstr "Значение: %1"
msgid "Info: %1"
msgstr "Информация: %1"
msgid "Request key" msgid "Request key"
msgstr "Показать ключ" msgstr "Показать ключ"
@ -296,15 +311,6 @@ msgstr "Добавить"
msgid "Show value" msgid "Show value"
msgstr "Показать значение" msgstr "Показать значение"
msgid "Tag: %1"
msgstr "Тег: %1"
msgid "Value: %1"
msgstr "Значение: %1"
msgid "Info: %1"
msgstr "Информация: %1"
msgid "Add lambda" msgid "Add lambda"
msgstr "Добавить лямбду" msgstr "Добавить лямбду"
@ -371,12 +377,6 @@ msgstr "Нажмите \"Ok\" для загрузки"
msgid "There are updates" msgid "There are updates"
msgstr "Найдены обновления" msgstr "Найдены обновления"
msgid "Select tag"
msgstr "Выберете тег"
msgid "Tag"
msgstr "Тег"
msgid "AC online" msgid "AC online"
msgstr "AC подключен" msgstr "AC подключен"
@ -386,15 +386,15 @@ msgstr "AC отключен"
msgid "High CPU load" msgid "High CPU load"
msgstr "Высокая загрузка CPU" msgstr "Высокая загрузка CPU"
msgid "High GPU load"
msgstr "Высокая загрузка GPU"
msgid "Free space on %1 less than 10%"
msgstr "Свободное место на диске %1 меньше 10%"
msgid "High memory usage" msgid "High memory usage"
msgstr "Большое потребление памяти" msgstr "Большое потребление памяти"
msgid "Swap is used"
msgstr "Используется своп"
msgid "High GPU load"
msgstr "Высокая загрузка GPU"
msgid "Network device has been changed to %1" msgid "Network device has been changed to %1"
msgstr "Сетевое устройство было изменено на %1" msgstr "Сетевое устройство было изменено на %1"
@ -404,9 +404,6 @@ msgstr "МБ/с"
msgid "KB/s" msgid "KB/s"
msgstr "КБ/с" msgstr "КБ/с"
msgid "Swap is used"
msgstr "Используется своп"
msgid "Copy" msgid "Copy"
msgstr "Копировать" msgstr "Копировать"
@ -437,6 +434,9 @@ msgstr "Имя"
msgid "Comment" msgid "Comment"
msgstr "Комментарий" msgstr "Комментарий"
msgid "Tag"
msgstr "Тег"
msgid "" msgid ""
"<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the " "<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the "
"instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" " "instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" "
@ -463,9 +463,6 @@ msgstr "Команда"
msgid "Prefix" msgid "Prefix"
msgstr "Префикс" msgstr "Префикс"
msgid "Has output"
msgstr "Имеет сообщения"
msgid "Redirect" msgid "Redirect"
msgstr "Перенаправление" msgstr "Перенаправление"
@ -558,6 +555,12 @@ msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails" msgid "Your emails"
msgstr "esalexeev@gmail.com" msgstr "esalexeev@gmail.com"
#~ msgid "Free space on %1 less than 10%"
#~ msgstr "Свободное место на диске %1 меньше 10%"
#~ msgid "Has output"
#~ msgstr "Имеет сообщения"
#~ msgid "Top Edge" #~ msgid "Top Edge"
#~ msgstr "Верхняя грань" #~ msgstr "Верхняя грань"

View File

@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
"POT-Creation-Date: 2015-09-06 21:11+0300\n" "POT-Creation-Date: 2015-09-11 22:03+0300\n"
"PO-Revision-Date: 2015-07-31 22:23+0300\n" "PO-Revision-Date: 2015-07-31 22:23+0300\n"
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n" "Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
"Language-Team: Ukrainian <kde-russian@lists.kde.ru>\n" "Language-Team: Ukrainian <kde-russian@lists.kde.ru>\n"
@ -51,6 +51,9 @@ msgstr "Включити повідомлення"
msgid "Wrap new lines" msgid "Wrap new lines"
msgstr "Замінити символ переводу рядка" msgstr "Замінити символ переводу рядка"
msgid "Enable word wrap"
msgstr ""
msgid "Enable background" msgid "Enable background"
msgstr "Включити фон" msgstr "Включити фон"
@ -195,6 +198,18 @@ msgstr ""
msgid "Edit weather" msgid "Edit weather"
msgstr "Редагувати тікети" msgstr "Редагувати тікети"
msgid "Select tag"
msgstr "Оберіть тег"
msgid "Tag: %1"
msgstr "Тег: %1"
msgid "Value: %1"
msgstr "Значення: %1"
msgid "Info: %1"
msgstr "Інформація: %1"
msgid "Request key" msgid "Request key"
msgstr "Показати ключ" msgstr "Показати ключ"
@ -307,15 +322,6 @@ msgstr "Додати"
msgid "Show value" msgid "Show value"
msgstr "Показати значення" msgstr "Показати значення"
msgid "Tag: %1"
msgstr "Тег: %1"
msgid "Value: %1"
msgstr "Значення: %1"
msgid "Info: %1"
msgstr "Інформація: %1"
msgid "Add lambda" msgid "Add lambda"
msgstr "" msgstr ""
@ -383,12 +389,6 @@ msgstr "Натисніть \"Ok\" для завантаження"
msgid "There are updates" msgid "There are updates"
msgstr "Знайдені оновлення" msgstr "Знайдені оновлення"
msgid "Select tag"
msgstr "Оберіть тег"
msgid "Tag"
msgstr "Тег"
msgid "AC online" msgid "AC online"
msgstr "AC підключений" msgstr "AC підключений"
@ -398,15 +398,15 @@ msgstr "AC відключений"
msgid "High CPU load" msgid "High CPU load"
msgstr "Високе завантаження CPU" msgstr "Високе завантаження CPU"
msgid "High GPU load"
msgstr "Високе завантаження GPU"
msgid "Free space on %1 less than 10%"
msgstr "Вільний простір на диску %1 меньше ніж 10%"
msgid "High memory usage" msgid "High memory usage"
msgstr "Велике споживання пам’яті" msgstr "Велике споживання пам’яті"
msgid "Swap is used"
msgstr "Використовується swap"
msgid "High GPU load"
msgstr "Високе завантаження GPU"
msgid "Network device has been changed to %1" msgid "Network device has been changed to %1"
msgstr "Мережевий пристрій було змінено на %1" msgstr "Мережевий пристрій було змінено на %1"
@ -416,9 +416,6 @@ msgstr ""
msgid "KB/s" msgid "KB/s"
msgstr "" msgstr ""
msgid "Swap is used"
msgstr "Використовується swap"
msgid "Copy" msgid "Copy"
msgstr "Копіювати" msgstr "Копіювати"
@ -450,6 +447,9 @@ msgstr "Ім’я"
msgid "Comment" msgid "Comment"
msgstr "Коментар" msgstr "Коментар"
msgid "Tag"
msgstr "Тег"
msgid "" msgid ""
"<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the " "<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the "
"instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" " "instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" "
@ -476,9 +476,6 @@ msgstr "Коментар"
msgid "Prefix" msgid "Prefix"
msgstr "" msgstr ""
msgid "Has output"
msgstr ""
msgid "Redirect" msgid "Redirect"
msgstr "" msgstr ""
@ -575,6 +572,9 @@ msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails" msgid "Your emails"
msgstr "sarumyan@i.ua" msgstr "sarumyan@i.ua"
#~ msgid "Free space on %1 less than 10%"
#~ msgstr "Вільний простір на диску %1 меньше ніж 10%"
#~ msgid "Top Edge" #~ msgid "Top Edge"
#~ msgstr "Верхній край" #~ msgstr "Верхній край"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n"
"POT-Creation-Date: 2015-09-06 21:11+0300\n" "POT-Creation-Date: 2015-09-11 22:03+0300\n"
"PO-Revision-Date: 2015-07-31 22:24+0300\n" "PO-Revision-Date: 2015-07-31 22:24+0300\n"
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n" "Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
"Language-Team: Russian <kde-russian@lists.kde.ru>\n" "Language-Team: Russian <kde-russian@lists.kde.ru>\n"
@ -51,6 +51,9 @@ msgstr ""
msgid "Wrap new lines" msgid "Wrap new lines"
msgstr "" msgstr ""
msgid "Enable word wrap"
msgstr ""
msgid "Enable background" msgid "Enable background"
msgstr "启用背景" msgstr "启用背景"
@ -197,6 +200,19 @@ msgstr ""
msgid "Edit weather" msgid "Edit weather"
msgstr "可编辑的" msgstr "可编辑的"
#, fuzzy
msgid "Select tag"
msgstr "选择字体"
msgid "Tag: %1"
msgstr ""
msgid "Value: %1"
msgstr ""
msgid "Info: %1"
msgstr ""
msgid "Request key" msgid "Request key"
msgstr "" msgstr ""
@ -307,15 +323,6 @@ msgstr "添加"
msgid "Show value" msgid "Show value"
msgstr "" msgstr ""
msgid "Tag: %1"
msgstr ""
msgid "Value: %1"
msgstr ""
msgid "Info: %1"
msgstr ""
msgid "Add lambda" msgid "Add lambda"
msgstr "" msgstr ""
@ -383,13 +390,6 @@ msgstr ""
msgid "There are updates" msgid "There are updates"
msgstr "" msgstr ""
#, fuzzy
msgid "Select tag"
msgstr "选择字体"
msgid "Tag"
msgstr ""
#, fuzzy #, fuzzy
msgid "AC online" msgid "AC online"
msgstr "外接电源使用中标签" msgstr "外接电源使用中标签"
@ -401,15 +401,15 @@ msgstr "外接电源未使用标签"
msgid "High CPU load" msgid "High CPU load"
msgstr "" msgstr ""
msgid "High GPU load"
msgstr ""
msgid "Free space on %1 less than 10%"
msgstr ""
msgid "High memory usage" msgid "High memory usage"
msgstr "" msgstr ""
msgid "Swap is used"
msgstr ""
msgid "High GPU load"
msgstr ""
msgid "Network device has been changed to %1" msgid "Network device has been changed to %1"
msgstr "" msgstr ""
@ -419,9 +419,6 @@ msgstr ""
msgid "KB/s" msgid "KB/s"
msgstr "" msgstr ""
msgid "Swap is used"
msgstr ""
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
@ -453,6 +450,9 @@ msgstr ""
msgid "Comment" msgid "Comment"
msgstr "自定义命令" msgstr "自定义命令"
msgid "Tag"
msgstr ""
msgid "" msgid ""
"<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the " "<html><head/><body><p>Use YAHOO! finance ticker to get quotes for the "
"instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" " "instrument. Refer to <a href=\"http://finance.yahoo.com/\"><span style=\" "
@ -478,9 +478,6 @@ msgstr "自定义命令"
msgid "Prefix" msgid "Prefix"
msgstr "" msgstr ""
msgid "Has output"
msgstr ""
msgid "Redirect" msgid "Redirect"
msgstr "" msgstr ""