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