diff options
author | Robert Bieber <robby@bieberphoto.com> | 2010-06-02 06:41:41 +0000 |
---|---|---|
committer | Robert Bieber <robby@bieberphoto.com> | 2010-06-02 06:41:41 +0000 |
commit | e25c903bfecd78aac3a8f01aa8e75dc39e42df34 (patch) | |
tree | e755c327b46556276162842ccf0c54e659e77e34 /utils | |
parent | 4003f35dc79c4678526d2ee3a510963713ce88b8 (diff) | |
download | rockbox-e25c903bfecd78aac3a8f01aa8e75dc39e42df34.tar.gz rockbox-e25c903bfecd78aac3a8f01aa8e75dc39e42df34.zip |
Theme Editor: Fixed bugs in code generation and viewport parsing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26464 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils')
-rw-r--r-- | utils/themeeditor/parsetreenode.cpp | 13 | ||||
-rw-r--r-- | utils/themeeditor/skin_parser.c | 9 |
2 files changed, 15 insertions, 7 deletions
diff --git a/utils/themeeditor/parsetreenode.cpp b/utils/themeeditor/parsetreenode.cpp index 70124c338d..63555ae616 100644 --- a/utils/themeeditor/parsetreenode.cpp +++ b/utils/themeeditor/parsetreenode.cpp | |||
@@ -97,6 +97,14 @@ QString ParseTreeNode::genCode() const | |||
97 | { | 97 | { |
98 | 98 | ||
99 | case VIEWPORT: | 99 | case VIEWPORT: |
100 | buffer.append(children[0]->genCode()); | ||
101 | if(!children[0]->isParam() | ||
102 | && children[0]->getElement()->type == TAG) | ||
103 | buffer.append('\n'); | ||
104 | for(int i = 1; i < children.count(); i++) | ||
105 | buffer.append(children[i]->genCode()); | ||
106 | break; | ||
107 | |||
100 | case LINE: | 108 | case LINE: |
101 | for(int i = 0; i < children.count(); i++) | 109 | for(int i = 0; i < children.count(); i++) |
102 | { | 110 | { |
@@ -107,9 +115,10 @@ QString ParseTreeNode::genCode() const | |||
107 | if(children[i]->element->type == TAG) | 115 | if(children[i]->element->type == TAG) |
108 | buffer.append(TAGSYM); | 116 | buffer.append(TAGSYM); |
109 | buffer.append(children[i]->genCode()); | 117 | buffer.append(children[i]->genCode()); |
110 | if(element->type == LINE || i == 0) | 118 | buffer.append('\n'); |
111 | buffer.append('\n'); | ||
112 | } | 119 | } |
120 | if(children.count() == 0) | ||
121 | buffer.append('\n'); | ||
113 | break; | 122 | break; |
114 | 123 | ||
115 | case SUBLINES: | 124 | case SUBLINES: |
diff --git a/utils/themeeditor/skin_parser.c b/utils/themeeditor/skin_parser.c index 9ff4f90115..347d675b55 100644 --- a/utils/themeeditor/skin_parser.c +++ b/utils/themeeditor/skin_parser.c | |||
@@ -163,11 +163,7 @@ struct skin_element* skin_parse_viewport(char** document) | |||
163 | else | 163 | else |
164 | to_write = &(last->next); | 164 | to_write = &(last->next); |
165 | 165 | ||
166 | if(*cursor == '\n') | 166 | if(sublines) |
167 | { | ||
168 | cursor++; | ||
169 | } | ||
170 | else if(sublines) | ||
171 | { | 167 | { |
172 | *to_write = skin_parse_sublines(&cursor); | 168 | *to_write = skin_parse_sublines(&cursor); |
173 | last = *to_write; | 169 | last = *to_write; |
@@ -188,6 +184,9 @@ struct skin_element* skin_parse_viewport(char** document) | |||
188 | while(last->next) | 184 | while(last->next) |
189 | last = last->next; | 185 | last = last->next; |
190 | 186 | ||
187 | if(*cursor == '\n') | ||
188 | cursor++; | ||
189 | |||
191 | } | 190 | } |
192 | 191 | ||
193 | *document = cursor; | 192 | *document = cursor; |