Theme: Fix parsing of colors without alpha

Use QColor(const QString &) ctor instead of manual parsing.

Uncovered by a19005fc38 which made the
locator highlighting black.

Change-Id: Ic11483613510e3cf97eede396e9b7d53bbc3ff61
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Orgad Shaneh
2018-01-04 23:35:07 +02:00
committed by Orgad Shaneh
parent b74fdc2e74
commit add1bdf43f
5 changed files with 12 additions and 20 deletions

View File

@@ -103,7 +103,7 @@ MiniProjectTargetSelectorBorderColor=shadowBackground
MiniProjectTargetSelectorSummaryBackgroundColor=shadowBackground MiniProjectTargetSelectorSummaryBackgroundColor=shadowBackground
MiniProjectTargetSelectorTextColor=text MiniProjectTargetSelectorTextColor=text
PanelStatusBarBackgroundColor=shadowBackground PanelStatusBarBackgroundColor=shadowBackground
PanelsWidgetSeparatorLineColor=0 PanelsWidgetSeparatorLineColor=000000
PanelTextColorDark=text PanelTextColorDark=text
PanelTextColorMid=ffa0a0a0 PanelTextColorMid=ffa0a0a0
PanelTextColorLight=text PanelTextColorLight=text
@@ -234,7 +234,7 @@ ToolBarIconShadow=true
WindowColorAsBase=false WindowColorAsBase=false
[Gradients] [Gradients]
DetailsWidgetHeaderGradient\1\color=0 DetailsWidgetHeaderGradient\1\color=000000
DetailsWidgetHeaderGradient\1\pos=1 DetailsWidgetHeaderGradient\1\pos=1
DetailsWidgetHeaderGradient\size=1 DetailsWidgetHeaderGradient\size=1

View File

@@ -108,7 +108,7 @@ MiniProjectTargetSelectorBorderColor=shadowBackground
MiniProjectTargetSelectorSummaryBackgroundColor=shadowBackground MiniProjectTargetSelectorSummaryBackgroundColor=shadowBackground
MiniProjectTargetSelectorTextColor=fancyBarsNormalTextColor MiniProjectTargetSelectorTextColor=fancyBarsNormalTextColor
PanelStatusBarBackgroundColor=shadowBackground PanelStatusBarBackgroundColor=shadowBackground
PanelsWidgetSeparatorLineColor=0 PanelsWidgetSeparatorLineColor=000000
PanelTextColorDark=text PanelTextColorDark=text
PanelTextColorMid=ffa0a0a0 PanelTextColorMid=ffa0a0a0
PanelTextColorLight=text PanelTextColorLight=text
@@ -239,6 +239,6 @@ ToolBarIconShadow=true
WindowColorAsBase=false WindowColorAsBase=false
[Gradients] [Gradients]
DetailsWidgetHeaderGradient\1\color=0 DetailsWidgetHeaderGradient\1\color=000000
DetailsWidgetHeaderGradient\1\pos=1 DetailsWidgetHeaderGradient\1\pos=1
DetailsWidgetHeaderGradient\size=1 DetailsWidgetHeaderGradient\size=1

View File

@@ -106,7 +106,7 @@ MiniProjectTargetSelectorBorderColor=shadowBackground
MiniProjectTargetSelectorSummaryBackgroundColor=shadowBackground MiniProjectTargetSelectorSummaryBackgroundColor=shadowBackground
MiniProjectTargetSelectorTextColor=fancyBarsNormalTextColor MiniProjectTargetSelectorTextColor=fancyBarsNormalTextColor
PanelStatusBarBackgroundColor=shadowBackground PanelStatusBarBackgroundColor=shadowBackground
PanelsWidgetSeparatorLineColor=0 PanelsWidgetSeparatorLineColor=000000
PanelTextColorDark=text PanelTextColorDark=text
PanelTextColorMid=ff666666 PanelTextColorMid=ff666666
PanelTextColorLight=fancyBarsNormalTextColor PanelTextColorLight=fancyBarsNormalTextColor
@@ -216,6 +216,6 @@ ToolBarIconShadow=false
WindowColorAsBase=false WindowColorAsBase=false
[Gradients] [Gradients]
DetailsWidgetHeaderGradient\1\color=0 DetailsWidgetHeaderGradient\1\color=000000
DetailsWidgetHeaderGradient\1\pos=1 DetailsWidgetHeaderGradient\1\pos=1
DetailsWidgetHeaderGradient\size=1 DetailsWidgetHeaderGradient\size=1

View File

@@ -104,7 +104,7 @@ MiniProjectTargetSelectorBorderColor=shadowBackground
MiniProjectTargetSelectorSummaryBackgroundColor=shadowBackground MiniProjectTargetSelectorSummaryBackgroundColor=shadowBackground
MiniProjectTargetSelectorTextColor=fancyBarsNormalTextColor MiniProjectTargetSelectorTextColor=fancyBarsNormalTextColor
PanelStatusBarBackgroundColor=shadowBackground PanelStatusBarBackgroundColor=shadowBackground
PanelsWidgetSeparatorLineColor=0 PanelsWidgetSeparatorLineColor=000000
PanelTextColorDark=text PanelTextColorDark=text
PanelTextColorMid=ff666666 PanelTextColorMid=ff666666
PanelTextColorLight=fancyBarsNormalTextColor PanelTextColorLight=fancyBarsNormalTextColor
@@ -214,6 +214,6 @@ ToolBarIconShadow=true
WindowColorAsBase=false WindowColorAsBase=false
[Gradients] [Gradients]
DetailsWidgetHeaderGradient\1\color=0 DetailsWidgetHeaderGradient\1\color=000000
DetailsWidgetHeaderGradient\1\pos=1 DetailsWidgetHeaderGradient\1\pos=1
DetailsWidgetHeaderGradient\size=1 DetailsWidgetHeaderGradient\size=1

View File

@@ -133,13 +133,12 @@ QPair<QColor, QString> Theme::readNamedColor(const QString &color) const
if (color == QLatin1String("style")) if (color == QLatin1String("style"))
return qMakePair(QColor(), QString()); return qMakePair(QColor(), QString());
bool ok = true; const QColor col('#' + color);
const QRgb rgba = color.toLongLong(&ok, 16); if (!col.isValid()) {
if (!ok) {
qWarning("Color \"%s\" is neither a named color nor a valid color", qPrintable(color)); qWarning("Color \"%s\" is neither a named color nor a valid color", qPrintable(color));
return qMakePair(Qt::black, QString()); return qMakePair(Qt::black, QString());
} }
return qMakePair(QColor::fromRgba(rgba), QString()); return qMakePair(col, QString());
} }
QString Theme::filePath() const QString Theme::filePath() const
@@ -157,13 +156,6 @@ void Theme::setDisplayName(const QString &name)
d->displayName = name; d->displayName = name;
} }
static QColor readColor(const QString &color)
{
bool ok = true;
const QRgb rgba = color.toLongLong(&ok, 16);
return QColor::fromRgba(rgba);
}
void Theme::readSettings(QSettings &settings) void Theme::readSettings(QSettings &settings)
{ {
d->fileName = settings.fileName(); d->fileName = settings.fileName();
@@ -218,7 +210,7 @@ void Theme::readSettings(QSettings &settings)
QTC_ASSERT(settings.contains(QLatin1String("pos")), return);; QTC_ASSERT(settings.contains(QLatin1String("pos")), return);;
double pos = settings.value(QLatin1String("pos")).toDouble(); double pos = settings.value(QLatin1String("pos")).toDouble();
QTC_ASSERT(settings.contains(QLatin1String("color")), return);; QTC_ASSERT(settings.contains(QLatin1String("color")), return);;
QColor c = readColor(settings.value(QLatin1String("color")).toString()); const QColor c('#' + settings.value(QLatin1String("color")).toString());
stops.append(qMakePair(pos, c)); stops.append(qMakePair(pos, c));
} }
settings.endArray(); settings.endArray();