From 32ff4e93bdc15a21faf23e46bd2e0eb659bf8f31 Mon Sep 17 00:00:00 2001 From: Robert Bieber Date: Sun, 4 Jul 2010 01:39:57 +0000 Subject: Theme Editor: Implemented a flags column in the tag table, removed the \n flag at the end of the param list and replaced it with a NOBREAK flag to prevent the renderer from inserting a line break at the end of the line. Modified the theme editor's renderer to accomodate this flag git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27268 a1c6a512-1295-4272-9138-f99709370657 --- utils/themeeditor/models/parsetreenode.cpp | 8 +++++++- utils/themeeditor/models/parsetreenode.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'utils/themeeditor/models') diff --git a/utils/themeeditor/models/parsetreenode.cpp b/utils/themeeditor/models/parsetreenode.cpp index 0a500bfbf2..1fda29fec7 100644 --- a/utils/themeeditor/models/parsetreenode.cpp +++ b/utils/themeeditor/models/parsetreenode.cpp @@ -31,6 +31,7 @@ #include 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 82ede05908..ca01ddd5ae 100644 --- a/utils/themeeditor/models/parsetreenode.h +++ b/utils/themeeditor/models/parsetreenode.h @@ -79,6 +79,7 @@ private: QList children; static int openConditionals; + static bool breakFlag; QGraphicsItem* rendered; }; -- cgit v1.2.3