some update on graphical items

This commit is contained in:
arcan1s 2014-11-18 06:56:22 +03:00
parent f7b7d5b6b4
commit f56f319075
7 changed files with 49 additions and 17 deletions

View File

@ -397,7 +397,9 @@ QStringList AwesomeWidget::findGraphicalItems()
{
if (debug) qDebug() << PDEBUG;
QStringList orderedKeys = graphicalItems.keys();
QStringList orderedKeys;
for (int i=0; i<graphicalItems.count(); i++)
orderedKeys.append(graphicalItems[i]->getName() + graphicalItems[i]->getBar());
orderedKeys.sort();
QStringList selectedKeys;
for (int i=orderedKeys.count()-1; i>=0; i--)
@ -429,13 +431,27 @@ void AwesomeWidget::getGraphicalItems()
if (names.contains(files[j])) continue;
if (debug) qDebug() << PDEBUG << ":" << "Found file" << files[j] << "in" << dirs[i];
names.append(files[j]);
GraphicalItem *item = new GraphicalItem(0, files[j], dirs, debug);
graphicalItems[item->getName() + item->getBar()] = item;
graphicalItems.append(new GraphicalItem(0, files[j], dirs, debug));
}
}
}
GraphicalItem *AwesomeWidget::getItemByTag(const QString tag)
{
if (debug) qDebug() << PDEBUG;
GraphicalItem *item = nullptr;
for (int i=0; i< graphicalItems.count(); i++) {
if ((graphicalItems[i]->getName() + graphicalItems[i]->getBar()) != tag) continue;
item = graphicalItems[i];
break;
}
return item;
}
void AwesomeWidget::showKsysguard()
{
if (debug) qDebug() << PDEBUG;

View File

@ -107,6 +107,7 @@ private:
QStringList getKeys();
QStringList findGraphicalItems();
void getGraphicalItems();
GraphicalItem *getItemByTag(const QString tag);
QList<ExtScript *> initScripts();
// ui
QGraphicsGridLayout *mainLayout = nullptr;
@ -138,7 +139,7 @@ private:
// configuration
QMap<QString, QString> configuration;
QStringList diskDevices, keys, formatLine, foundKeys;
QMap<QString, GraphicalItem *> graphicalItems;
QList<GraphicalItem *> graphicalItems;
QStringList foundBars;
};

View File

@ -147,6 +147,8 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
uiWidConfig.textEdit_elements->setPlainText(configuration[QString("text")]);
uiWidConfig.comboBox_tags->clear();
uiWidConfig.comboBox_tags->addItems(getKeys());
for (int i=0; i<graphicalItems.count(); i++)
uiWidConfig.comboBox_tags->addItem(graphicalItems[i]->getName() + graphicalItems[i]->getBar());
// advanced
if (configuration[QString("background")].toInt() == 0)
@ -299,8 +301,8 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
uiAdvancedConfig.lineEdit_acOnline->setText(configuration[QString("acOnline")]);
uiAdvancedConfig.lineEdit_acOffline->setText(configuration[QString("acOffline")]);
uiAdvancedConfig.listWidget_bars->clear();
for (int i=0; i<graphicalItems.keys().count(); i++)
uiAdvancedConfig.listWidget_bars->addItem(new QListWidgetItem(graphicalItems.keys()[i]));
for (int i=0; i<graphicalItems.count(); i++)
uiAdvancedConfig.listWidget_bars->addItem(new QListWidgetItem(graphicalItems[i]->getFileName()));
if (configuration[QString("checkUpdates")].toInt() == 0)
uiAdvancedConfig.checkBox_updates->setCheckState(Qt::Unchecked);
else
@ -702,8 +704,8 @@ void AwesomeWidget::addBar()
int number = 0;
while (true) {
bool exit = true;
for (int i=0; i<graphicalItems.keys().count(); i++)
if (graphicalItems[graphicalItems.keys()[i]]->getName() == QString("bar%1").arg(number)) {
for (int i=0; i<graphicalItems.count(); i++)
if (graphicalItems[i]->getName() == QString("bar%1").arg(number)) {
number++;
exit = false;
break;
@ -787,7 +789,11 @@ void AwesomeWidget::editBar(QListWidgetItem *item)
bars.append(keys.filter((QRegExp(QString("hdd[0-9].*")))));
bars.append(keys.filter((QRegExp(QString("bat.*")))));
graphicalItems[item->text()]->showConfiguration(bars);
for (int i=0; i<graphicalItems.count(); i++) {
if (graphicalItems[i]->getFileName() != item->text()) continue;
graphicalItems[i]->showConfiguration(bars);
break;
}
}

View File

@ -205,7 +205,7 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng
values[data.keys()[i]] = QString("%1").arg(data[data.keys()[i]].toFloat(), 3, 'f', 0);
if (foundBars.indexOf(QRegExp(QString("bar[0-9].*bat"))) > -1) {
for (int j=0; j<foundBars.count(); j++) {
if (graphicalItems[foundBars[j]]->getBar() != data.keys()[i]) continue;
if (getItemByTag(foundBars[j])->getBar() != data.keys()[i]) continue;
values[foundBars[j]] = values[data.keys()[i]];
}
}
@ -224,7 +224,7 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng
values[QString("cpu")] = QString("%1").arg(data[QString("value")].toFloat(), 5, 'f', 1);
if (foundBars.indexOf(QRegExp(QString("bar[0-9].*cpu(?!cl).*"))) > -1) {
for (int j=0; j<foundBars.count(); j++) {
if (graphicalItems[foundBars[j]]->getBar() != QString("cpu")) continue;
if (getItemByTag(foundBars[j])->getBar() != QString("cpu")) continue;
values[foundBars[j]] = QString("%1").arg(data[QString("value")].toFloat());
}
}
@ -241,7 +241,7 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng
values[QString("cpu") + number] = QString("%1").arg(data[QString("value")].toFloat(), 5, 'f', 1);
if (foundBars.indexOf(QRegExp(QString("bar[0-9].*cpu(?!cl).*"))) > -1) {
for (int j=0; j<foundBars.count(); j++) {
if (graphicalItems[foundBars[j]]->getBar() != (QString("cpu") + number)) continue;
if (getItemByTag(foundBars[j])->getBar() != (QString("cpu") + number)) continue;
values[foundBars[j]] = values[QString("cpu") + number];
}
}
@ -285,7 +285,7 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng
values[QString("gpu")] = QString("%1").arg(data[QString("GPU")].toFloat(), 5, 'f', 1);
if (foundBars.indexOf(QRegExp(QString("bar[0-9].*gpu"))) > -1) {
for (int j=0; j<foundBars.count(); j++) {
if (graphicalItems[foundBars[j]]->getBar() != QString("gpu")) continue;
if (getItemByTag(foundBars[j])->getBar() != QString("gpu")) continue;
values[foundBars[j]] = values[QString("gpu")];
}
}
@ -300,7 +300,7 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng
values[QString("hdd") + QString::number(i)] = QString("%1").arg(data[QString("value")].toFloat(), 5, 'f', 1);
if (foundBars.indexOf(QRegExp(QString("bar[0-9].*hdd([0-9].*"))) > -1) {
for (int j=0; j<foundBars.count(); j++) {
if (graphicalItems[foundBars[j]]->getBar() != (QString("hdd") + QString::number(i))) continue;
if (getItemByTag(foundBars[j])->getBar() != (QString("hdd") + QString::number(i))) continue;
values[foundBars[j]] = values[QString("hdd") + QString::number(i)];
}
}
@ -370,7 +370,7 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng
}
if (foundBars.indexOf(QRegExp(QString("bar[0-9].*mem"))) > -1) {
for (int j=0; j<foundBars.count(); j++) {
if (graphicalItems[foundBars[j]]->getBar() != QString("mem")) continue;
if (getItemByTag(foundBars[j])->getBar() != QString("mem")) continue;
values[foundBars[j]] = values[QString("mem")];
}
}
@ -438,7 +438,7 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng
}
if (foundBars.indexOf(QRegExp(QString("bar[0-9].*swap"))) > -1) {
for (int j=0; j<foundBars.count(); j++) {
if (graphicalItems[foundBars[j]]->getBar() != QString("swap")) continue;
if (getItemByTag(foundBars[j])->getBar() != QString("swap")) continue;
values[foundBars[j]] = values[QString("swap")];
}
}

View File

@ -126,6 +126,14 @@ QString GraphicalItem::getImage(const float value)
}
QString GraphicalItem::getFileName()
{
if (debug) qDebug() << PDEBUG;
return fileName;
}
QString GraphicalItem::getName()
{
if (debug) qDebug() << PDEBUG;

View File

@ -45,6 +45,7 @@ public:
~GraphicalItem();
QString getImage(const float value);
// get methods
QString getFileName();
QString getName();
QString getComment();
QString getBar();

View File

@ -85,7 +85,7 @@ void AwesomeWidget::updateText(const bool clear)
for (int i=0; i<foundKeys.count(); i++)
text.replace(QString("$") + foundKeys[i], values[foundKeys[i]]);
for (int i=0; i<foundBars.count(); i++)
text.replace(QString("$") + foundBars[i], graphicalItems[foundBars[i]]->getImage(values[foundBars[i]].toFloat()));
text.replace(QString("$") + foundBars[i], getItemByTag(foundBars[i])->getImage(values[foundBars[i]].toFloat()));
text.replace(QString("$\\$\\"), QString("$$"));
}
textLabel->setText(formatLine[0] + text + formatLine[1]);