fix tooltip

fix memory
remove layout settings
more correct parsing
This commit is contained in:
arcan1s 2014-09-02 02:42:34 +04:00
parent c69957e905
commit fd81fda9a1
8 changed files with 132 additions and 192 deletions

View File

@ -41,9 +41,9 @@
<property name="geometry">
<rect>
<x>0</x>
<y>-87</y>
<y>0</y>
<width>677</width>
<height>665</height>
<height>640</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_8">
@ -54,13 +54,6 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_layout">
<property name="text">
<string>Vertical layout</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_popup">
<property name="text">

View File

@ -42,6 +42,8 @@ AwesomeWidget::AwesomeWidget(QObject *parent, const QVariantList &args)
else
debug = false;
setBackgroundHints(DefaultBackground);
setAspectRatioMode(Plasma::IgnoreAspectRatio);
setHasConfigurationInterface(true);
// text format init
formatLine.append(QString(""));
@ -162,8 +164,10 @@ void AwesomeWidget::init()
// body
mainLayout = new QGraphicsLinearLayout();
mainLayout->setContentsMargins(1, 1, 1, 1);
mainLayout->setOrientation(Qt::Horizontal);
setLayout(mainLayout);
textLabel = new CustomLabel(this, debug);
textLabel->setWordWrap(false);
// read variables
configChanged();
@ -238,12 +242,18 @@ QStringList AwesomeWidget::getKeys()
allKeys.append(QString("mem"));
allKeys.append(QString("memmb"));
allKeys.append(QString("memgb"));
allKeys.append(QString("memfreemb"));
allKeys.append(QString("memfreegb"));
allKeys.append(QString("memtotmb"));
allKeys.append(QString("memtotgb"));
allKeys.append(QString("memusedmb"));
allKeys.append(QString("memusedgb"));
// swap
allKeys.append(QString("swap"));
allKeys.append(QString("swapmb"));
allKeys.append(QString("swapgb"));
allKeys.append(QString("swapfreemb"));
allKeys.append(QString("swapfreegb"));
allKeys.append(QString("swaptotmb"));
allKeys.append(QString("swaptotgb"));
// hdd

View File

@ -146,10 +146,6 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
uiAdvancedConfig.checkBox_background->setCheckState(Qt::Unchecked);
else
uiAdvancedConfig.checkBox_background->setCheckState(Qt::Checked);
if (configuration[QString("layout")].toInt() == 0)
uiAdvancedConfig.checkBox_layout->setCheckState(Qt::Unchecked);
else
uiAdvancedConfig.checkBox_layout->setCheckState(Qt::Checked);
if (configuration[QString("popup")].toInt() == 0)
uiAdvancedConfig.checkBox_popup->setCheckState(Qt::Unchecked);
else
@ -292,10 +288,6 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
else
uiTooltipConfig.checkBox_down->setCheckState(Qt::Checked);
uiTooltipConfig.kcolorcombo_down->setColor(QColor(configuration[QString("downColor")]));
if (configuration[QString("upTooltip")].toInt() == 0)
uiTooltipConfig.checkBox_up->setCheckState(Qt::Unchecked);
else
uiTooltipConfig.checkBox_up->setCheckState(Qt::Checked);
uiTooltipConfig.kcolorcombo_up->setColor(QColor(configuration[QString("upColor")]));
// appearance
@ -407,7 +399,6 @@ void AwesomeWidget::configAccepted()
// advanced
cg.writeEntry("background", QString::number(uiAdvancedConfig.checkBox_background->checkState()));
cg.writeEntry("layout", QString::number(uiAdvancedConfig.checkBox_layout->checkState()));
cg.writeEntry("popup", QString::number(uiAdvancedConfig.checkBox_popup->checkState()));
cg.writeEntry("leftStretch", QString::number(uiAdvancedConfig.checkBox_leftStretch->checkState()));
cg.writeEntry("rightStretch", QString::number(uiAdvancedConfig.checkBox_rightStretch->checkState()));
@ -453,7 +444,6 @@ void AwesomeWidget::configAccepted()
cg.writeEntry("swapColor", uiTooltipConfig.kcolorcombo_swap->color().name());
cg.writeEntry("downTooltip", QString::number(uiTooltipConfig.checkBox_down->checkState()));
cg.writeEntry("downColor", uiTooltipConfig.kcolorcombo_down->color().name());
cg.writeEntry("upTooltip", QString::number(uiTooltipConfig.checkBox_up->checkState()));
cg.writeEntry("upColor", uiTooltipConfig.kcolorcombo_up->color().name());
// appearance
@ -506,7 +496,6 @@ void AwesomeWidget::configChanged()
// advanced
configuration[QString("background")] = cg.readEntry("background", "2");
configuration[QString("layout")] = cg.readEntry("layout", "0");
configuration[QString("popup")] = cg.readEntry("popup", "2");
configuration[QString("leftStretch")] = cg.readEntry("leftStretch", "2");
configuration[QString("rightStretch")] = cg.readEntry("rightStretch", "2");
@ -523,20 +512,42 @@ void AwesomeWidget::configChanged()
configuration[QString("acOffile")] = cg.readEntry("acOffile", "( )");
// tooltip
tooltipValues.clear();
configuration[QString("tooltipNumber")] = cg.readEntry("tooltipNumber", "100");
configuration[QString("useTooltipBackground")] = cg.readEntry("useTooltipBackground", "2");
configuration[QString("tooltipBackground")] = cg.readEntry("tooltipBackground", "#ffffff");
configuration[QString("cpuTooltip")] = cg.readEntry("cpuTooltip", "2");
if (configuration[QString("cpuTooltip")].toInt() == 2) {
tooltipValues[QString("cpu")].append(0.0);
tooltipValues[QString("cpu")].append(0.01);
}
configuration[QString("cpuColor")] = cg.readEntry("cpuColor", "#ff0000");
configuration[QString("cpuclTooltip")] = cg.readEntry("cpuclTooltip", "2");
if (configuration[QString("cpuclTooltip")].toInt() == 2) {
tooltipValues[QString("cpucl")].append(0.0);
tooltipValues[QString("cpucl")].append(0.01);
}
configuration[QString("cpuclColor")] = cg.readEntry("cpuclColor", "#00ff00");
configuration[QString("memTooltip")] = cg.readEntry("memTooltip", "2");
if (configuration[QString("memTooltip")].toInt() == 2) {
tooltipValues[QString("mem")].append(0.0);
tooltipValues[QString("mem")].append(0.01);
}
configuration[QString("memColor")] = cg.readEntry("memColor", "#0000ff");
configuration[QString("swapTooltip")] = cg.readEntry("swapTooltip", "2");
if (configuration[QString("swapTooltip")].toInt() == 2) {
tooltipValues[QString("swap")].append(0.0);
tooltipValues[QString("swap")].append(0.01);
}
configuration[QString("swapColor")] = cg.readEntry("swapColor", "#ffff00");
configuration[QString("downTooltip")] = cg.readEntry("downTooltip", "2");
if (configuration[QString("downTooltip")].toInt() == 2) {
tooltipValues[QString("down")].append(0.0);
tooltipValues[QString("down")].append(0.01);
tooltipValues[QString("up")].append(0.0);
tooltipValues[QString("up")].append(0.01);
}
configuration[QString("downColor")] = cg.readEntry("downColor", "#00ffff");
configuration[QString("upTooltip")] = cg.readEntry("upTooltip", "2");
configuration[QString("upColor")] = cg.readEntry("upColor", "#ff00ff");
// appearance
@ -570,9 +581,7 @@ void AwesomeWidget::configChanged()
counts[QString("tooltip")] += configuration[QString("cpuclTooltip")].toInt();
counts[QString("tooltip")] += configuration[QString("memTooltip")].toInt();
counts[QString("tooltip")] += configuration[QString("swapTooltip")].toInt();
if ((configuration[QString("downTooltip")].toInt() == 2) ||
(configuration[QString("upTooltip")].toInt() == 2))
counts[QString("tooltip")] += 2;
counts[QString("tooltip")] += configuration[QString("downTooltip")].toInt();
counts[QString("tooltip")] = counts[QString("tooltip")] / 2;
reinit();
@ -610,7 +619,7 @@ void AwesomeWidget::contextMenuCustomCommand(const QPoint pos)
if (uiDEConfig.tableWidget_customCommand->currentItem() == 0) return;
QMenu menu(uiDEConfig.tableWidget_customCommand);
QAction *remove = menu.addAction(i18n("Remove"));
QAction *remove = menu.addAction(QIcon("edit-delete"), i18n("Remove"));
QAction *action = menu.exec(uiDEConfig.tableWidget_customCommand->viewport()->mapToGlobal(pos));
if (action == remove)
uiDEConfig.tableWidget_customCommand->removeRow(
@ -624,7 +633,7 @@ void AwesomeWidget::contextMenuPkgCommand(const QPoint pos)
if (uiDEConfig.tableWidget_pkgCommand->currentItem() == 0) return;
QMenu menu(uiDEConfig.tableWidget_pkgCommand);
QAction *remove = menu.addAction(i18n("Remove"));
QAction *remove = menu.addAction(QIcon("edit-delete"), i18n("Remove"));
QAction *action = menu.exec(uiDEConfig.tableWidget_pkgCommand->viewport()->mapToGlobal(pos));
if (action == remove)
uiDEConfig.tableWidget_pkgCommand->removeRow(

View File

@ -18,6 +18,7 @@
#include "awesome-widget.h"
#include <QRegExp>
#include <math.h>
#include <pdebug/pdebug.h>
@ -33,23 +34,21 @@ void AwesomeWidget::connectToEngine()
extsysmonEngine->connectSource(QString("battery"),
this, configuration[QString("interval")].toInt());
// cpu
sysmonEngine->connectSource(QString("cpu/system/TotalLoad"),
this, configuration[QString("interval")].toInt());
regExp = QRegExp(QString("cpu.*"));
if (foundKeys.indexOf(regExp) > -1) {
sysmonEngine->connectSource(QString("cpu/system/TotalLoad"),
this, configuration[QString("interval")].toInt());
if (foundKeys.indexOf(regExp) > -1)
for (int i=0; i<counts[QString("cpu")]; i++)
sysmonEngine->connectSource(QString("cpu/cpu") + QString::number(i) + QString("/TotalLoad"),
this, configuration[QString("interval")].toInt());
}
// cpuclock
sysmonEngine->connectSource(QString("cpu/system/AverageClock"),
this, configuration[QString("interval")].toInt());
regExp = QRegExp(QString("cpucl.*"));
if (foundKeys.indexOf(regExp) > -1) {
sysmonEngine->connectSource(QString("cpu/system/AverageClock"),
this, configuration[QString("interval")].toInt());
if (foundKeys.indexOf(regExp) > -1)
for (int i=0; i<counts[QString("cpu")]; i++)
sysmonEngine->connectSource(QString("cpu/cpu") + QString::number(i) + QString("/clock"),
this, configuration[QString("interval")].toInt());
}
// custom command
regExp = QRegExp(QString("custom.*"));
if (foundKeys.indexOf(regExp) > -1)
@ -96,24 +95,18 @@ void AwesomeWidget::connectToEngine()
extsysmonEngine->connectSource(QString("hddtemp"),
this, configuration[QString("interval")].toInt());
// memory
regExp = QRegExp(QString("mem.*"));
if (foundKeys.indexOf(regExp) > -1) {
sysmonEngine->connectSource(QString("mem/physical/free"),
this, configuration[QString("interval")].toInt());
sysmonEngine->connectSource(QString("mem/physical/used"),
this, configuration[QString("interval")].toInt());
sysmonEngine->connectSource(QString("mem/physical/application"),
this, configuration[QString("interval")].toInt());
}
sysmonEngine->connectSource(QString("mem/physical/free"),
this, configuration[QString("interval")].toInt());
sysmonEngine->connectSource(QString("mem/physical/used"),
this, configuration[QString("interval")].toInt());
sysmonEngine->connectSource(QString("mem/physical/application"),
this, configuration[QString("interval")].toInt());
// network
regExp = QRegExp(QString("(down|up|netdev)"));
if (foundKeys.indexOf(regExp) > -1) {
networkDeviceUpdate = 0;
sysmonEngine->connectSource(QString("network/interfaces/") + values[QString("netdev")] + QString("/transmitter/data"),
this, configuration[QString("interval")].toInt());
sysmonEngine->connectSource(QString("network/interfaces/") + values[QString("netdev")] + QString("/receiver/data"),
this, configuration[QString("interval")].toInt());
}
networkDeviceUpdate = 0;
sysmonEngine->connectSource(QString("network/interfaces/") + values[QString("netdev")] + QString("/transmitter/data"),
this, configuration[QString("interval")].toInt());
sysmonEngine->connectSource(QString("network/interfaces/") + values[QString("netdev")] + QString("/receiver/data"),
this, configuration[QString("interval")].toInt());
// package manager
regExp = QRegExp(QString("pkgcount.*"));
if (foundKeys.indexOf(regExp) > -1)
@ -130,13 +123,10 @@ void AwesomeWidget::connectToEngine()
extsysmonEngine->connectSource(QString("ps"),
this, configuration[QString("interval")].toInt());
// swap
regExp = QRegExp(QString("swap.*"));
if (foundKeys.indexOf(regExp) > -1) {
sysmonEngine->connectSource(QString("mem/swap/free"),
this, configuration[QString("interval")].toInt());
sysmonEngine->connectSource(QString("mem/swap/used"),
this, configuration[QString("interval")].toInt());
}
sysmonEngine->connectSource(QString("mem/swap/free"),
this, configuration[QString("interval")].toInt());
sysmonEngine->connectSource(QString("mem/swap/used"),
this, configuration[QString("interval")].toInt());
// temp
regExp = QRegExp(QString("temp.*"));
if (foundKeys.indexOf(regExp) > -1)
@ -182,7 +172,8 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng
values[QString("bat")] = QString("%1").arg(data[QString("bat")].toFloat(), 3, 'f', 0);
} else if (sourceName == QString("cpu/system/TotalLoad")) {
values[QString("cpu")] = QString("%1").arg(data[QString("value")].toFloat(), 5, 'f', 1);
if (configuration[QString("cpuTooltip")].toInt() == 2)
if ((configuration[QString("cpuTooltip")].toInt() == 2) &&
(!isnan(data[QString("value")].toFloat())))
tooltipValues[QString("cpu")].append(data[QString("value")].toFloat());
} else if (sourceName.indexOf(cpuRegExp) > -1) {
QString number = sourceName;
@ -191,7 +182,8 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng
values[QString("cpu") + number] = QString("%1").arg(data[QString("value")].toFloat(), 5, 'f', 1);
} else if (sourceName == QString("cpu/system/AverageClock")) {
values[QString("cpucl")] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0);
if (configuration[QString("cpuclTooltip")].toInt() == 2)
if ((configuration[QString("cpuclTooltip")].toInt() == 2) &&
(!isnan(data[QString("value")].toFloat())))
tooltipValues[QString("cpucl")].append(data[QString("value")].toFloat());
} else if (sourceName.indexOf(cpuclRegExp) > -1) {
QString number = sourceName;
@ -274,28 +266,30 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng
break;
}
} else if (sourceName == QString("mem/physical/application")) {
values[QString("memappmb")] = QString("%1").arg(data[QString("value")].toFloat() / 1024.0, 0, 'f', 0);
values[QString("memappgb")] = QString("%1").arg(data[QString("value")].toFloat() / (1024.0 * 1024.0), 5, 'f', 1);
values[QString("memmb")] = QString("%1").arg(data[QString("value")].toFloat() / 1024.0, 0, 'f', 0);
values[QString("memgb")] = QString("%1").arg(data[QString("value")].toFloat() / (1024.0 * 1024.0), 5, 'f', 1);
} else if (sourceName == QString("mem/physical/free")) {
values[QString("memfreemb")] = QString("%1").arg(data[QString("value")].toFloat() / 1024.0, 0, 'f', 0);
values[QString("memfreegb")] = QString("%1").arg(data[QString("value")].toFloat() / (1024.0 * 1024.0), 5, 'f', 1);
} else if (sourceName == QString("mem/physical/used")) {
values[QString("memmb")] = QString("%1").arg(data[QString("value")].toFloat() / 1024.0, 0, 'f', 0);
values[QString("memgb")] = QString("%1").arg(data[QString("value")].toFloat() / (1024.0 * 1024.0), 5, 'f', 1);
values[QString("memusedmb")] = QString("%1").arg(data[QString("value")].toFloat() / 1024.0, 0, 'f', 0);
values[QString("memusedgb")] = QString("%1").arg(data[QString("value")].toFloat() / (1024.0 * 1024.0), 5, 'f', 1);
// total
values[QString("memtotmb")] = QString("%1").arg(
values[QString("memmb")].toInt() + values[QString("memfreemb")].toInt());
values[QString("memusedmb")].toInt() + values[QString("memfreemb")].toInt());
values[QString("memtotgb")] = QString("%1").arg(
values[QString("memgb")].toFloat() + values[QString("memfreegb")].toFloat(),
values[QString("memusedgb")].toFloat() + values[QString("memfreegb")].toFloat(),
5, 'f', 1);
// percentage
values[QString("mem")] = QString("%1").arg(100.0 * values[QString("memmb")].toFloat() / values[QString("memtotmb")].toFloat(),
5, 'f', 1);
if (configuration[QString("memTooltip")].toInt() == 2)
if ((configuration[QString("memTooltip")].toInt() == 2) &&
(!isnan(values[QString("mem")].toFloat())))
tooltipValues[QString("mem")].append(values[QString("mem")].toFloat());
} else if (sourceName.indexOf(netRecRegExp) > -1) {
values[QString("down")] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0);
if (configuration[QString("downTooltip")].toInt() == 2)
if ((configuration[QString("downTooltip")].toInt() == 2) &&
(!isnan(data[QString("value")].toFloat())))
tooltipValues[QString("down")].append(data[QString("value")].toFloat());
networkDeviceUpdate++;
if (networkDeviceUpdate == 30) {
@ -312,7 +306,8 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng
}
} else if (sourceName.indexOf(netTransRegExp) > -1) {
values[QString("up")] = QString("%1").arg(data[QString("value")].toFloat(), 4, 'f', 0);
if (configuration[QString("upTooltip")].toInt() == 2)
if ((configuration[QString("downTooltip")].toInt() == 2) &&
(!isnan(data[QString("value")].toFloat())))
tooltipValues[QString("up")].append(data[QString("value")].toFloat());
} else if (sourceName == QString("pkg")) {
for (int i=0; i<data.keys().count(); i++)
@ -341,7 +336,8 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng
// percentage
values[QString("swap")] = QString("%1").arg(100.0 * values[QString("swapmb")].toFloat() / values[QString("swaptotmb")].toFloat(),
5, 'f', 1);
if (configuration[QString("swapTooltip")].toInt() == 2)
if ((configuration[QString("swapTooltip")].toInt() == 2) &&
(!isnan(values[QString("swap")].toFloat())))
tooltipValues[QString("swap")].append(values[QString("swap")].toFloat());
} else if (sourceName.indexOf(tempRegExp) > -1) {
for (int i=0; i<counts[QString("temp")]; i++)
@ -386,19 +382,17 @@ void AwesomeWidget::disconnectFromEngine()
if (foundKeys.indexOf(regExp) > -1)
extsysmonEngine->disconnectSource(QString("battery"), this);
// cpu
sysmonEngine->disconnectSource(QString("cpu/system/TotalLoad"), this);
regExp = QRegExp(QString("cpu.*"));
if (foundKeys.indexOf(regExp) > -1) {
sysmonEngine->disconnectSource(QString("cpu/system/TotalLoad"), this);
if (foundKeys.indexOf(regExp) > -1)
for (int i=0; i<counts[QString("cpu")]; i++)
sysmonEngine->disconnectSource(QString("cpu/cpu") + QString::number(i) + QString("/TotalLoad"), this);
}
// cpuclock
sysmonEngine->disconnectSource(QString("cpu/system/AverageClock"), this);
regExp = QRegExp(QString("cpucl.*"));
if (foundKeys.indexOf(regExp) > -1) {
sysmonEngine->disconnectSource(QString("cpu/system/AverageClock"), this);
if (foundKeys.indexOf(regExp) > -1)
for (int i=0; i<counts[QString("cpu")]; i++)
sysmonEngine->disconnectSource(QString("cpu/cpu") + QString::number(i) + QString("/clock"), this);
}
// custom command
regExp = QRegExp(QString("custom.*"));
if (foundKeys.indexOf(regExp) > -1)
@ -435,18 +429,12 @@ void AwesomeWidget::disconnectFromEngine()
if (foundKeys.indexOf(regExp) > -1)
extsysmonEngine->disconnectSource(QString("hddtemp"), this);
// memory
regExp = QRegExp(QString("mem.*"));
if (foundKeys.indexOf(regExp) > -1) {
sysmonEngine->disconnectSource(QString("mem/physical/free"), this);
sysmonEngine->disconnectSource(QString("mem/physical/used"), this);
sysmonEngine->disconnectSource(QString("mem/physical/application"), this);
}
sysmonEngine->disconnectSource(QString("mem/physical/free"), this);
sysmonEngine->disconnectSource(QString("mem/physical/used"), this);
sysmonEngine->disconnectSource(QString("mem/physical/application"), this);
// network
regExp = QRegExp(QString("(down|up|netdev)"));
if (foundKeys.indexOf(regExp) > -1) {
sysmonEngine->disconnectSource(QString("network/interfaces/") + values[QString("netdev")] + QString("/transmitter/data"), this);
sysmonEngine->disconnectSource(QString("network/interfaces/") + values[QString("netdev")] + QString("/receiver/data"), this);
}
sysmonEngine->disconnectSource(QString("network/interfaces/") + values[QString("netdev")] + QString("/transmitter/data"), this);
sysmonEngine->disconnectSource(QString("network/interfaces/") + values[QString("netdev")] + QString("/receiver/data"), this);
// package manager
regExp = QRegExp(QString("pkgcount.*"));
if (foundKeys.indexOf(regExp) > -1)
@ -460,11 +448,8 @@ void AwesomeWidget::disconnectFromEngine()
if (foundKeys.indexOf(regExp) > -1)
extsysmonEngine->disconnectSource(QString("ps"), this);
// swap
regExp = QRegExp(QString("swap.*"));
if (foundKeys.indexOf(regExp) > -1) {
sysmonEngine->disconnectSource(QString("mem/swap/free"), this);
sysmonEngine->disconnectSource(QString("mem/swap/used"), this);
}
sysmonEngine->disconnectSource(QString("mem/swap/free"), this);
sysmonEngine->disconnectSource(QString("mem/swap/used"), this);
// temp
regExp = QRegExp(QString("temp.*"));
if (foundKeys.indexOf(regExp) > -1)

View File

@ -44,15 +44,15 @@ void AwesomeWidget::reinit()
setBackgroundHints(NoBackground);
else
setBackgroundHints(DefaultBackground);
if (configuration[QString("layout")].toInt() == 0)
mainLayout->setOrientation(Qt::Horizontal);
else
mainLayout->setOrientation(Qt::Vertical);
if (configuration[QString("leftStretch")].toInt() == 2)
mainLayout->addStretch(1);
if (configuration[QString("popup")].toInt() == 0)
textLabel->setPopupEnabled(true);
else
textLabel->setPopupEnabled(false);
updateText(true);
mainLayout->addItem(textLabel);
resize(10, 10);
if (configuration[QString("rightStretch")].toInt() == 2)
mainLayout->addStretch(1);
@ -62,8 +62,6 @@ void AwesomeWidget::reinit()
values[QString("netdev")] = getNetworkDevice();
// thread()->wait(60000);
connectToEngine();
updateText(true);
resize(10, 10);
}
@ -72,6 +70,7 @@ void AwesomeWidget::updateText(bool clear)
if (debug) qDebug() << PDEBUG;
QString text = configuration[QString("text")];
text.replace(QString("\n"), QString("<br>"));
if (!clear)
for (int i=0; i<foundKeys.count(); i++)
text.replace(QString("$") + foundKeys[i] + QString("$"), values[foundKeys[i]]);
@ -84,6 +83,7 @@ void AwesomeWidget::updateTooltip()
if (debug) qDebug() << PDEBUG;
toolTipView->resize(100.0 * counts[QString("tooltip")], 100.0);
// remove nan
// boundaries
QMap<QString, float> boundaries;
@ -92,14 +92,14 @@ void AwesomeWidget::updateTooltip()
boundaries[QString("mem")] = 100.0;
boundaries[QString("swap")] = 100.0;
boundaries[QString("down")] = 1.0;
if (configuration[QString("downTooltip")].toInt() == 2)
if (configuration[QString("downTooltip")].toInt() == 2) {
for (int i=0; i<tooltipValues[QString("down")].count(); i++)
if (boundaries[QString("down")] < tooltipValues[QString("down")][i])
boundaries[QString("down")] = tooltipValues[QString("down")][i];
if (configuration[QString("upTooltip")].toInt() == 2)
for (int i=0; i<tooltipValues[QString("up")].count(); i++)
if (boundaries[QString("down")] < tooltipValues[QString("up")][i])
boundaries[QString("down")] = tooltipValues[QString("up")][i];
}
boundaries[QString("up")] = boundaries[QString("down")];
// create image
@ -110,21 +110,28 @@ void AwesomeWidget::updateTooltip()
else
toolTipScene->setBackgroundBrush(QBrush(Qt::NoBrush));
bool down = false;
for (int i=0; i<tooltipValues.keys().count(); i++) {
float normX = 100.0 / tooltipValues[tooltipValues.keys()[i]].count();
float normY = 100.0 / (1.5 * boundaries[tooltipValues.keys()[i]]);
pen.setColor(QColor(configuration[tooltipValues.keys()[i] + QString("Color")]));
QStringList trueKeys;
if (tooltipValues.contains(QString("cpu"))) trueKeys.append(QString("cpu"));
if (tooltipValues.contains(QString("cpucl"))) trueKeys.append(QString("cpucl"));
if (tooltipValues.contains(QString("mem"))) trueKeys.append(QString("mem"));
if (tooltipValues.contains(QString("swap"))) trueKeys.append(QString("swap"));
if (tooltipValues.contains(QString("down"))) trueKeys.append(QString("down"));
if (tooltipValues.contains(QString("up"))) trueKeys.append(QString("up"));
for (int i=0; i<trueKeys.count(); i++) {
float normX = 100.0 / (tooltipValues[trueKeys[i]].count() + 0.0);
float normY = 100.0 / (1.5 * boundaries[trueKeys[i]]);
pen.setColor(QColor(configuration[trueKeys[i] + QString("Color")]));
float shift = i * 100.0;
if (down)
shift -= 100.0;
for (int j=0; j<tooltipValues[tooltipValues.keys()[i]].count()-1; j++) {
for (int j=0; j<tooltipValues[trueKeys[i]].count()-1; j++) {
float x1 = j * normX + shift;
float y1 = -tooltipValues[tooltipValues.keys()[i]][j] * normY;
float y1 = - tooltipValues[trueKeys[i]][j] * normY;
float x2 = (j + 1) * normX + shift;
float y2 = -tooltipValues[tooltipValues.keys()[i]][j+1] * normY;
float y2 = - tooltipValues[trueKeys[i]][j+1] * normY;
toolTipScene->addLine(x1, y1, x2, y2, pen);
}
if (tooltipValues.keys()[i] == QString("down"))
if (trueKeys[i] == QString("down"))
down = true;
}

View File

@ -1,77 +0,0 @@
/***************************************************************************
* This file is part of pytextmonitor *
* *
* pytextmonitor is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* pytextmonitor is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with pytextmonitor. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "awesome-widget.h"
#include <pdebug/pdebug.h>
void AwesomeWidget::initValues()
{
if (debug) qDebug() << PDEBUG;
}
void AwesomeWidget::reinit()
{
if (debug) qDebug() << PDEBUG;
mainLayout = new QGraphicsLinearLayout();
mainLayout->setContentsMargins(1, 1, 1, 1);
setLayout(mainLayout);
if (configuration[QString("background")].toInt() == 0)
setBackgroundHints(NoBackground);
else
setBackgroundHints(DefaultBackground);
if (configuration[QString("layout")].toInt() == 0)
mainLayout->setOrientation(Qt::Horizontal);
else
mainLayout->setOrientation(Qt::Vertical);
if (configuration[QString("leftStretch")].toInt() == 2)
mainLayout->addStretch(1);
if (configuration[QString("popup")].toInt() == 0)
textLabel->setPopupEnabled(true);
mainLayout->addItem(textLabel);
if (configuration[QString("rightStretch")].toInt() == 2)
mainLayout->addStretch(1);
keys = getKeys();
foundKeys = findKeys();
initValues();
values[QString("netdev")] = getNetworkDevice();
// thread()->wait(60000);
connectToEngine();
resize(10, 10);
}
void AwesomeWidget::updateText()
{
if (debug) qDebug() << PDEBUG;
QString text = configuration[QString("text")];
for (int i=0; i<foundKeys.count(); i++)
text.replace(QString("$") + foundKeys[i] + QString("$"), values[foundKeys[i]]);
textLabel->setText(text);
}
void AwesomeWidget::updateTooltip()
{
if (debug) qDebug() << PDEBUG;
}

View File

@ -376,19 +376,32 @@
<item>
<layout class="QHBoxLayout" name="layout_upColor">
<item>
<widget class="QCheckBox" name="checkBox_up">
<spacer name="spacer_upColorLeft">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_up">
<property name="minimumSize">
<size>
<width>200</width>
<width>180</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Upload speed color</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>

View File

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>700</width>
<height>594</height>
<height>600</height>
</rect>
</property>
<property name="sizePolicy">
@ -19,7 +19,7 @@
<property name="minimumSize">
<size>
<width>700</width>
<height>0</height>
<height>600</height>
</size>
</property>
<property name="maximumSize">