diff options
Diffstat (limited to 'utils/themeeditor/graphics/rbviewport.cpp')
-rw-r--r-- | utils/themeeditor/graphics/rbviewport.cpp | 21 |
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 | } |