From 496bcf39c7070ad35c73610d2f2dd492cae8b94c Mon Sep 17 00:00:00 2001 From: Robert Bieber Date: Wed, 2 Jun 2010 07:48:48 +0000 Subject: 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 --- utils/themeeditor/parsetreenode.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'utils/themeeditor/parsetreenode.cpp') 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: -- cgit v1.1