From 8228d1d06ba3c3fb116ce195d8e9125dd46b2d71 Mon Sep 17 00:00:00 2001 From: arcan1s Date: Wed, 26 Aug 2015 00:24:55 +0300 Subject: [PATCH] Add filter feature to ExtUpgrade (ApiVer = 3) --- sources/awesomewidgets/extupgrade.cpp | 29 ++++++++++++++++++- sources/awesomewidgets/extupgrade.h | 4 +++ sources/awesomewidgets/extupgrade.ui | 23 +++++++++++++++ .../upgrade/default-arch.desktop | 3 +- .../upgrade/default-debian.desktop | 3 +- .../upgrade/default-fedora.desktop | 3 +- .../upgrade/default-mandriva.desktop | 3 +- .../upgrade/default-ubuntu.desktop | 3 +- sources/translations/awesome-widgets.pot | 5 +++- sources/translations/en.po | 7 +++-- sources/translations/es.po | 5 +++- sources/translations/fr.po | 5 +++- sources/translations/nl.po | 5 +++- sources/translations/pt_BR.po | 5 +++- sources/translations/ru.po | 7 +++-- sources/translations/uk.po | 5 +++- sources/translations/zh.po | 5 +++- sources/version.h.in | 2 +- 18 files changed, 104 insertions(+), 18 deletions(-) diff --git a/sources/awesomewidgets/extupgrade.cpp b/sources/awesomewidgets/extupgrade.cpp index 52e7738..d3b82f8 100644 --- a/sources/awesomewidgets/extupgrade.cpp +++ b/sources/awesomewidgets/extupgrade.cpp @@ -22,6 +22,7 @@ #include #include +#include #include #include @@ -68,6 +69,7 @@ ExtUpgrade *ExtUpgrade::copy(const QString fileName, const int number) item->setApiVersion(apiVersion()); item->setComment(comment()); item->setExecutable(executable()); + item->setFilter(filter()); item->setInterval(interval()); item->setName(name()); item->setNumber(number); @@ -85,6 +87,14 @@ QString ExtUpgrade::executable() const } +QString ExtUpgrade::filter() const +{ + if (debug) qDebug() << PDEBUG; + + return m_filter; +} + + int ExtUpgrade::null() const { if (debug) qDebug() << PDEBUG; @@ -110,6 +120,15 @@ void ExtUpgrade::setExecutable(const QString _executable) } +void ExtUpgrade::setFilter(const QString _filter) +{ + if (debug) qDebug() << PDEBUG; + if (debug) qDebug() << PDEBUG << ":" << "Filter" << _filter; + + m_filter = _filter; +} + + void ExtUpgrade::setNull(const int _null) { if (debug) qDebug() << PDEBUG; @@ -132,6 +151,8 @@ void ExtUpgrade::readConfiguration() settings.beginGroup(QString("Desktop Entry")); setExecutable(settings.value(QString("Exec"), m_executable).toString()); setNull(settings.value(QString("X-AW-Null"), m_null).toInt()); + // api == 3 + setFilter(settings.value(QString("X-AW-Filter"), m_filter).toString()); settings.endGroup(); } @@ -167,6 +188,7 @@ int ExtUpgrade::showConfiguration(const QVariant args) ui->lineEdit_comment->setText(comment()); ui->label_numberValue->setText(QString("%1").arg(number())); ui->lineEdit_command->setText(m_executable); + ui->lineEdit_filter->setText(m_filter); ui->checkBox_active->setCheckState(isActive() ? Qt::Checked : Qt::Unchecked); ui->spinBox_null->setValue(m_null); ui->spinBox_interval->setValue(interval()); @@ -178,6 +200,7 @@ int ExtUpgrade::showConfiguration(const QVariant args) setNumber(ui->label_numberValue->text().toInt()); setApiVersion(AWEUAPI); setExecutable(ui->lineEdit_command->text()); + setFilter(ui->lineEdit_filter->text()); setActive(ui->checkBox_active->checkState() == Qt::Checked); setNull(ui->spinBox_null->value()); setInterval(ui->spinBox_interval->value()); @@ -197,6 +220,7 @@ void ExtUpgrade::writeConfiguration() const settings.beginGroup(QString("Desktop Entry")); settings.setValue(QString("Exec"), m_executable); + settings.setValue(QString("X-AW-Filter"), m_filter); settings.setValue(QString("X-AW-Null"), m_null); settings.endGroup(); @@ -212,7 +236,9 @@ void ExtUpgrade::updateValue() if (debug) qDebug() << PDEBUG << ":" << "Error" << process->readAllStandardError(); QString qoutput = QTextCodec::codecForMib(106)->toUnicode(process->readAllStandardOutput()).trimmed(); - value[tag(QString("pkgcount"))] = qoutput.split(QChar('\n'), QString::SkipEmptyParts).count() - m_null; + value[tag(QString("pkgcount"))] = m_filter.isEmpty() ? + qoutput.split(QChar('\n'), QString::SkipEmptyParts).count() - m_null : + qoutput.split(QChar('\n'), QString::SkipEmptyParts).filter(QRegExp(m_filter)).count(); } @@ -224,6 +250,7 @@ void ExtUpgrade::translate() ui->label_comment->setText(i18n("Comment")); ui->label_number->setText(i18n("Tag")); ui->label_command->setText(i18n("Command")); + ui->label_filter->setText(i18n("Filter")); ui->checkBox_active->setText(i18n("Active")); ui->label_null->setText(i18n("Null")); ui->label_interval->setText(i18n("Interval")); diff --git a/sources/awesomewidgets/extupgrade.h b/sources/awesomewidgets/extupgrade.h index 69b75cb..1cdb3a7 100644 --- a/sources/awesomewidgets/extupgrade.h +++ b/sources/awesomewidgets/extupgrade.h @@ -31,6 +31,7 @@ class ExtUpgrade : public AbstractExtItem { Q_OBJECT Q_PROPERTY(QString executable READ executable WRITE setExecutable) + Q_PROPERTY(QString filter READ filter WRITE setFilter) Q_PROPERTY(int null READ null WRITE setNull) public: @@ -41,10 +42,12 @@ public: ExtUpgrade *copy(const QString fileName, const int number); // get methods QString executable() const; + QString filter() const; int null() const; QString uniq() const; // set methods void setExecutable(const QString _executable = QString("/usr/bin/true")); + void setFilter(const QString _filter = QString()); void setNull(const int _null = 0); public slots: @@ -63,6 +66,7 @@ private: void translate(); // properties QString m_executable = QString("/usr/bin/true"); + QString m_filter = QString(""); int m_null = 0; // internal properties int times = 0; diff --git a/sources/awesomewidgets/extupgrade.ui b/sources/awesomewidgets/extupgrade.ui index 234ee55..9b7e5ba 100644 --- a/sources/awesomewidgets/extupgrade.ui +++ b/sources/awesomewidgets/extupgrade.ui @@ -104,6 +104,29 @@ + + + + + + + 0 + 0 + + + + Filter + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + diff --git a/sources/awesomewidgets/upgrade/default-arch.desktop b/sources/awesomewidgets/upgrade/default-arch.desktop index a180267..e3bc5c0 100644 --- a/sources/awesomewidgets/upgrade/default-arch.desktop +++ b/sources/awesomewidgets/upgrade/default-arch.desktop @@ -4,7 +4,8 @@ Name=default-arch Comment=Archlinux upgrade info Exec=pacman -Qu X-AW-Active=false +X-AW-Filter= X-AW-Null=0 X-AW-Interval=3600 -X-AW-ApiVersion=2 +X-AW-ApiVersion=3 X-AW-Number=0 diff --git a/sources/awesomewidgets/upgrade/default-debian.desktop b/sources/awesomewidgets/upgrade/default-debian.desktop index a8b0c48..6f696d1 100644 --- a/sources/awesomewidgets/upgrade/default-debian.desktop +++ b/sources/awesomewidgets/upgrade/default-debian.desktop @@ -4,7 +4,8 @@ Name=default-debian Comment=Debian upgrade info Exec=apt-show-versions -u -b X-AW-Active=false +X-AW-Filter= X-AW-Null=0 X-AW-Interval=3600 -X-AW-ApiVersion=2 +X-AW-ApiVersion=3 X-AW-Number=1 diff --git a/sources/awesomewidgets/upgrade/default-fedora.desktop b/sources/awesomewidgets/upgrade/default-fedora.desktop index 595db6d..1097280 100644 --- a/sources/awesomewidgets/upgrade/default-fedora.desktop +++ b/sources/awesomewidgets/upgrade/default-fedora.desktop @@ -4,7 +4,8 @@ Name=default-fedora Comment=Fedora upgrade info Exec=yum list updates X-AW-Active=false +X-AW-Filter= X-AW-Null=3 X-AW-Interval=3600 -X-AW-ApiVersion=2 +X-AW-ApiVersion=3 X-AW-Number=2 diff --git a/sources/awesomewidgets/upgrade/default-mandriva.desktop b/sources/awesomewidgets/upgrade/default-mandriva.desktop index eea8dcb..ebc595c 100644 --- a/sources/awesomewidgets/upgrade/default-mandriva.desktop +++ b/sources/awesomewidgets/upgrade/default-mandriva.desktop @@ -4,7 +4,8 @@ Name=default-mandriva Comment=Mandriva upgrade info Exec=urpmq --auto-select X-AW-Active=false +X-AW-Filter= X-AW-Null=0 X-AW-Interval=3600 -X-AW-ApiVersion=2 +X-AW-ApiVersion=3 X-AW-Number=3 diff --git a/sources/awesomewidgets/upgrade/default-ubuntu.desktop b/sources/awesomewidgets/upgrade/default-ubuntu.desktop index 2c62f75..5550030 100644 --- a/sources/awesomewidgets/upgrade/default-ubuntu.desktop +++ b/sources/awesomewidgets/upgrade/default-ubuntu.desktop @@ -4,7 +4,8 @@ Name=default-ubuntu Comment=Ubuntu upgrade info Exec=aptitude search '~U' X-AW-Active=false +X-AW-Filter= X-AW-Null=0 X-AW-Interval=3600 -X-AW-ApiVersion=2 +X-AW-ApiVersion=3 X-AW-Number=4 diff --git a/sources/translations/awesome-widgets.pot b/sources/translations/awesome-widgets.pot index ed39350..7cec455 100644 --- a/sources/translations/awesome-widgets.pot +++ b/sources/translations/awesome-widgets.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-24 21:54+0300\n" +"POT-Creation-Date: 2015-08-24 23:21+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -448,6 +448,9 @@ msgstr "" msgid "Wrap spaces" msgstr "" +msgid "Filter" +msgstr "" + msgid "Null" msgstr "" diff --git a/sources/translations/en.po b/sources/translations/en.po index 25a5b55..d97fb70 100644 --- a/sources/translations/en.po +++ b/sources/translations/en.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-24 21:54+0300\n" -"PO-Revision-Date: 2015-08-24 21:55+0300\n" +"POT-Creation-Date: 2015-08-24 23:21+0300\n" +"PO-Revision-Date: 2015-08-24 23:21+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: English \n" "Language: ru\n" @@ -457,6 +457,9 @@ msgstr "Wrap colors" msgid "Wrap spaces" msgstr "Wrap spaces" +msgid "Filter" +msgstr "Filter" + msgid "Null" msgstr "Null" diff --git a/sources/translations/es.po b/sources/translations/es.po index cd4e8a5..d04361f 100644 --- a/sources/translations/es.po +++ b/sources/translations/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-24 21:54+0300\n" +"POT-Creation-Date: 2015-08-24 23:21+0300\n" "PO-Revision-Date: 2015-07-31 22:13+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: Spanish \n" @@ -467,6 +467,9 @@ msgstr "Color de la swap" msgid "Wrap spaces" msgstr "" +msgid "Filter" +msgstr "" + msgid "Null" msgstr "" diff --git a/sources/translations/fr.po b/sources/translations/fr.po index d2bd10d..864ffbe 100644 --- a/sources/translations/fr.po +++ b/sources/translations/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-24 21:54+0300\n" +"POT-Creation-Date: 2015-08-24 23:21+0300\n" "PO-Revision-Date: 2015-07-31 22:16+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: French \n" @@ -473,6 +473,9 @@ msgstr "Couleur de la mémoire d'échange" msgid "Wrap spaces" msgstr "" +msgid "Filter" +msgstr "" + msgid "Null" msgstr "" diff --git a/sources/translations/nl.po b/sources/translations/nl.po index c795875..a18132d 100644 --- a/sources/translations/nl.po +++ b/sources/translations/nl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Awesome widgets\n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-24 21:54+0300\n" +"POT-Creation-Date: 2015-08-24 23:21+0300\n" "PO-Revision-Date: 2015-08-20 22:52+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: Dutch \n" @@ -471,6 +471,9 @@ msgstr "Swap-kleur" msgid "Wrap spaces" msgstr "" +msgid "Filter" +msgstr "" + msgid "Null" msgstr "" diff --git a/sources/translations/pt_BR.po b/sources/translations/pt_BR.po index 667930a..007aaa3 100644 --- a/sources/translations/pt_BR.po +++ b/sources/translations/pt_BR.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-24 21:54+0300\n" +"POT-Creation-Date: 2015-08-24 23:21+0300\n" "PO-Revision-Date: 2015-07-31 22:21+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: Russian \n" @@ -462,6 +462,9 @@ msgstr "Cor da swap" msgid "Wrap spaces" msgstr "" +msgid "Filter" +msgstr "" + msgid "Null" msgstr "" diff --git a/sources/translations/ru.po b/sources/translations/ru.po index 1a24570..60ae234 100644 --- a/sources/translations/ru.po +++ b/sources/translations/ru.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-24 21:54+0300\n" -"PO-Revision-Date: 2015-08-24 21:55+0300\n" +"POT-Creation-Date: 2015-08-24 23:21+0300\n" +"PO-Revision-Date: 2015-08-24 23:22+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: Russian \n" "Language: ru\n" @@ -458,6 +458,9 @@ msgstr "Обработать цвета" msgid "Wrap spaces" msgstr "Обработать пробелы" +msgid "Filter" +msgstr "Фильтр" + msgid "Null" msgstr "Пустые строки" diff --git a/sources/translations/uk.po b/sources/translations/uk.po index e61feb4..76873ab 100644 --- a/sources/translations/uk.po +++ b/sources/translations/uk.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-24 21:54+0300\n" +"POT-Creation-Date: 2015-08-24 23:21+0300\n" "PO-Revision-Date: 2015-07-31 22:23+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: Ukrainian \n" @@ -467,6 +467,9 @@ msgstr "Колір swap" msgid "Wrap spaces" msgstr "" +msgid "Filter" +msgstr "" + msgid "Null" msgstr "" diff --git a/sources/translations/zh.po b/sources/translations/zh.po index 9db10ba..ab96a68 100644 --- a/sources/translations/zh.po +++ b/sources/translations/zh.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://github.com/arcan1s/awesome-widgets/issues\n" -"POT-Creation-Date: 2015-08-24 21:54+0300\n" +"POT-Creation-Date: 2015-08-24 23:21+0300\n" "PO-Revision-Date: 2015-07-31 22:24+0300\n" "Last-Translator: Evgeniy Alekseev \n" "Language-Team: Russian \n" @@ -469,6 +469,9 @@ msgstr "虚拟内存颜色" msgid "Wrap spaces" msgstr "" +msgid "Filter" +msgstr "" + msgid "Null" msgstr "" diff --git a/sources/version.h.in b/sources/version.h.in index e6647a2..6260599 100644 --- a/sources/version.h.in +++ b/sources/version.h.in @@ -18,7 +18,7 @@ // extscript api version #define AWESAPI 3 // extupgrade api version -#define AWEUAPI 2 +#define AWEUAPI 3 // extweather api version #define AWEWAPI 1 // available time keys