diff options
Diffstat (limited to 'utils/themeeditor')
-rw-r--r-- | utils/themeeditor/graphics/rbviewport.cpp | 2 | ||||
-rw-r--r-- | utils/themeeditor/models/parsetreemodel.cpp | 14 | ||||
-rw-r--r-- | utils/themeeditor/models/parsetreemodel.h | 2 |
3 files changed, 15 insertions, 3 deletions
diff --git a/utils/themeeditor/graphics/rbviewport.cpp b/utils/themeeditor/graphics/rbviewport.cpp index 015ed729d1..3b97e7143d 100644 --- a/utils/themeeditor/graphics/rbviewport.cpp +++ b/utils/themeeditor/graphics/rbviewport.cpp | |||
@@ -48,8 +48,6 @@ 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 | setFlags(ItemIsSelectable | ItemIsMovable | ItemSendsGeometryChanges); | ||
52 | |||
53 | if(!node->tag) | 51 | if(!node->tag) |
54 | { | 52 | { |
55 | /* Default viewport takes up the entire screen */ | 53 | /* Default viewport takes up the entire screen */ |
diff --git a/utils/themeeditor/models/parsetreemodel.cpp b/utils/themeeditor/models/parsetreemodel.cpp index e30d0be09d..ed5f5740c3 100644 --- a/utils/themeeditor/models/parsetreemodel.cpp +++ b/utils/themeeditor/models/parsetreemodel.cpp | |||
@@ -342,8 +342,9 @@ QGraphicsScene* ParseTreeModel::render(ProjectModel* project, | |||
342 | sbsInfo = RBRenderInfo(sbsModel, project, doc, &settings, | 342 | sbsInfo = RBRenderInfo(sbsModel, project, doc, &settings, |
343 | device, sbsScreen); | 343 | device, sbsScreen); |
344 | sbsModel->root->render(sbsInfo); | 344 | sbsModel->root->render(sbsInfo); |
345 | } | ||
346 | 345 | ||
346 | setChildrenUnselectable(sbsScreen); | ||
347 | } | ||
347 | } | 348 | } |
348 | } | 349 | } |
349 | 350 | ||
@@ -384,3 +385,14 @@ QModelIndex ParseTreeModel::indexFromPointer(ParseTreeNode *p) | |||
384 | return QModelIndex(); | 385 | return QModelIndex(); |
385 | return index(p->getRow(), 0, indexFromPointer(p->getParent())); | 386 | return index(p->getRow(), 0, indexFromPointer(p->getParent())); |
386 | } | 387 | } |
388 | |||
389 | void ParseTreeModel::setChildrenUnselectable(QGraphicsItem *root) | ||
390 | { | ||
391 | root->setFlag(QGraphicsItem::ItemIsSelectable, false); | ||
392 | root->setFlag(QGraphicsItem::ItemIsMovable, false); | ||
393 | |||
394 | QList<QGraphicsItem*> children = root->children(); | ||
395 | for(QList<QGraphicsItem*>::iterator i = children.begin() | ||
396 | ; i != children.end(); i++) | ||
397 | setChildrenUnselectable(*i); | ||
398 | } | ||
diff --git a/utils/themeeditor/models/parsetreemodel.h b/utils/themeeditor/models/parsetreemodel.h index 2c762f3645..f176b760d3 100644 --- a/utils/themeeditor/models/parsetreemodel.h +++ b/utils/themeeditor/models/parsetreemodel.h | |||
@@ -80,6 +80,8 @@ public: | |||
80 | QModelIndex indexFromPointer(ParseTreeNode* p); | 80 | QModelIndex indexFromPointer(ParseTreeNode* p); |
81 | 81 | ||
82 | private: | 82 | private: |
83 | void setChildrenUnselectable(QGraphicsItem* root); | ||
84 | |||
83 | ParseTreeNode* root; | 85 | ParseTreeNode* root; |
84 | ParseTreeModel* sbsModel; | 86 | ParseTreeModel* sbsModel; |
85 | struct skin_element* tree; | 87 | struct skin_element* tree; |