From 8dd5e4e5909444fe932785cd67c3fb8f82a53f09 Mon Sep 17 00:00:00 2001
From: Tim Jenssen <tim.jenssen@digia.com>
Date: Fri, 6 Jun 2014 16:06:32 +0200
Subject: [PATCH] QmlDesigner: use a central notTooBrightHighlightColor()

Change-Id: I71988cda0f9488a59722b00e0c0c0e926a15e7f2
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
---
 src/libs/utils/stylehelper.cpp                         |  9 +++++++++
 src/libs/utils/stylehelper.h                           |  2 ++
 .../components/itemlibrary/itemlibrarywidget.cpp       |  8 +++-----
 .../components/navigator/navigatortreeview.cpp         | 10 +++++-----
 .../components/stateseditor/stateseditorwidget.cpp     |  7 +++----
 5 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/src/libs/utils/stylehelper.cpp b/src/libs/utils/stylehelper.cpp
index 4d9d98eaef..9bb00b1b4e 100644
--- a/src/libs/utils/stylehelper.cpp
+++ b/src/libs/utils/stylehelper.cpp
@@ -70,6 +70,15 @@ qreal StyleHelper::sidebarFontSize()
     return HostOsInfo::isMacHost() ? 10 : 7.5;
 }
 
+QColor StyleHelper::notTooBrightHighlightColor()
+{
+    QColor highlightColor = qApp->palette().highlight().color();
+    if (0.5 * highlightColor.saturationF() + 0.75 - highlightColor.valueF() < 0)
+        highlightColor.setHsvF(highlightColor.hsvHueF(), 0.1 + highlightColor.saturationF() * 2.0, highlightColor.valueF());
+    return highlightColor;
+}
+
+
 QPalette StyleHelper::sidebarFontPalette(const QPalette &original)
 {
     QPalette palette = original;
diff --git a/src/libs/utils/stylehelper.h b/src/libs/utils/stylehelper.h
index 72ffb9b3c1..8be341c21f 100644
--- a/src/libs/utils/stylehelper.h
+++ b/src/libs/utils/stylehelper.h
@@ -70,6 +70,8 @@ public:
     static QColor sidebarHighlight() { return QColor(255, 255, 255, 40); }
     static QColor sidebarShadow() { return QColor(0, 0, 0, 40); }
 
+    static QColor notTooBrightHighlightColor();
+
     // Sets the base color and makes sure all top level widgets are updated
     static void setBaseColor(const QColor &color);
 
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
index 32933e9aab..9c46e2ac37 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
@@ -31,6 +31,8 @@
 
 #include <utils/fileutils.h>
 #include <utils/qtcassert.h>
+#include <utils/stylehelper.h>
+
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/icore.h>
 #include "itemlibrarymodel.h"
@@ -84,11 +86,7 @@ ItemLibraryWidget::ItemLibraryWidget(QWidget *parent) :
     rootContext->setContextProperty(QStringLiteral("itemLibraryIconWidth"), m_itemIconSize.width());
     rootContext->setContextProperty(QStringLiteral("itemLibraryIconHeight"), m_itemIconSize.height());
 
-    QColor highlightColor = palette().highlight().color();
-    if (0.5*highlightColor.saturationF()+0.75-highlightColor.valueF() < 0)
-        highlightColor.setHsvF(highlightColor.hsvHueF(),0.1 + highlightColor.saturationF()*2.0, highlightColor.valueF());
-    m_itemsView->rootContext()->setContextProperty(QStringLiteral("highlightColor"), highlightColor);
-
+    m_itemsView->rootContext()->setContextProperty(QStringLiteral("highlightColor"), Utils::StyleHelper::notTooBrightHighlightColor());
 
     /* create Resources view and its model */
     m_resourcesFileSystemModel = new QFileSystemModel(this);
diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp
index 1eacd49fe1..7a9b2a3681 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp
+++ b/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp
@@ -36,6 +36,9 @@
 #include "qproxystyle.h"
 
 #include "metainfo.h"
+
+#include <utils/stylehelper.h>
+
 #include <QLineEdit>
 #include <QPen>
 #include <QPixmapCache>
@@ -47,13 +50,10 @@ namespace QmlDesigner {
 
 void drawSelectionBackground(QPainter *painter, const QStyleOption &option)
 {
-    QWidget colorReference;
-
     painter->save();
     QLinearGradient gradient;
-    QColor highlightColor = colorReference.palette().highlight().color();
-    if (0.5*highlightColor.saturationF()+0.75-highlightColor.valueF() < 0)
-        highlightColor.setHsvF(highlightColor.hsvHueF(),0.1 + highlightColor.saturationF()*2.0, highlightColor.valueF());
+
+    QColor highlightColor = Utils::StyleHelper::notTooBrightHighlightColor();
     gradient.setColorAt(0, highlightColor.lighter(130));
     gradient.setColorAt(1, highlightColor.darker(130));
     gradient.setStart(option.rect.topLeft());
diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
index 69af261ef5..9caa3b6454 100644
--- a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
+++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
@@ -36,6 +36,7 @@
 
 #include <coreplugin/icore.h>
 #include <utils/qtcassert.h>
+#include <utils/stylehelper.h>
 
 #include <QApplication>
 
@@ -103,10 +104,8 @@ StatesEditorWidget::StatesEditorWidget(StatesEditorView *statesEditorView, State
     container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 
     m_quickView->rootContext()->setContextProperty(QStringLiteral("statesEditorModel"), statesEditorModel);
-    QColor highlightColor = palette().highlight().color();
-    if (0.5*highlightColor.saturationF()+0.75-highlightColor.valueF() < 0)
-        highlightColor.setHsvF(highlightColor.hsvHueF(),0.1 + highlightColor.saturationF()*2.0, highlightColor.valueF());
-    m_quickView->rootContext()->setContextProperty(QStringLiteral("highlightColor"), highlightColor);
+    m_quickView->rootContext()->setContextProperty(QStringLiteral("highlightColor"), Utils::StyleHelper::notTooBrightHighlightColor());
+
 
     m_quickView->rootContext()->setContextProperty("canAddNewStates", true);
 
-- 
GitLab