[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [marble] src/lib/marble: Distinguish route types by color. Color scheme to be improved.
From: Dennis_Nienhüser <null () kde ! org>
Date: 2017-01-31 20:17:35
Message-ID: E1cYerv-0001CL-CW () code ! kde ! org
[Download RAW message or body]
Git commit bfab49b8dcdac4ec56988e30384ab31a56119abc by Dennis Nienhüser.
Committed on 31/01/2017 at 20:11.
Pushed by nienhueser into branch 'master'.
Distinguish route types by color. Color scheme to be improved.
M +33 -2 src/lib/marble/StyleBuilder.cpp
https://commits.kde.org/marble/bfab49b8dcdac4ec56988e30384ab31a56119abc
diff --git a/src/lib/marble/StyleBuilder.cpp b/src/lib/marble/StyleBuilder.cpp
index 776319e3b..13ec1044f 100644
--- a/src/lib/marble/StyleBuilder.cpp
+++ b/src/lib/marble/StyleBuilder.cpp
@@ -243,7 +243,36 @@ GeoDataStyle::ConstPtr \
StyleBuilder::Private::createRelationStyle(const StylePar
if (parameters.relation->relationType() >= GeoDataRelation::RouteRoad &&
parameters.relation->relationType() <= \
GeoDataRelation::RouteInlineSkates) {
auto const colorValue = \
parameters.relation->osmData().tagValue(QStringLiteral("colour"));
- QString const color = QColor::isValidColor(colorValue) ? colorValue : \
QStringLiteral("salmon"); + QString color = colorValue;
+ if (!QColor::isValidColor(colorValue)) {
+ switch (parameters.relation->relationType()) {
+ case GeoDataRelation::RouteTrain:
+ color = QStringLiteral("navy"); break;
+ case GeoDataRelation::RouteSubway:
+ color = QStringLiteral("cornflowerblue"); break;
+ case GeoDataRelation::RouteTram:
+ color = QStringLiteral("steelblue"); break;
+ case GeoDataRelation::RouteBus:
+ case GeoDataRelation::RouteTrolleyBus:
+ color = QStringLiteral("tomato"); break;
+ case GeoDataRelation::RouteBicycle:
+ case GeoDataRelation::RouteMountainbike:
+ case GeoDataRelation::RouteFoot:
+ case GeoDataRelation::RouteHiking:
+ case GeoDataRelation::RouteHorse:
+ case GeoDataRelation::RouteInlineSkates:
+ color = QStringLiteral("paleturquoise"); break;
+ case GeoDataRelation::UnknownType:
+ case GeoDataRelation:: RouteRoad:
+ case GeoDataRelation::RouteDetour:
+ case GeoDataRelation::RouteFerry:
+ case GeoDataRelation::RouteSkiDownhill:
+ case GeoDataRelation::RouteSkiNordic:
+ case GeoDataRelation::RouteSkitour:
+ case GeoDataRelation::RouteSled:
+ color = QString(); break;
+ }
+ }
// Take cached Style instance if possible
QString const cacheKey = \
QStringLiteral("/route/%1/%2").arg(parameters.relation->relationType()).arg(color); \
if (m_styleCache.contains(cacheKey)) { @@ -256,7 +285,9 @@ GeoDataStyle::ConstPtr \
StyleBuilder::Private::createRelationStyle(const StylePar adjustWayWidth(parameters, \
lineStyle); }
GeoDataStyle::Ptr newStyle(new GeoDataStyle(*style));
- lineStyle.setColor(QColor(color));
+ if (!color.isEmpty()) {
+ lineStyle.setColor(QColor(color));
+ }
newStyle->setLineStyle(lineStyle);
style = newStyle;
m_styleCache.insert(cacheKey, newStyle);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic