summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@digia.com>2014-07-07 15:14:53 +0200
committerMarco Bubke <marco.bubke@digia.com>2014-07-07 16:20:02 +0200
commit8ac0e03ef42a46851a47346ae4bc440651d8aaff (patch)
treea81ace213d6915d896ca8b8401322f03a1fa7f8c
parent2932e68fd48a947f4eddc5409c629a28e259e586 (diff)
downloadqt-creator-8ac0e03ef42a46851a47346ae4bc440651d8aaff.tar.gz
QmlDesigner: fix using the right object/unit
TreeViewStyle is existing two times and wasn't in anonymous namespace. The result after refactoring was that the wrong TreeViewStyle was used. Moved the two times existing drawSelectionBackground to NavigatorTreeView to avoid similar problems. Change-Id: Id87894a01b5f6c94c81c478f9492ec6b78eb9e70 Reviewed-by: Marco Bubke <marco.bubke@digia.com>
-rw-r--r--src/plugins/qmldesigner/components/itemlibrary/itemlibrarytreeview.cpp2
-rw-r--r--src/plugins/qmldesigner/components/navigator/iconcheckboxitemdelegate.cpp2
-rw-r--r--src/plugins/qmldesigner/components/navigator/nameitemdelegate.cpp2
-rw-r--r--src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp41
-rw-r--r--src/plugins/qmldesigner/components/navigator/navigatortreeview.h2
5 files changed, 28 insertions, 21 deletions
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarytreeview.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarytreeview.cpp
index 68bb6ae4e6..2d052fd5f2 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarytreeview.cpp
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarytreeview.cpp
@@ -61,6 +61,7 @@ void ItemLibraryTreeView::drawSelectionBackground(QPainter *painter, const QStyl
painter->restore();
}
+namespace {
// This style basically allows us to span the entire row
// including the arrow indicators which would otherwise not be
// drawn by the delegate
@@ -82,6 +83,7 @@ public:
}
};
+}
ItemLibraryTreeView::ItemLibraryTreeView(QWidget *parent) :
QTreeView(parent)
{
diff --git a/src/plugins/qmldesigner/components/navigator/iconcheckboxitemdelegate.cpp b/src/plugins/qmldesigner/components/navigator/iconcheckboxitemdelegate.cpp
index 13cb12385e..7ae2d1ecec 100644
--- a/src/plugins/qmldesigner/components/navigator/iconcheckboxitemdelegate.cpp
+++ b/src/plugins/qmldesigner/components/navigator/iconcheckboxitemdelegate.cpp
@@ -82,7 +82,7 @@ void IconCheckboxItemDelegate::paint(QPainter *painter,
if (indexIsHolingModelNode(modelIndex)) {
painter->save();
if (styleOption.state & QStyle::State_Selected)
- drawSelectionBackground(painter, styleOption);
+ NavigatorTreeView::drawSelectionBackground(painter, styleOption);
if (!m_navigatorTreeModel->nodeForIndex(modelIndex).isRootNode()) {
diff --git a/src/plugins/qmldesigner/components/navigator/nameitemdelegate.cpp b/src/plugins/qmldesigner/components/navigator/nameitemdelegate.cpp
index 62ceb889f8..6fd880aaac 100644
--- a/src/plugins/qmldesigner/components/navigator/nameitemdelegate.cpp
+++ b/src/plugins/qmldesigner/components/navigator/nameitemdelegate.cpp
@@ -224,7 +224,7 @@ void NameItemDelegate::paint(QPainter *painter,
painter->save();
if (styleOption.state & QStyle::State_Selected)
- drawSelectionBackground(painter, styleOption);
+ NavigatorTreeView::drawSelectionBackground(painter, styleOption);
int iconOffset = drawTypeIcon(painter, styleOption, modelIndex, m_navigatorTreeModel);
diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp
index 7a9b2a3681..1d48c10a6d 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp
+++ b/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp
@@ -48,23 +48,7 @@
namespace QmlDesigner {
-void drawSelectionBackground(QPainter *painter, const QStyleOption &option)
-{
- painter->save();
- QLinearGradient gradient;
-
- QColor highlightColor = Utils::StyleHelper::notTooBrightHighlightColor();
- gradient.setColorAt(0, highlightColor.lighter(130));
- gradient.setColorAt(1, highlightColor.darker(130));
- gradient.setStart(option.rect.topLeft());
- gradient.setFinalStop(option.rect.bottomLeft());
- painter->fillRect(option.rect, gradient);
- painter->setPen(highlightColor.lighter());
- painter->drawLine(option.rect.topLeft(),option.rect.topRight());
- painter->setPen(highlightColor.darker());
- painter->drawLine(option.rect.bottomLeft(),option.rect.bottomRight());
- painter->restore();
-}
+namespace {
// This style basically allows us to span the entire row
// including the arrow indicators which would otherwise not be
@@ -76,7 +60,7 @@ public:
{
if (element == QStyle::PE_PanelItemViewRow) {
if (option->state & QStyle::State_Selected) {
- drawSelectionBackground(painter, *option);
+ NavigatorTreeView::drawSelectionBackground(painter, *option);
} else {
// // 3D shadows
// painter->save();
@@ -118,6 +102,8 @@ public:
}
};
+}
+
NavigatorTreeView::NavigatorTreeView(QWidget *parent)
: QTreeView(parent)
{
@@ -126,4 +112,23 @@ NavigatorTreeView::NavigatorTreeView(QWidget *parent)
style->setParent(this);
}
+void NavigatorTreeView::drawSelectionBackground(QPainter *painter, const QStyleOption &option)
+{
+ painter->save();
+ QLinearGradient gradient;
+
+ QColor highlightColor = Utils::StyleHelper::notTooBrightHighlightColor();
+ gradient.setColorAt(0, highlightColor.lighter(130));
+ gradient.setColorAt(1, highlightColor.darker(130));
+ gradient.setStart(option.rect.topLeft());
+ gradient.setFinalStop(option.rect.bottomLeft());
+ painter->fillRect(option.rect, gradient);
+ painter->setPen(highlightColor.lighter());
+ painter->drawLine(option.rect.topLeft(),option.rect.topRight());
+ painter->setPen(highlightColor.darker());
+ painter->drawLine(option.rect.bottomLeft(),option.rect.bottomRight());
+ painter->restore();
+}
+
+
}
diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreeview.h b/src/plugins/qmldesigner/components/navigator/navigatortreeview.h
index a87b6b801a..2e96f136f2 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatortreeview.h
+++ b/src/plugins/qmldesigner/components/navigator/navigatortreeview.h
@@ -35,12 +35,12 @@
namespace QmlDesigner {
-void drawSelectionBackground(QPainter *painter, const QStyleOption &option);
class NavigatorTreeView : public QTreeView
{
public:
NavigatorTreeView(QWidget *parent = 0);
+ static void drawSelectionBackground(QPainter *painter, const QStyleOption &option);
};
}