This commit is contained in:
arcan1s 2014-08-30 18:14:56 +04:00
parent 7cd80e14a7
commit 96cfeb520d
4 changed files with 150 additions and 1 deletions

View File

@ -20,10 +20,12 @@
#include <QGraphicsLinearLayout> #include <QGraphicsLinearLayout>
#include <QNetworkInterface> #include <QNetworkInterface>
#include <QProcessEnvironment> #include <QProcessEnvironment>
#include <QTextCodec>
#include <QTimer> #include <QTimer>
#include "customlabel.h" #include "customlabel.h"
#include <pdebug/pdebug.h> #include <pdebug/pdebug.h>
#include <task/taskadds.h>
AwesomeWidget::AwesomeWidget(QObject *parent, const QVariantList &args) AwesomeWidget::AwesomeWidget(QObject *parent, const QVariantList &args)
@ -68,6 +70,20 @@ QString AwesomeWidget::getNetworkDevice()
} }
int AwesomeWidget::getNumberCpus()
{
if (debug) qDebug() << PDEBUG;
QString cmd = QString("grep -c '^processor' /proc/cpuinfo");
if (debug) qDebug() << PDEBUG << ":" << "cmd" << cmd;
TaskResult process = runTask(cmd);
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
if (process.exitCode != 0)
if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
return QTextCodec::codecForMib(106)->toUnicode(process.output).toInt();
}
void AwesomeWidget::init() void AwesomeWidget::init()
{ {
if (debug) qDebug() << PDEBUG; if (debug) qDebug() << PDEBUG;
@ -93,6 +109,109 @@ void AwesomeWidget::init()
} }
QStringList AwesomeWidget::findKeys()
{
if (debug) qDebug() << PDEBUG;
QStringList selectedKeys;
return selectedKeys;
}
QStringList AwesomeWidget::getKeys()
{
if (debug) qDebug() << PDEBUG;
QStringList allKeys;
int numCpus = getNumberCpus();
QMap<QString, QString> deSettings = readDataEngineConfiguration();
// time
allKeys.append(QString("time"));
allKeys.append(QString("isotime"));
allKeys.append(QString("shorttime"));
allKeys.append(QString("longtime"));
allKeys.append(QString("ctime"));
// uptime
allKeys.append(QString("uptime"));
allKeys.append(QString("cuptime"));
// cpu
allKeys.append(QString("cpu"));
for (int i=0; i<numCpus; i++)
allKeys.append(QString("cpu") + QString::number(i));
// cpuclock
allKeys.append(QString("cpucl"));
for (int i=0; i<numCpus; i++)
allKeys.append(QString("cpucl") + QString::number(i));
// temperature
for (int i=0; i<configuration[QString("tempDevice")].split(QString("@@")).count(); i++)
allKeys.append(QString("temp") + QString::number(i));
// gpu
allKeys.append(QString("gpu"));
// gputemp
allKeys.append(QString("gputemp"));
// memory
allKeys.append(QString("mem"));
allKeys.append(QString("memmb"));
allKeys.append(QString("memgb"));
allKeys.append(QString("memtotmb"));
allKeys.append(QString("memtotgb"));
// swap
allKeys.append(QString("swap"));
allKeys.append(QString("swapmb"));
allKeys.append(QString("swapgb"));
allKeys.append(QString("swaptotmb"));
allKeys.append(QString("swaptotgb"));
// hdd
for (int i=0; i<configuration[QString("mount")].split(QString("@@")).count(); i++) {
allKeys.append(QString("hdd") + QString::number(i));
allKeys.append(QString("hddmb") + QString::number(i));
allKeys.append(QString("hddgb") + QString::number(i));
allKeys.append(QString("hddtotmb") + QString::number(i));
allKeys.append(QString("hddtotgb") + QString::number(i));
}
// hdd speed
for (int i=0; i<configuration[QString("disk")].split(QString("@@")).count(); i++) {
allKeys.append(QString("hddr") + QString::number(i));
allKeys.append(QString("hddw") + QString::number(i));
}
// hdd temp
for (int i=0; i<configuration[QString("hdd")].split(QString("@@")).count(); i++) {
allKeys.append(QString("hddtemp") + QString::number(i));
allKeys.append(QString("hddtemp") + QString::number(i));
}
// network
allKeys.append(QString("down"));
allKeys.append(QString("up"));
allKeys.append(QString("netdev"));
// battery
allKeys.append(QString("bat"));
allKeys.append(QString("ac"));
// player
allKeys.append(QString("album"));
allKeys.append(QString("artist"));
allKeys.append(QString("duration"));
allKeys.append(QString("progress"));
allKeys.append(QString("title"));
// ps
allKeys.append(QString("ps"));
allKeys.append(QString("pscount"));
allKeys.append(QString("pstotal"));
// package manager
for (int i=0; i<deSettings[QString("PKGCMD")].split(QChar(',')).count(); i++)
allKeys.append(QString("pkgcount") + QString::number(i));
// custom
for (int i=0; i<deSettings[QString("CUSTOM")].split(QString("@@")).count(); i++)
allKeys.append(QString("custom") + QString::number(i));
// desktop
allKeys.append(QString("desktop"));
allKeys.append(QString("ndesktop"));
allKeys.append(QString("tdesktops"));
return allKeys;
}
//QString DesktopPanel::parsePattern(const QString rawLine, const int num) //QString DesktopPanel::parsePattern(const QString rawLine, const int num)
//{ //{
// if (debug) qDebug() << PDEBUG; // if (debug) qDebug() << PDEBUG;

View File

@ -40,6 +40,7 @@ public:
AwesomeWidget(QObject *parent, const QVariantList &args); AwesomeWidget(QObject *parent, const QVariantList &args);
~AwesomeWidget(); ~AwesomeWidget();
QString getNetworkDevice(); QString getNetworkDevice();
int getNumberCpus();
void init(); void init();
// de configuration // de configuration
QMap<QString, QString> readDataEngineConfiguration(); QMap<QString, QString> readDataEngineConfiguration();
@ -67,10 +68,12 @@ protected:
private: private:
// functions // functions
QTimer *timer; QStringList findKeys();
QStringList getKeys();
// ui // ui
QGraphicsLinearLayout *mainLayout; QGraphicsLinearLayout *mainLayout;
CustomLabel *textLabel; CustomLabel *textLabel;
QTimer *timer;
// values // values
QMap<QString, QString> values; QMap<QString, QString> values;
// debug // debug

View File

@ -223,6 +223,25 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
for (int j=0; j<items.count(); j++) for (int j=0; j<items.count(); j++)
items[j]->setCheckState(Qt::Checked); items[j]->setCheckState(Qt::Checked);
} }
cmd = QString("find /dev -name '[hms]d[a-z]'");
if (debug) qDebug() << PDEBUG << ":" << "cmd" << cmd;
process = runTask(cmd);
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
if (process.exitCode != 0)
if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output);
uiAdvancedConfig.listWidget_hddDevice->clear();
for (int i=0; i<qoutput.split(QChar('\n')).count(); i++) {
QListWidgetItem item = QListWidgetItem(qoutput.split(QChar('\n'))[i]);
item.setCheckState(Qt::Unchecked);
uiAdvancedConfig.listWidget_hddDevice->addItem(&item);
}
for (int i=0; i<configuration[QString("hdd")].split(QString("@@")).count(); i++) {
QList<QListWidgetItem *> items = uiAdvancedConfig.listWidget_hddDevice
->findItems(configuration[QString("hdd")].split(QString("@@"))[i], Qt::MatchFixedString);
for (int j=0; j<items.count(); j++)
items[j]->setCheckState(Qt::Checked);
}
if (configuration[QString("useCustomNetdev")].toInt() == 0) if (configuration[QString("useCustomNetdev")].toInt() == 0)
uiAdvancedConfig.checkBox_netdev->setCheckState(Qt::Unchecked); uiAdvancedConfig.checkBox_netdev->setCheckState(Qt::Unchecked);
else else
@ -385,6 +404,11 @@ void AwesomeWidget::configAccepted()
items.append(uiAdvancedConfig.listWidget_mount->item(i)->text()); items.append(uiAdvancedConfig.listWidget_mount->item(i)->text());
cg.writeEntry("mount", items.join(QString("@@"))); cg.writeEntry("mount", items.join(QString("@@")));
items.clear(); items.clear();
for (int i=0; i<uiAdvancedConfig.listWidget_hddDevice->count(); i++)
if (uiAdvancedConfig.listWidget_hddDevice->item(i)->checkState() == Qt::Checked)
items.append(uiAdvancedConfig.listWidget_hddDevice->item(i)->text());
cg.writeEntry("hdd", items.join(QString("@@")));
items.clear();
for (int i=0; i<uiAdvancedConfig.listWidget_hddSpeedDevice->count(); i++) for (int i=0; i<uiAdvancedConfig.listWidget_hddSpeedDevice->count(); i++)
if (uiAdvancedConfig.listWidget_hddSpeedDevice->item(i)->checkState() == Qt::Checked) if (uiAdvancedConfig.listWidget_hddSpeedDevice->item(i)->checkState() == Qt::Checked)
items.append(uiAdvancedConfig.listWidget_hddSpeedDevice->item(i)->text()); items.append(uiAdvancedConfig.listWidget_hddSpeedDevice->item(i)->text());
@ -470,6 +494,7 @@ void AwesomeWidget::configChanged()
configuration[QString("tempUnits")] = cg.readEntry("tempUnits", "Celsius"); configuration[QString("tempUnits")] = cg.readEntry("tempUnits", "Celsius");
configuration[QString("tempDevice")] = cg.readEntry("tempUnits", ""); configuration[QString("tempDevice")] = cg.readEntry("tempUnits", "");
configuration[QString("mount")] = cg.readEntry("mount", "/"); configuration[QString("mount")] = cg.readEntry("mount", "/");
configuration[QString("hdd")] = cg.readEntry("hdd", "/dev/sda");
configuration[QString("disk")] = cg.readEntry("disk", "disk/sda_(8:0)"); configuration[QString("disk")] = cg.readEntry("disk", "disk/sda_(8:0)");
configuration[QString("useCustomNetdev")] = cg.readEntry("useCustomNetdev", "0"); configuration[QString("useCustomNetdev")] = cg.readEntry("useCustomNetdev", "0");
configuration[QString("customNetdev")] = cg.readEntry("customNetdev", "lo"); configuration[QString("customNetdev")] = cg.readEntry("customNetdev", "lo");

View File

@ -48,6 +48,8 @@ void AwesomeWidget::reinit()
if (configuration[QString("rightStretch")].toInt() == 2) if (configuration[QString("rightStretch")].toInt() == 2)
mainLayout->addStretch(1); mainLayout->addStretch(1);
keys = getKeys();
foundKeys = findKeys();
values[QString("netdev")] = getNetworkDevice(); values[QString("netdev")] = getNetworkDevice();
// thread()->wait(60000); // thread()->wait(60000);
connectToEngine(); connectToEngine();