summaryrefslogtreecommitdiff
path: root/utils/themeeditor/models
diff options
context:
space:
mode:
Diffstat (limited to 'utils/themeeditor/models')
-rw-r--r--utils/themeeditor/models/parsetreenode.cpp8
-rw-r--r--utils/themeeditor/models/parsetreenode.h1
2 files changed, 8 insertions, 1 deletions
diff --git a/utils/themeeditor/models/parsetreenode.cpp b/utils/themeeditor/models/parsetreenode.cpp
index 0a500bf..1fda29f 100644
--- a/utils/themeeditor/models/parsetreenode.cpp
+++ b/utils/themeeditor/models/parsetreenode.cpp
@@ -31,6 +31,7 @@
#include <iostream>
int ParseTreeNode::openConditionals = 0;
+bool ParseTreeNode::breakFlag = false;
/* Root element constructor */
ParseTreeNode::ParseTreeNode(struct skin_element* data)
@@ -520,8 +521,11 @@ void ParseTreeNode::render(const RBRenderInfo &info, RBViewport* viewport,
{
for(int i = 0; i < children.count(); i++)
children[i]->render(info, viewport);
- if(!noBreak)
+ if(!noBreak && !breakFlag)
viewport->newLine();
+
+ if(breakFlag)
+ breakFlag = false;
}
else if(element->type == TEXT)
{
@@ -531,6 +535,8 @@ void ParseTreeNode::render(const RBRenderInfo &info, RBViewport* viewport,
{
if(!execTag(info, viewport))
viewport->write(evalTag(info).toString());
+ if(element->tag->flags & NOBREAK)
+ breakFlag = true;
}
else if(element->type == CONDITIONAL)
{
diff --git a/utils/themeeditor/models/parsetreenode.h b/utils/themeeditor/models/parsetreenode.h
index 82ede05..ca01ddd 100644
--- a/utils/themeeditor/models/parsetreenode.h
+++ b/utils/themeeditor/models/parsetreenode.h
@@ -79,6 +79,7 @@ private:
QList<ParseTreeNode*> children;
static int openConditionals;
+ static bool breakFlag;
QGraphicsItem* rendered;
};