mirror of
https://github.com/arcan1s/awesome-widgets.git
synced 2025-04-24 15:37:23 +00:00
Add filter feature to ExtUpgrade (ApiVer = 3)
This commit is contained in:
parent
37726370ee
commit
8228d1d06b
@ -22,6 +22,7 @@
|
||||
|
||||
#include <QDebug>
|
||||
#include <QDir>
|
||||
#include <QRegExp>
|
||||
#include <QSettings>
|
||||
#include <QTextCodec>
|
||||
|
||||
@ -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"));
|
||||
|
@ -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;
|
||||
|
@ -104,6 +104,29 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="layout_filter">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_filter">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Filter</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit_filter"/>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="layout_active">
|
||||
<item>
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -448,6 +448,9 @@ msgstr ""
|
||||
msgid "Wrap spaces"
|
||||
msgstr ""
|
||||
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
|
||||
msgid "Null"
|
||||
msgstr ""
|
||||
|
||||
|
@ -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 <esalexeev@gmail.com>\n"
|
||||
"Language-Team: English <kde-russian@lists.kde.ru>\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"
|
||||
|
||||
|
@ -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 <esalexeev@gmail.com>\n"
|
||||
"Language-Team: Spanish <kde-russian@lists.kde.ru>\n"
|
||||
@ -467,6 +467,9 @@ msgstr "Color de la swap"
|
||||
msgid "Wrap spaces"
|
||||
msgstr ""
|
||||
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
|
||||
msgid "Null"
|
||||
msgstr ""
|
||||
|
||||
|
@ -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 <esalexeev@gmail.com>\n"
|
||||
"Language-Team: French <kde-russian@lists.kde.ru>\n"
|
||||
@ -473,6 +473,9 @@ msgstr "Couleur de la mémoire d'échange"
|
||||
msgid "Wrap spaces"
|
||||
msgstr ""
|
||||
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
|
||||
msgid "Null"
|
||||
msgstr ""
|
||||
|
||||
|
@ -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 <esalexeev@gmail.com>\n"
|
||||
"Language-Team: Dutch <kde-i18n-nl@kde.org>\n"
|
||||
@ -471,6 +471,9 @@ msgstr "Swap-kleur"
|
||||
msgid "Wrap spaces"
|
||||
msgstr ""
|
||||
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
|
||||
msgid "Null"
|
||||
msgstr ""
|
||||
|
||||
|
@ -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 <esalexeev@gmail.com>\n"
|
||||
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
||||
@ -462,6 +462,9 @@ msgstr "Cor da swap"
|
||||
msgid "Wrap spaces"
|
||||
msgstr ""
|
||||
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
|
||||
msgid "Null"
|
||||
msgstr ""
|
||||
|
||||
|
@ -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 <esalexeev@gmail.com>\n"
|
||||
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
||||
"Language: ru\n"
|
||||
@ -458,6 +458,9 @@ msgstr "Обработать цвета"
|
||||
msgid "Wrap spaces"
|
||||
msgstr "Обработать пробелы"
|
||||
|
||||
msgid "Filter"
|
||||
msgstr "Фильтр"
|
||||
|
||||
msgid "Null"
|
||||
msgstr "Пустые строки"
|
||||
|
||||
|
@ -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 <esalexeev@gmail.com>\n"
|
||||
"Language-Team: Ukrainian <kde-russian@lists.kde.ru>\n"
|
||||
@ -467,6 +467,9 @@ msgstr "Колір swap"
|
||||
msgid "Wrap spaces"
|
||||
msgstr ""
|
||||
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
|
||||
msgid "Null"
|
||||
msgstr ""
|
||||
|
||||
|
@ -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 <esalexeev@gmail.com>\n"
|
||||
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
||||
@ -469,6 +469,9 @@ msgstr "虚拟内存颜色"
|
||||
msgid "Wrap spaces"
|
||||
msgstr ""
|
||||
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
|
||||
msgid "Null"
|
||||
msgstr ""
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user