diff options
| author | 2019-07-28 01:41:34 +0200 | |
|---|---|---|
| committer | 2019-07-28 01:41:34 +0200 | |
| commit | a817fcbaa3350a59790d9b264d8eb613df80703d (patch) | |
| tree | 22c186bf6441cd8b56bfcd736cf4161e5750bc58 /parsingtoolbox.cpp | |
| parent | 7f535260bbc2210bf8d605bac88546e9f18b2b05 (diff) | |
| download | OneRoll-a817fcbaa3350a59790d9b264d8eb613df80703d.tar.gz OneRoll-a817fcbaa3350a59790d9b264d8eb613df80703d.zip | |
Add bool return to manage no parameter on painter node
Diffstat (limited to 'parsingtoolbox.cpp')
| -rw-r--r-- | parsingtoolbox.cpp | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/parsingtoolbox.cpp b/parsingtoolbox.cpp index 4084825..7caeefe 100644 --- a/parsingtoolbox.cpp +++ b/parsingtoolbox.cpp @@ -661,28 +661,32 @@ ParsingToolBox::LIST_OPERATOR ParsingToolBox::readListOperator(QString& str) return NONE; } -void ParsingToolBox::readPainterParameter(PainterNode* painter, QString& str) +bool ParsingToolBox::readPainterParameter(PainterNode* painter, QString& str) { - if(str.startsWith('[')) - { - str= str.remove(0, 1); - int pos= str.indexOf(']'); + if(!str.startsWith('[')) + return false; + + str= str.remove(0, 1); + int pos= str.indexOf(']'); - if(pos > -1) + if(pos == -1) + return false; + + QString data= str.left(pos); + str= str.remove(0, pos + 1); + QStringList duos= data.split(','); + bool result= false; + for(QString& duoStr : duos) + { + QStringList keyValu= duoStr.split(':'); + if(keyValu.size() == 2) { - QString data= str.left(pos); - str= str.remove(0, pos + 1); - QStringList duos= data.split(','); - for(QString& duoStr : duos) - { - QStringList keyValu= duoStr.split(':'); - if(keyValu.size() == 2) - { - painter->insertColorItem(keyValu[1], keyValu[0].toInt()); - } - } + painter->insertColorItem(keyValu[1], keyValu[0].toInt()); + result= true; } } + + return result; } QHash<QString, QString> ParsingToolBox::getVariableHash() |