summaryrefslogtreecommitdiffstats
path: root/addon/configgen
diff options
context:
space:
mode:
Diffstat (limited to 'addon/configgen')
-rw-r--r--addon/configgen/config_templ.l2
-rw-r--r--addon/configgen/configgen.cpp9
2 files changed, 10 insertions, 1 deletions
diff --git a/addon/configgen/config_templ.l b/addon/configgen/config_templ.l
index ff570de..e98ace9 100644
--- a/addon/configgen/config_templ.l
+++ b/addon/configgen/config_templ.l
@@ -272,6 +272,8 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# All text after a hash (#) is considered a comment and will be ignored\n";
t << "# The format is:\n";
t << "# TAG = value [value, ...]\n";
+ t << "# For lists items can also be appended using:\n";
+ t << "# TAG += value [value, ...]\n";
t << "# Values that contain spaces should be placed between quotes (\" \")\n";
}
#CONFIG Template
diff --git a/addon/configgen/configgen.cpp b/addon/configgen/configgen.cpp
index 3fd3c1b..eeba328 100644
--- a/addon/configgen/configgen.cpp
+++ b/addon/configgen/configgen.cpp
@@ -27,7 +27,7 @@
#include <stdio.h>
#include <stdlib.h>
-#define MAX_OPTION_LENGTH 22
+#define MAX_OPTION_LENGTH 23
static QString spaces=" ";
@@ -259,10 +259,17 @@ class ConfigList : public ConfigOption
const char * short_,const char * long_,WidgetType w=String);
virtual void printRules(QTextStream &t)
{
+ // rule for assignment
t << "<Start>\"" << cfgName << "\"[ \\t]*\"=\"";
t << spaces.left(MAX_OPTION_LENGTH-cfgName.length());
t << "{ BEGIN(GetStrList); l=&Config::" << varName;
t << "; l->clear(); elemStr=\"\"; }" << endl;
+
+ // rule for appending
+ t << "<Start>\"" << cfgName << "\"[ \\t]*\"+=\"";
+ t << spaces.left(MAX_OPTION_LENGTH-cfgName.length()-1);
+ t << "{ BEGIN(GetStrList); l=&Config::" << varName;
+ t << "; elemStr=\"\"; }" << endl;
}
virtual void printInit(QTextStream &t)
{