diff --git a/CHANGELOG b/CHANGELOG index f18149a..5cb3576 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +Ver.2.0.2: ++ add $fan* tags + Ver.2.0.1: + add support of custom interfaces * fix label edge's shading diff --git a/CHANGELOG-RU b/CHANGELOG-RU index 99a0b9d..d8100f6 100644 --- a/CHANGELOG-RU +++ b/CHANGELOG-RU @@ -1,3 +1,6 @@ +Вер.2.0.2: ++ добавлены теги $fan* + Вер.2.0.1: + добавлена поддержка кастомных интерфейсов * фикс затенения краев поля diff --git a/sources/awesome-widget/advanced.ui b/sources/awesome-widget/advanced.ui index 3268e7a..31eab86 100644 --- a/sources/awesome-widget/advanced.ui +++ b/sources/awesome-widget/advanced.ui @@ -43,7 +43,7 @@ 0 0 677 - 590 + 677 @@ -234,6 +234,30 @@ $m - uptime minutes without zero + + + + + + + 200 + 0 + + + + Fan devices + + + + + + + Editable + + + + + diff --git a/sources/awesome-widget/awesome-widget.cpp b/sources/awesome-widget/awesome-widget.cpp index 517ee99..268b69d 100644 --- a/sources/awesome-widget/awesome-widget.cpp +++ b/sources/awesome-widget/awesome-widget.cpp @@ -265,6 +265,8 @@ QStringList AwesomeWidget::getKeys() // temperature for (int i=counts[QString("temp")]-1; i>=0; i--) allKeys.append(QString("temp") + QString::number(i)); + for (int i=counts[QString("fan")]-1; i>=0; i--) + allKeys.append(QString("fan") + QString::number(i)); // gputemp allKeys.append(QString("gputemp")); // gpu diff --git a/sources/awesome-widget/awesome-widget.h b/sources/awesome-widget/awesome-widget.h index 4bc7e60..f256ea0 100644 --- a/sources/awesome-widget/awesome-widget.h +++ b/sources/awesome-widget/awesome-widget.h @@ -76,6 +76,7 @@ private slots: void addNewPkgCommand(QTableWidgetItem *item); void contextMenuCustomCommand(const QPoint pos); void contextMenuPkgCommand(const QPoint pos); + void editFanItem(QListWidgetItem *item); void editHddItem(QListWidgetItem *item); void editHddSpeedItem(QListWidgetItem *item); void editMountItem(QListWidgetItem *item); diff --git a/sources/awesome-widget/configuration.cpp b/sources/awesome-widget/configuration.cpp index 115473c..ab51e56 100644 --- a/sources/awesome-widget/configuration.cpp +++ b/sources/awesome-widget/configuration.cpp @@ -171,11 +171,16 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent) QString sensor = qoutput.split(QString("\n\n"))[i]; for (int j=0; j -1) { + if (device.contains(QChar(0260))) { QListWidgetItem *item = new QListWidgetItem(QString("lmsensors/") + sensor.split(QChar('\n'))[0] + QString("/") + device.split(QChar(':'))[0].replace(QChar(' '), QChar('_'))); item->setCheckState(Qt::Unchecked); uiAdvancedConfig.listWidget_tempDevice->addItem(item); + } else if (device.contains(QString("RPM"))) { + QListWidgetItem *item = new QListWidgetItem(QString("lmsensors/") + sensor.split(QChar('\n'))[0] + QString("/") + + device.split(QChar(':'))[0].replace(QChar(' '), QChar('_'))); + item->setCheckState(Qt::Unchecked); + uiAdvancedConfig.listWidget_fanDevice->addItem(item); } } } @@ -191,6 +196,18 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent) for (int j=0; jsetCheckState(Qt::Checked); } + for (int i=0; i items = uiAdvancedConfig.listWidget_fanDevice + ->findItems(configuration[QString("fanDevice")].split(QString("@@"))[i], Qt::MatchFixedString); + if ((items.isEmpty()) && + (!configuration[QString("fanDevice")].split(QString("@@"))[i].isEmpty())) { + QListWidgetItem *item = new QListWidgetItem(configuration[QString("fanDevice")].split(QString("@@"))[i]); + item->setCheckState(Qt::Checked); + uiAdvancedConfig.listWidget_fanDevice->addItem(item); + } else + for (int j=0; jsetCheckState(Qt::Checked); + } cmd = QString("mount"); if (debug) qDebug() << PDEBUG << ":" << "cmd" << cmd; process = runTask(cmd); @@ -392,6 +409,8 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent) parent->addPage(appWidget, i18n("Appearance"), QString("preferences-desktop-theme")); parent->addPage(deConfigWidget, i18n("DataEngine"), QString("utilities-system-monitor")); + connect(uiAdvancedConfig.listWidget_fanDevice, SIGNAL(itemActivated(QListWidgetItem *)), + this, SLOT(editFanItem(QListWidgetItem *))); connect(uiAdvancedConfig.listWidget_hddDevice, SIGNAL(itemActivated(QListWidgetItem *)), this, SLOT(editHddItem(QListWidgetItem *))); connect(uiAdvancedConfig.listWidget_hddSpeedDevice, SIGNAL(itemActivated(QListWidgetItem *)), @@ -448,6 +467,11 @@ void AwesomeWidget::configAccepted() items.append(uiAdvancedConfig.listWidget_tempDevice->item(i)->text()); cg.writeEntry("tempDevice", items.join(QString("@@"))); items.clear(); + for (int i=0; icount(); i++) + if (uiAdvancedConfig.listWidget_fanDevice->item(i)->checkState() == Qt::Checked) + items.append(uiAdvancedConfig.listWidget_fanDevice->item(i)->text()); + cg.writeEntry("fanDevice", items.join(QString("@@"))); + items.clear(); for (int i=0; icount(); i++) if (uiAdvancedConfig.listWidget_mount->item(i)->checkState() == Qt::Checked) items.append(uiAdvancedConfig.listWidget_mount->item(i)->text()); @@ -541,6 +565,7 @@ void AwesomeWidget::configChanged() configuration[QString("customUptime")] = cg.readEntry("customUptime", "$dd,$hh,$mm"); configuration[QString("tempUnits")] = cg.readEntry("tempUnits", "Celsius"); configuration[QString("tempDevice")] = cg.readEntry("tempDevice", ""); + configuration[QString("fanDevice")] = cg.readEntry("fanDevice", ""); configuration[QString("mount")] = cg.readEntry("mount", "/"); configuration[QString("hdd")] = cg.readEntry("hdd", "/dev/sda"); configuration[QString("disk")] = cg.readEntry("disk", "disk/sda_(8:0)"); @@ -621,6 +646,7 @@ void AwesomeWidget::configChanged() counts[QString("cpu")] = getNumberCpus(); counts[QString("custom")] = deSettings[QString("CUSTOM")].split(QString("@@")).count(); counts[QString("disk")] = configuration[QString("disk")].split(QString("@@")).count(); + counts[QString("fan")] = configuration[QString("fanDevice")].split(QString("@@")).count(); counts[QString("hddtemp")] = configuration[QString("hdd")].split(QString("@@")).count(); counts[QString("mount")] = configuration[QString("mount")].split(QString("@@")).count(); counts[QString("pkg")] = deSettings[QString("PKGCMD")].split(QChar(',')).count(); @@ -691,6 +717,14 @@ void AwesomeWidget::contextMenuPkgCommand(const QPoint pos) } +void AwesomeWidget::editFanItem(QListWidgetItem *item) +{ + if (debug) qDebug() << PDEBUG; + + uiAdvancedConfig.listWidget_fanDevice->openPersistentEditor(item); +} + + void AwesomeWidget::editHddItem(QListWidgetItem *item) { if (debug) qDebug() << PDEBUG; diff --git a/sources/awesome-widget/deinteraction.cpp b/sources/awesome-widget/deinteraction.cpp index 3e0c2ac..b6499ae 100644 --- a/sources/awesome-widget/deinteraction.cpp +++ b/sources/awesome-widget/deinteraction.cpp @@ -73,6 +73,12 @@ void AwesomeWidget::connectToEngine() sysmonEngine->connectSource(configuration[QString("disk")].split(QString("@@"))[i] + QString("/Rate/wblk"), this, configuration[QString("interval")].toInt()); } + // fan + regExp = QRegExp(QString("fan.*")); + if (foundKeys.indexOf(regExp) > -1) + for (int i=0; iconnectSource(configuration[QString("fanDevice")].split(QString("@@"))[i], + this, configuration[QString("interval")].toInt()); // gpu regExp = QRegExp(QString("gpu")); if (foundKeys.indexOf(regExp) > -1) @@ -384,11 +390,19 @@ void AwesomeWidget::dataUpdated(const QString &sourceName, const Plasma::DataEng tooltipValues[QString("swap")].append(values[QString("swap")].toFloat()); } } else if (sourceName.indexOf(tempRegExp) > -1) { - for (int i=0; idisconnectSource(configuration[QString("disk")].split(QString("@@"))[i] + QString("/Rate/rblk"), this); sysmonEngine->disconnectSource(configuration[QString("disk")].split(QString("@@"))[i] + QString("/Rate/wblk"), this); } + // fan + regExp = QRegExp(QString("fan.*")); + if (foundKeys.indexOf(regExp) > -1) + for (int i=0; idisconnectSource(configuration[QString("fanDevice")].split(QString("@@"))[i], this); // gpu regExp = QRegExp(QString("gpu")); if (foundKeys.indexOf(regExp) > -1)