diff --git a/sources/awesome-widget/package/contents/ui/widget.qml b/sources/awesome-widget/package/contents/ui/widget.qml index a90b784..1499f48 100644 --- a/sources/awesome-widget/package/contents/ui/widget.qml +++ b/sources/awesome-widget/package/contents/ui/widget.qml @@ -20,6 +20,7 @@ import QtQuick.Controls 1.3 as QtControls import QtQuick.Dialogs 1.2 as QtDialogs import org.kde.plasma.private.awesomewidget 1.0 +import "." Item { @@ -72,64 +73,7 @@ Item { backend: awKeys notifyBackend: awActions textArea: textPattern - groups: [ - { - 'label': i18n("AC"), - 'regexp': "^(ac|bat).*" - }, - { - 'label': i18n("Bars"), - 'regexp': "^bar.*" - }, - { - 'label': i18n("CPU"), - 'regexp': "^(cpu|gpu|la|ps|temp(?!erature)).*" - }, - { - 'label': i18n("Desktops"), - 'regexp': "^(n|t)?desktop(s)?" - }, - { - 'label': i18n("HDD"), - 'regexp': "^hdd.*" - }, - { - 'label': i18n("Memory"), - 'regexp': "^(mem|swap).*" - }, - { - 'label': i18n("Network"), - 'regexp': "^(netdev|(down|up(?!time)).*)" - }, - { - 'label': i18n("Music player"), - 'regexp': "(^|d|s)(album|artist|duration|progress|title)" - }, - { - 'label': i18n("Scripts"), - 'regexp': "^custom.*" - }, - { - 'label': i18n("Time"), - 'regexp': ".*time$" - }, - { - 'label': i18n("Quotes"), - 'regexp': "^(perc)?(ask|bid|price)(chg)?.*" - }, - { - 'label': i18n("Upgrades"), - 'regexp': "^pkgcount.*" - }, - { - 'label': i18n("Weathers"), - 'regexp': "^(weather(Id)?|humidity|pressure|temperature|timestamp)" - }, - { - 'label': i18n("Functions"), - 'regexp': "functions" - } - ] + groups: general.awTagRegexp } Row { diff --git a/sources/awesome-widget/plugin/awkeys.cpp b/sources/awesome-widget/plugin/awkeys.cpp index d6631d0..b80b57a 100644 --- a/sources/awesome-widget/plugin/awkeys.cpp +++ b/sources/awesome-widget/plugin/awkeys.cpp @@ -144,6 +144,10 @@ QStringList AWKeys::dictKeys(const bool sorted, const QString regexp) const qCDebug(LOG_AW) << "Should be sorted" << sorted << "and filter applied" << regexp; + // check if functions asked + if (regexp == QString("functions")) + return QString(STATIC_FUNCTIONS).split(QChar(',')); + QStringList allKeys = m_keyOperator->dictKeys(); // sort if required if (sorted) diff --git a/sources/qml/AWTagSelector.qml b/sources/qml/AWTagSelector.qml index b6268f0..1d30894 100644 --- a/sources/qml/AWTagSelector.qml +++ b/sources/qml/AWTagSelector.qml @@ -36,12 +36,7 @@ Row { textRole: "label" onCurrentIndexChanged: { - if (model[currentIndex]["regexp"] == "functions") - tags.model = ["{{\n\n}}", "template{{\n\n}}", - "aw_all<>{{}}", "aw_count<>{{}}", "aw_keys<>{{}}", - "aw_macro<>{{}}", "aw_names<>{{}}"] - else - tags.model = backend.dictKeys(true, model[currentIndex]["regexp"]) + tags.model = backend.dictKeys(true, model[currentIndex]["regexp"]) tags.currentIndex = -1 } } diff --git a/sources/qml/general.qml b/sources/qml/general.qml index 5e0b5ab..81d8807 100644 --- a/sources/qml/general.qml +++ b/sources/qml/general.qml @@ -41,54 +41,112 @@ QtObject { } // models - property variant fontStyleModel: [ + property variant awTagRegexp: [ { - 'label': i18n("normal"), - 'name': "normal" + "label": i18n("AC"), + "regexp": "^(ac|bat).*" }, { - 'label': i18n("italic"), - 'name': "italic" + "label": i18n("Bars"), + "regexp": "^bar.*" + }, + { + "label": i18n("CPU"), + "regexp": "^(cpu|gpu|la|ps|temp(?!erature)).*" + }, + { + "label": i18n("Desktops"), + "regexp": "^(n|t)?desktop(s)?" + }, + { + "label": i18n("HDD"), + "regexp": "^hdd.*" + }, + { + "label": i18n("Memory"), + "regexp": "^(mem|swap).*" + }, + { + "label": i18n("Network"), + "regexp": "^(netdev|(down|up(?!time)).*)" + }, + { + "label": i18n("Music player"), + "regexp": "(^|d|s)(album|artist|duration|progress|title)" + }, + { + "label": i18n("Scripts"), + "regexp": "^custom.*" + }, + { + "label": i18n("Time"), + "regexp": ".*time$" + }, + { + "label": i18n("Quotes"), + "regexp": "^(perc)?(ask|bid|price)(chg)?.*" + }, + { + "label": i18n("Upgrades"), + "regexp": "^pkgcount.*" + }, + { + "label": i18n("Weathers"), + "regexp": "^(weather(Id)?|humidity|pressure|temperature|timestamp)" + }, + { + "label": i18n("Functions"), + "regexp": "functions" + } + ] + property variant fontStyleModel: [ + { + "label": i18n("normal"), + "name": "normal" + }, + { + "label": i18n("italic"), + "name": "italic" } ] property variant fontWeightModel: [ { - 'label': i18n("light"), - 'name': "light" + "label": i18n("light"), + "name": "light" }, { - 'label': i18n("normal"), - 'name': "normal" + "label": i18n("normal"), + "name": "normal" }, { - 'label': i18n("demi bold"), - 'name': "demibold" + "label": i18n("demi bold"), + "name": "demibold" }, { - 'label': i18n("bold"), - 'name': "bold" + "label": i18n("bold"), + "name": "bold" }, { - 'label': i18n("black"), - 'name': "black" + "label": i18n("black"), + "name": "black" } ] property variant textStyleModel: [ { - 'label': i18n("normal"), - 'name': "normal" + "label": i18n("normal"), + "name": "normal" }, { - 'label': i18n("outline"), - 'name': "outline" + "label": i18n("outline"), + "name": "outline" }, { - 'label': i18n("raised"), - 'name': "raised" + "label": i18n("raised"), + "name": "raised" }, { - 'label': i18n("sunken"), - 'name': "sunken" + "label": i18n("sunken"), + "name": "sunken" } ] } diff --git a/sources/version.h.in b/sources/version.h.in index 12f7fd4..f97e97d 100644 --- a/sources/version.h.in +++ b/sources/version.h.in @@ -44,6 +44,9 @@ const int REQUEST_TIMEOUT = 3000; const char TIME_KEYS[] = "d,dd,ddd,dddd,M,MM,MMM,MMMM,yy,yyyy,h,hh,H,HH,m,mm,s,ss,t,a,ap,A,AP"; // static keys +const char STATIC_FUNCTIONS[] = "{{\n\n}},template{{\n\n}},aw_all<>{{}},aw_" + "count<>{{}},aw_keys<>{{}},aw_macro<>{{}},aw_" + "names<>{{}}"; const char STATIC_KEYS[] = "time,isotime,shorttime,longtime,tstime,ctime,uptime,cuptime,cpucl,cpu," "gputemp,gpu,memmb,memgb,memfreemb,memfreegb,memtotmb,memtotgb,memusedmb,"