summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/themeeditor/graphics/rbrenderinfo.cpp8
-rw-r--r--utils/themeeditor/graphics/rbrenderinfo.h4
-rw-r--r--utils/themeeditor/models/parsetreemodel.cpp4
-rw-r--r--utils/themeeditor/models/parsetreenode.cpp5
4 files changed, 15 insertions, 6 deletions
diff --git a/utils/themeeditor/graphics/rbrenderinfo.cpp b/utils/themeeditor/graphics/rbrenderinfo.cpp
index 311603495c..0b9ea41397 100644
--- a/utils/themeeditor/graphics/rbrenderinfo.cpp
+++ b/utils/themeeditor/graphics/rbrenderinfo.cpp
@@ -23,9 +23,11 @@
23 23
24RBRenderInfo::RBRenderInfo(ParseTreeModel* model, ProjectModel* project, 24RBRenderInfo::RBRenderInfo(ParseTreeModel* model, ProjectModel* project,
25 QMap<QString, QString>* settings, 25 QMap<QString, QString>* settings,
26 DeviceState* device, RBScreen* screen) 26 DeviceState* device, RBScreen* screen,
27 RBScreen* sbsScreen)
27 :mProject(project), mSettings(settings), 28 :mProject(project), mSettings(settings),
28 mDevice(device), mScreen(screen), mModel(model) 29 mDevice(device), mScreen(screen),
30 mSbsScreen(sbsScreen), mModel(model)
29{ 31{
30} 32}
31 33
@@ -40,6 +42,7 @@ RBRenderInfo::RBRenderInfo(const RBRenderInfo &other)
40 mSettings = other.mSettings; 42 mSettings = other.mSettings;
41 mDevice = other.mDevice; 43 mDevice = other.mDevice;
42 mScreen = other.mScreen; 44 mScreen = other.mScreen;
45 mSbsScreen = other.mSbsScreen;
43 mModel = other.mModel; 46 mModel = other.mModel;
44} 47}
45 48
@@ -49,6 +52,7 @@ const RBRenderInfo& RBRenderInfo::operator=(const RBRenderInfo& other)
49 mSettings = other.mSettings; 52 mSettings = other.mSettings;
50 mDevice = other.mDevice; 53 mDevice = other.mDevice;
51 mScreen = other.mScreen; 54 mScreen = other.mScreen;
55 mSbsScreen = other.mSbsScreen;
52 mModel = other.mModel; 56 mModel = other.mModel;
53 57
54 return *this; 58 return *this;
diff --git a/utils/themeeditor/graphics/rbrenderinfo.h b/utils/themeeditor/graphics/rbrenderinfo.h
index 0e219383e2..599a563da2 100644
--- a/utils/themeeditor/graphics/rbrenderinfo.h
+++ b/utils/themeeditor/graphics/rbrenderinfo.h
@@ -34,7 +34,7 @@ class RBRenderInfo
34public: 34public:
35 RBRenderInfo(ParseTreeModel* model, ProjectModel* project, 35 RBRenderInfo(ParseTreeModel* model, ProjectModel* project,
36 QMap<QString, QString>* settings, DeviceState* device, 36 QMap<QString, QString>* settings, DeviceState* device,
37 RBScreen* screen); 37 RBScreen* screen, RBScreen* sbsScreen = 0);
38 RBRenderInfo(); 38 RBRenderInfo();
39 RBRenderInfo(const RBRenderInfo& other); 39 RBRenderInfo(const RBRenderInfo& other);
40 virtual ~RBRenderInfo(); 40 virtual ~RBRenderInfo();
@@ -45,6 +45,7 @@ public:
45 DeviceState* device() const{ return mDevice; } 45 DeviceState* device() const{ return mDevice; }
46 QMap<QString, QString>* settings() const{ return mSettings; } 46 QMap<QString, QString>* settings() const{ return mSettings; }
47 RBScreen* screen() const{ return mScreen; } 47 RBScreen* screen() const{ return mScreen; }
48 RBScreen* sbsScreen() const{ return mSbsScreen; }
48 ParseTreeModel* model() const{ return mModel; } 49 ParseTreeModel* model() const{ return mModel; }
49 50
50private: 51private:
@@ -52,6 +53,7 @@ private:
52 QMap<QString, QString>* mSettings; 53 QMap<QString, QString>* mSettings;
53 DeviceState* mDevice; 54 DeviceState* mDevice;
54 RBScreen* mScreen; 55 RBScreen* mScreen;
56 RBScreen* mSbsScreen;
55 ParseTreeModel* mModel; 57 ParseTreeModel* mModel;
56}; 58};
57 59
diff --git a/utils/themeeditor/models/parsetreemodel.cpp b/utils/themeeditor/models/parsetreemodel.cpp
index 47b24174b7..a04a0d9202 100644
--- a/utils/themeeditor/models/parsetreemodel.cpp
+++ b/utils/themeeditor/models/parsetreemodel.cpp
@@ -340,7 +340,7 @@ QGraphicsScene* ParseTreeModel::render(ProjectModel* project,
340 } 340 }
341 341
342 RBScreen* screen = 0; 342 RBScreen* screen = 0;
343 RBRenderInfo info(this, project, &settings, device, screen); 343 RBRenderInfo info(this, project, &settings, device, screen, sbsScreen);
344 344
345 /* Adding the screen */ 345 /* Adding the screen */
346 if(sbsScreen) 346 if(sbsScreen)
@@ -351,7 +351,7 @@ QGraphicsScene* ParseTreeModel::render(ProjectModel* project,
351 if(!sbsScreen) 351 if(!sbsScreen)
352 scene->addItem(screen); 352 scene->addItem(screen);
353 353
354 info = RBRenderInfo(this, project, &settings, device, screen); 354 info = RBRenderInfo(this, project, &settings, device, screen, sbsScreen);
355 355
356 356
357 /* Rendering the tree */ 357 /* Rendering the tree */
diff --git a/utils/themeeditor/models/parsetreenode.cpp b/utils/themeeditor/models/parsetreenode.cpp
index 1fda29fec7..7efcbc3ffc 100644
--- a/utils/themeeditor/models/parsetreenode.cpp
+++ b/utils/themeeditor/models/parsetreenode.cpp
@@ -811,7 +811,10 @@ bool ParseTreeNode::execTag(const RBRenderInfo& info, RBViewport* viewport)
811 case '\0': 811 case '\0':
812 /* %X */ 812 /* %X */
813 filename = QString(element->params[0].data.text); 813 filename = QString(element->params[0].data.text);
814 info.screen()->setBackdrop(filename); 814 if(info.sbsScreen())
815 info.sbsScreen()->setBackdrop(filename);
816 else
817 info.screen()->setBackdrop(filename);
815 return true; 818 return true;
816 } 819 }
817 820