summaryrefslogtreecommitdiff
path: root/utils/themeeditor
diff options
context:
space:
mode:
Diffstat (limited to 'utils/themeeditor')
-rw-r--r--utils/themeeditor/graphics/rbprogressbar.cpp8
-rw-r--r--utils/themeeditor/graphics/rbviewport.cpp10
-rw-r--r--utils/themeeditor/gui/devicestate.cpp6
-rw-r--r--utils/themeeditor/models/parsetreemodel.cpp4
-rw-r--r--utils/themeeditor/models/parsetreenode.cpp63
5 files changed, 53 insertions, 38 deletions
diff --git a/utils/themeeditor/graphics/rbprogressbar.cpp b/utils/themeeditor/graphics/rbprogressbar.cpp
index 027520f4da..206a835252 100644
--- a/utils/themeeditor/graphics/rbprogressbar.cpp
+++ b/utils/themeeditor/graphics/rbprogressbar.cpp
@@ -41,22 +41,22 @@ RBProgressBar::RBProgressBar(RBViewport *parent, const RBRenderInfo &info,
41 41
42 if(paramCount > 0 && params[0].type != skin_tag_parameter::DEFAULT) 42 if(paramCount > 0 && params[0].type != skin_tag_parameter::DEFAULT)
43 { 43 {
44 x = params[0].data.numeric; 44 x = params[0].data.number;
45 } 45 }
46 46
47 if(paramCount > 1 && params[1].type != skin_tag_parameter::DEFAULT) 47 if(paramCount > 1 && params[1].type != skin_tag_parameter::DEFAULT)
48 { 48 {
49 y = params[1].data.numeric; 49 y = params[1].data.number;
50 } 50 }
51 51
52 if(paramCount > 2 && params[2].type != skin_tag_parameter::DEFAULT) 52 if(paramCount > 2 && params[2].type != skin_tag_parameter::DEFAULT)
53 { 53 {
54 w = params[2].data.numeric; 54 w = params[2].data.number;
55 } 55 }
56 56
57 if(paramCount > 3 && params[3].type != skin_tag_parameter::DEFAULT) 57 if(paramCount > 3 && params[3].type != skin_tag_parameter::DEFAULT)
58 { 58 {
59 h = params[3].data.numeric; 59 h = params[3].data.number;
60 } 60 }
61 61
62 if(paramCount > 4 && params[4].type != skin_tag_parameter::DEFAULT) 62 if(paramCount > 4 && params[4].type != skin_tag_parameter::DEFAULT)
diff --git a/utils/themeeditor/graphics/rbviewport.cpp b/utils/themeeditor/graphics/rbviewport.cpp
index 96d7e8b276..e9c58eb6fb 100644
--- a/utils/themeeditor/graphics/rbviewport.cpp
+++ b/utils/themeeditor/graphics/rbviewport.cpp
@@ -97,24 +97,24 @@ RBViewport::RBViewport(skin_element* node, const RBRenderInfo& info)
97 break; 97 break;
98 } 98 }
99 /* Now we grab the info common to all viewports */ 99 /* Now we grab the info common to all viewports */
100 x = node->params[param++].data.numeric; 100 x = node->params[param++].data.number;
101 if(x < 0) 101 if(x < 0)
102 x = info.screen()->boundingRect().right() + x; 102 x = info.screen()->boundingRect().right() + x;
103 y = node->params[param++].data.numeric; 103 y = node->params[param++].data.number;
104 if(y < 0) 104 if(y < 0)
105 y = info.screen()->boundingRect().bottom() + y; 105 y = info.screen()->boundingRect().bottom() + y;
106 106
107 if(node->params[param].type == skin_tag_parameter::DEFAULT) 107 if(node->params[param].type == skin_tag_parameter::DEFAULT)
108 w = info.screen()->getWidth() - x; 108 w = info.screen()->getWidth() - x;
109 else 109 else
110 w = node->params[param].data.numeric; 110 w = node->params[param].data.number;
111 if(w < 0) 111 if(w < 0)
112 w = info.screen()->getWidth() + w - x; 112 w = info.screen()->getWidth() + w - x;
113 113
114 if(node->params[++param].type == skin_tag_parameter::DEFAULT) 114 if(node->params[++param].type == skin_tag_parameter::DEFAULT)
115 h = info.screen()->getHeight() - y; 115 h = info.screen()->getHeight() - y;
116 else 116 else
117 h = node->params[param].data.numeric; 117 h = node->params[param].data.number;
118 if(h < 0) 118 if(h < 0)
119 h = info.screen()->getHeight() + h - y; 119 h = info.screen()->getHeight() + h - y;
120 120
@@ -128,7 +128,7 @@ RBViewport::RBViewport(skin_element* node, const RBRenderInfo& info)
128 if(node->params[++param].type == skin_tag_parameter::DEFAULT) 128 if(node->params[++param].type == skin_tag_parameter::DEFAULT)
129 font = screen->getFont(1); 129 font = screen->getFont(1);
130 else 130 else
131 font = screen->getFont(node->params[param].data.numeric); 131 font = screen->getFont(node->params[param].data.number);
132 132
133 setPos(x, y); 133 setPos(x, y);
134 size = QRectF(0, 0, w, h); 134 size = QRectF(0, 0, w, h);
diff --git a/utils/themeeditor/gui/devicestate.cpp b/utils/themeeditor/gui/devicestate.cpp
index 89985bf730..e766a64835 100644
--- a/utils/themeeditor/gui/devicestate.cpp
+++ b/utils/themeeditor/gui/devicestate.cpp
@@ -225,7 +225,7 @@ QVariant DeviceState::data(QString tag, int paramCount,
225 QString path = tag[0].isLower() 225 QString path = tag[0].isLower()
226 ? data("file").toString() : data("nextfile").toString(); 226 ? data("file").toString() : data("nextfile").toString();
227 if(paramCount > 0) 227 if(paramCount > 0)
228 return directory(path, params[0].data.numeric); 228 return directory(path, params[0].data.number);
229 else 229 else
230 return QVariant(); 230 return QVariant();
231 } 231 }
@@ -255,7 +255,7 @@ QVariant DeviceState::data(QString tag, int paramCount,
255 else if(tag == "pS") 255 else if(tag == "pS")
256 { 256 {
257 double threshhold = paramCount > 0 257 double threshhold = paramCount > 0
258 ? std::atof(params[0].data.text) : 10; 258 ? params[0].data.number / 10. : 10;
259 if(data("?pc").toDouble() <= threshhold) 259 if(data("?pc").toDouble() <= threshhold)
260 return true; 260 return true;
261 else 261 else
@@ -264,7 +264,7 @@ QVariant DeviceState::data(QString tag, int paramCount,
264 else if(tag == "pE") 264 else if(tag == "pE")
265 { 265 {
266 double threshhold = paramCount > 0 266 double threshhold = paramCount > 0
267 ? std::atof(params[0].data.text) : 10; 267 ? params[0].data.number / 10. : 10;
268 if(data("?pt").toDouble() - data("?pc").toDouble() <= threshhold) 268 if(data("?pt").toDouble() - data("?pc").toDouble() <= threshhold)
269 return true; 269 return true;
270 else 270 else
diff --git a/utils/themeeditor/models/parsetreemodel.cpp b/utils/themeeditor/models/parsetreemodel.cpp
index a04a0d9202..66c96213ab 100644
--- a/utils/themeeditor/models/parsetreemodel.cpp
+++ b/utils/themeeditor/models/parsetreemodel.cpp
@@ -246,8 +246,8 @@ bool ParseTreeModel::setData(const QModelIndex &index, const QVariant &value,
246 if(!value.canConvert(QVariant::Int)) 246 if(!value.canConvert(QVariant::Int))
247 return false; 247 return false;
248 248
249 param->type = skin_tag_parameter::NUMERIC; 249 param->type = skin_tag_parameter::INTEGER;
250 param->data.numeric = value.toInt(); 250 param->data.number = value.toInt();
251 } 251 }
252 else 252 else
253 { 253 {
diff --git a/utils/themeeditor/models/parsetreenode.cpp b/utils/themeeditor/models/parsetreenode.cpp
index 1b894b7c33..fbb7b9279f 100644
--- a/utils/themeeditor/models/parsetreenode.cpp
+++ b/utils/themeeditor/models/parsetreenode.cpp
@@ -246,8 +246,12 @@ QString ParseTreeNode::genCode() const
246 } 246 }
247 break; 247 break;
248 248
249 case skin_tag_parameter::NUMERIC: 249 case skin_tag_parameter::INTEGER:
250 buffer.append(QString::number(param->data.numeric, 10)); 250 buffer.append(QString::number(param->data.number, 10));
251 break;
252
253 case skin_tag_parameter::DECIMAL:
254 buffer.append(QString::number(param->data.number / 10., 'f', 1));
251 break; 255 break;
252 256
253 case skin_tag_parameter::DEFAULT: 257 case skin_tag_parameter::DEFAULT:
@@ -318,8 +322,8 @@ int ParseTreeNode::genHash() const
318 case skin_tag_parameter::CODE: 322 case skin_tag_parameter::CODE:
319 break; 323 break;
320 324
321 case skin_tag_parameter::NUMERIC: 325 case skin_tag_parameter::INTEGER:
322 hash += param->data.numeric * (param->data.numeric / 4); 326 hash += param->data.number * (param->data.number / 4);
323 break; 327 break;
324 328
325 case skin_tag_parameter::STRING: 329 case skin_tag_parameter::STRING:
@@ -331,6 +335,10 @@ int ParseTreeNode::genHash() const
331 hash += param->data.text[i]; 335 hash += param->data.text[i];
332 } 336 }
333 break; 337 break;
338
339 case skin_tag_parameter::DECIMAL:
340 hash += param->data.number;
341 break;
334 } 342 }
335 } 343 }
336 344
@@ -396,8 +404,11 @@ QVariant ParseTreeNode::data(int column) const
396 case skin_tag_parameter::STRING: 404 case skin_tag_parameter::STRING:
397 return QObject::tr("String"); 405 return QObject::tr("String");
398 406
399 case skin_tag_parameter::NUMERIC: 407 case skin_tag_parameter::INTEGER:
400 return QObject::tr("Number"); 408 return QObject::tr("Integer");
409
410 case skin_tag_parameter::DECIMAL:
411 return QObject::tr("Decimal");
401 412
402 case skin_tag_parameter::DEFAULT: 413 case skin_tag_parameter::DEFAULT:
403 return QObject::tr("Default Argument"); 414 return QObject::tr("Default Argument");
@@ -445,11 +456,15 @@ QVariant ParseTreeNode::data(int column) const
445 case skin_tag_parameter::STRING: 456 case skin_tag_parameter::STRING:
446 return QString(param->data.text); 457 return QString(param->data.text);
447 458
448 case skin_tag_parameter::NUMERIC: 459 case skin_tag_parameter::INTEGER:
449 return QString::number(param->data.numeric, 10); 460 return QString::number(param->data.number, 10);
461
462 case skin_tag_parameter::DECIMAL:
463 return QString::number(param->data.number / 10., 'f', 1);
450 464
451 case skin_tag_parameter::CODE: 465 case skin_tag_parameter::CODE:
452 return QObject::tr("Seriously, something's wrong here"); 466 return QObject::tr("Seriously, something's wrong here");
467
453 } 468 }
454 } 469 }
455 else 470 else
@@ -742,10 +757,10 @@ bool ParseTreeNode::execTag(const RBRenderInfo& info, RBViewport* viewport)
742 id = element->params[0].data.text; 757 id = element->params[0].data.text;
743 filename = info.settings()->value("imagepath", "") + "/" + 758 filename = info.settings()->value("imagepath", "") + "/" +
744 element->params[1].data.text; 759 element->params[1].data.text;
745 x = element->params[2].data.numeric; 760 x = element->params[2].data.number;
746 y = element->params[3].data.numeric; 761 y = element->params[3].data.number;
747 if(element->params_count > 4) 762 if(element->params_count > 4)
748 tiles = element->params[4].data.numeric; 763 tiles = element->params[4].data.number;
749 else 764 else
750 tiles = 1; 765 tiles = 1;
751 766
@@ -758,8 +773,8 @@ bool ParseTreeNode::execTag(const RBRenderInfo& info, RBViewport* viewport)
758 id = element->params[0].data.text; 773 id = element->params[0].data.text;
759 filename = info.settings()->value("imagepath", "") + "/" + 774 filename = info.settings()->value("imagepath", "") + "/" +
760 element->params[1].data.text; 775 element->params[1].data.text;
761 x = element->params[2].data.numeric; 776 x = element->params[2].data.number;
762 y = element->params[3].data.numeric; 777 y = element->params[3].data.number;
763 image = new RBImage(filename, 1, x, y, viewport); 778 image = new RBImage(filename, 1, x, y, viewport);
764 info.screen()->loadImage(id, new RBImage(filename, 1, x, y, 779 info.screen()->loadImage(id, new RBImage(filename, 1, x, y,
765 viewport)); 780 viewport));
@@ -780,10 +795,10 @@ bool ParseTreeNode::execTag(const RBRenderInfo& info, RBViewport* viewport)
780 795
781 case 'l': 796 case 'l':
782 /* %Cl */ 797 /* %Cl */
783 x = element->params[0].data.numeric; 798 x = element->params[0].data.number;
784 y = element->params[1].data.numeric; 799 y = element->params[1].data.number;
785 maxWidth = element->params[2].data.numeric; 800 maxWidth = element->params[2].data.number;
786 maxHeight = element->params[3].data.numeric; 801 maxHeight = element->params[3].data.number;
787 hAlign = element->params_count > 4 802 hAlign = element->params_count > 4
788 ? element->params[4].data.text[0] : 'c'; 803 ? element->params[4].data.text[0] : 'c';
789 vAlign = element->params_count > 5 804 vAlign = element->params_count > 5
@@ -805,7 +820,7 @@ bool ParseTreeNode::execTag(const RBRenderInfo& info, RBViewport* viewport)
805 820
806 case 'l': 821 case 'l':
807 /* %Fl */ 822 /* %Fl */
808 x = element->params[0].data.numeric; 823 x = element->params[0].data.number;
809 filename = info.settings()->value("themebase", "") + "/fonts/" + 824 filename = info.settings()->value("themebase", "") + "/fonts/" +
810 element->params[1].data.text; 825 element->params[1].data.text;
811 info.screen()->loadFont(x, new RBFont(filename)); 826 info.screen()->loadFont(x, new RBFont(filename));
@@ -822,10 +837,10 @@ bool ParseTreeNode::execTag(const RBRenderInfo& info, RBViewport* viewport)
822 /* %T */ 837 /* %T */
823 if(element->params_count < 5) 838 if(element->params_count < 5)
824 return false; 839 return false;
825 int x = element->params[0].data.numeric; 840 int x = element->params[0].data.number;
826 int y = element->params[1].data.numeric; 841 int y = element->params[1].data.number;
827 int width = element->params[2].data.numeric; 842 int width = element->params[2].data.number;
828 int height = element->params[3].data.numeric; 843 int height = element->params[3].data.number;
829 QString action(element->params[4].data.text); 844 QString action(element->params[4].data.text);
830 RBTouchArea* temp = new RBTouchArea(width, height, action, info); 845 RBTouchArea* temp = new RBTouchArea(width, height, action, info);
831 temp->setPos(x, y); 846 temp->setPos(x, y);
@@ -863,7 +878,7 @@ bool ParseTreeNode::execTag(const RBRenderInfo& info, RBViewport* viewport)
863 878
864 case 'p': 879 case 'p':
865 /* %Vp */ 880 /* %Vp */
866 viewport->showPlaylist(info, element->params[0].data.numeric, 881 viewport->showPlaylist(info, element->params[0].data.number,
867 element->params[1].data.code, 882 element->params[1].data.code,
868 element->params[2].data.code); 883 element->params[2].data.code);
869 return true; 884 return true;
@@ -1016,7 +1031,7 @@ double ParseTreeNode::findBranchTime(ParseTreeNode *branch,
1016 if(current->element->tag->name[0] == 't' 1031 if(current->element->tag->name[0] == 't'
1017 && current->element->tag->name[1] == '\0') 1032 && current->element->tag->name[1] == '\0')
1018 { 1033 {
1019 retval = atof(current->element->params[0].data.text); 1034 retval = current->element->params[0].data.number / 10.;
1020 } 1035 }
1021 } 1036 }
1022 else if(current->element->type == CONDITIONAL) 1037 else if(current->element->type == CONDITIONAL)