Initial support of templates and so on (#71)

* Initial syntax is the following:

    * $template{{ some JS code here }} - simple template based on JS
      code inside. It works the same as lambda functions, but calculates
      only once.
    * aw_count(regex) - keys count found for given regex
    * aw_keys(regex, [separator]) - keys found for given regex and
      joined by using given separator
    * aw_names(regex, [separator]) - key names found for given regex and
      joined by using given separator (the same as previous but w\o $)

  The template and function syntax may be changed before release.

* replace `foreach` to `for (auto foo : bar)` and update CONTRIBUTING.md
  accordingly
This commit is contained in:
2016-01-30 00:07:47 +07:00
parent fba58c27e8
commit 1c78e0d779
23 changed files with 224 additions and 106 deletions

View File

@ -61,7 +61,7 @@ bool AWConfigHelper::exportConfiguration(QObject *nativeConfig,
QQmlPropertyMap *configuration
= static_cast<QQmlPropertyMap *>(nativeConfig);
settings.beginGroup(QString("plasmoid"));
foreach (QString key, configuration->keys()) {
for (auto key : configuration->keys()) {
QVariant value = configuration->value(key);
if (!value.isValid())
continue;
@ -70,13 +70,13 @@ bool AWConfigHelper::exportConfiguration(QObject *nativeConfig,
settings.endGroup();
// extensions
foreach (QString item, m_dirs) {
for (auto item : m_dirs) {
QStringList items
= QDir(QString("%1/%2").arg(m_baseDir).arg(item))
.entryList(QStringList() << QString("*.desktop"),
QDir::Files);
settings.beginGroup(item);
foreach (QString it, items)
for (auto it : items)
copyExtensions(it, item, settings, false);
settings.endGroup();
}
@ -112,9 +112,9 @@ QVariantMap AWConfigHelper::importConfiguration(const QString fileName,
// extensions
if (importExtensions) {
foreach (QString item, m_dirs) {
for (auto item : m_dirs) {
settings.beginGroup(item);
foreach (QString it, settings.childGroups())
for (auto it : settings.childGroups())
copyExtensions(it, item, settings, true);
settings.endGroup();
}
@ -137,7 +137,7 @@ QVariantMap AWConfigHelper::importConfiguration(const QString fileName,
// plasmoid configuration
if (importPlasmoid) {
settings.beginGroup(QString("plasmoid"));
foreach (QString key, settings.childKeys())
for (auto key : settings.childKeys())
configuration[key] = settings.value(key);
settings.endGroup();
}
@ -239,7 +239,7 @@ void AWConfigHelper::copyExtensions(const QString item, const QString type,
void AWConfigHelper::copySettings(QSettings &from, QSettings &to) const
{
foreach (QString key, from.childKeys())
for (auto key : from.childKeys())
to.setValue(key, from.value(key));
}