diff options
author | Robert Bieber <robby@bieberphoto.com> | 2010-08-13 06:04:32 +0000 |
---|---|---|
committer | Robert Bieber <robby@bieberphoto.com> | 2010-08-13 06:04:32 +0000 |
commit | 6dd974a7a3e1f42ba66ece2a9bb39560da8f50f5 (patch) | |
tree | 28f36b8be7474daf9abb3bbc997ae53fec4447ab | |
parent | b477463d9c85d6dbb57e2688a1fec00c8af147b1 (diff) | |
download | rockbox-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.cpp | 22 |
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)); |