summaryrefslogtreecommitdiff
path: root/utils/themeeditor/graphics/rbviewport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/themeeditor/graphics/rbviewport.cpp')
-rw-r--r--utils/themeeditor/graphics/rbviewport.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/utils/themeeditor/graphics/rbviewport.cpp b/utils/themeeditor/graphics/rbviewport.cpp
index a986127987..5cac806c3d 100644
--- a/utils/themeeditor/graphics/rbviewport.cpp
+++ b/utils/themeeditor/graphics/rbviewport.cpp
@@ -48,6 +48,9 @@ RBViewport::RBViewport(skin_element* node, const RBRenderInfo& info,
48 leftGraphic(0), centerGraphic(0), rightGraphic(0), scrollTime(0), 48 leftGraphic(0), centerGraphic(0), rightGraphic(0), scrollTime(0),
49 node(pNode), doc(info.document()) 49 node(pNode), doc(info.document())
50{ 50{
51 mirrored = info.screen()->isRtlMirrored()
52 && info.device()->data("rtl").toBool();
53
51 if(!node->tag) 54 if(!node->tag)
52 { 55 {
53 /* Default viewport takes up the entire screen */ 56 /* Default viewport takes up the entire screen */
@@ -147,6 +150,12 @@ RBViewport::RBViewport(skin_element* node, const RBRenderInfo& info,
147 y -= screen->parentItem()->pos().y(); 150 y -= screen->parentItem()->pos().y();
148 } 151 }
149 152
153 /* Mirroring if necessary */
154 if(mirrored)
155 {
156 x = parentItem()->boundingRect().width() - w - x;
157 }
158
150 if(node->params[++param].type == skin_tag_parameter::DEFAULT) 159 if(node->params[++param].type == skin_tag_parameter::DEFAULT)
151 font = screen->getFont(1); 160 font = screen->getFont(1);
152 else 161 else
@@ -226,15 +235,21 @@ void RBViewport::write(QString text)
226 if(textOffset.x() < 0) 235 if(textOffset.x() < 0)
227 return; 236 return;
228 237
229 if(textAlign == Left) 238 Alignment align = textAlign;
239 if(mirrored && align == Left)
240 align = Right;
241 else if(mirrored && align == Right)
242 align = Left;
243
244 if(align == Left)
230 { 245 {
231 leftText.append(text); 246 leftText.append(text);
232 } 247 }
233 else if(textAlign == Center) 248 else if(align == Center)
234 { 249 {
235 centerText.append(text); 250 centerText.append(text);
236 } 251 }
237 else if(textAlign == Right) 252 else if(align == Right)
238 { 253 {
239 rightText.append(text); 254 rightText.append(text);
240 } 255 }