summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Bieber <robby@bieberphoto.com>2010-08-13 06:04:32 +0000
committerRobert Bieber <robby@bieberphoto.com>2010-08-13 06:04:32 +0000
commit6dd974a7a3e1f42ba66ece2a9bb39560da8f50f5 (patch)
tree28f36b8be7474daf9abb3bbc997ae53fec4447ab
parentb477463d9c85d6dbb57e2688a1fec00c8af147b1 (diff)
downloadrockbox-6dd974a7a3e1f42ba66ece2a9bb39560da8f50f5.tar.gz
rockbox-6dd974a7a3e1f42ba66ece2a9bb39560da8f50f5.zip
Theme Editor: Enabled __list_icons__ special file name for %xl tags
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27799 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--utils/themeeditor/models/parsetreenode.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/utils/themeeditor/models/parsetreenode.cpp b/utils/themeeditor/models/parsetreenode.cpp
index ad80ac6f2e..cd50718a52 100644
--- a/utils/themeeditor/models/parsetreenode.cpp
+++ b/utils/themeeditor/models/parsetreenode.cpp
@@ -640,6 +640,7 @@ bool ParseTreeNode::execTag(const RBRenderInfo& info, RBViewport* viewport)
640 int x, y, tiles, tile, maxWidth, maxHeight, width, height; 640 int x, y, tiles, tile, maxWidth, maxHeight, width, height;
641 char c, hAlign, vAlign; 641 char c, hAlign, vAlign;
642 RBImage* image; 642 RBImage* image;
643 QPixmap temp;
643 644
644 /* Two switch statements to narrow down the tag name */ 645 /* Two switch statements to narrow down the tag name */
645 switch(element->tag->name[0]) 646 switch(element->tag->name[0])
@@ -774,14 +775,27 @@ bool ParseTreeNode::execTag(const RBRenderInfo& info, RBViewport* viewport)
774 case 'l': 775 case 'l':
775 /* %xl */ 776 /* %xl */
776 id = element->params[0].data.text; 777 id = element->params[0].data.text;
777 filename = info.settings()->value("imagepath", "") + "/" + 778 if(element->params[1].data.text == QString("__list_icons__"))
778 element->params[1].data.text; 779 {
780 filename = info.settings()->value("iconset", "");
781 filename.replace(".rockbox",
782 info.settings()->value("themebase"));
783 temp.load(filename);
784 if(!temp.isNull())
785 {
786 tiles = temp.height() / temp.width();
787 }
788 }
789 else
790 {
791 filename = info.settings()->value("imagepath", "") + "/" +
792 element->params[1].data.text;
793 tiles = 1;
794 }
779 x = element->params[2].data.number; 795 x = element->params[2].data.number;
780 y = element->params[3].data.number; 796 y = element->params[3].data.number;
781 if(element->params_count > 4) 797 if(element->params_count > 4)
782 tiles = element->params[4].data.number; 798 tiles = element->params[4].data.number;
783 else
784 tiles = 1;
785 799
786 info.screen()->loadImage(id, new RBImage(filename, tiles, x, y, 800 info.screen()->loadImage(id, new RBImage(filename, tiles, x, y,
787 this, viewport)); 801 this, viewport));