summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);
};
}