diff options
| author | Robert Bieber <robby@bieberphoto.com> | 2010-06-02 07:48:48 +0000 |
|---|---|---|
| committer | Robert Bieber <robby@bieberphoto.com> | 2010-06-02 07:48:48 +0000 |
| commit | 496bcf39c7070ad35c73610d2f2dd492cae8b94c (patch) | |
| tree | 8b881cfa1e4d466e7d0f125723250ccb6d5c04d5 /utils/themeeditor/parsetreenode.cpp | |
| parent | 7f10b0336e9aacd4fb21269da652671ff610aa05 (diff) | |
| download | rockbox-496bcf39c7070ad35c73610d2f2dd492cae8b94c.zip rockbox-496bcf39c7070ad35c73610d2f2dd492cae8b94c.tar.gz rockbox-496bcf39c7070ad35c73610d2f2dd492cae8b94c.tar.bz2 rockbox-496bcf39c7070ad35c73610d2f2dd492cae8b94c.tar.xz | |
Theme Editor: Fixed parsing and code generation for nested conditionals
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26467 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/themeeditor/parsetreenode.cpp')
| -rw-r--r-- | utils/themeeditor/parsetreenode.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/utils/themeeditor/parsetreenode.cpp b/utils/themeeditor/parsetreenode.cpp index 7530299..99fdbd8 100644 --- a/utils/themeeditor/parsetreenode.cpp +++ b/utils/themeeditor/parsetreenode.cpp @@ -25,6 +25,8 @@ #include "parsetreenode.h" #include "parsetreemodel.h" +int ParseTreeNode::openConditionals = 0; + /* Root element constructor */ ParseTreeNode::ParseTreeNode(struct skin_element* data) : parent(0), element(0), param(0), children() @@ -117,7 +119,8 @@ QString ParseTreeNode::genCode() const buffer.append(TAGSYM); buffer.append(children[i]->genCode()); } - buffer.append('\n'); + if(openConditionals == 0) + buffer.append('\n'); break; case SUBLINES: @@ -131,6 +134,7 @@ QString ParseTreeNode::genCode() const break; case CONDITIONAL: + openConditionals++; /* Inserts a %?, the tag renderer doesn't deal with the TAGSYM */ buffer.append(TAGSYM); buffer.append(CONDITIONSYM); @@ -145,6 +149,7 @@ QString ParseTreeNode::genCode() const buffer.append(ENUMLISTSEPERATESYM); } buffer.append(ENUMLISTCLOSESYM); + openConditionals--; break; case TAG: |