diff options
Diffstat (limited to 'addon/configgen')
-rw-r--r-- | addon/configgen/config_templ.l | 2 | ||||
-rw-r--r-- | addon/configgen/configgen.cpp | 9 |
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) { |