diff --git a/src/lib/marble/StyleBuilder.cpp b/src/lib/marble/StyleBuilder.cpp --- a/src/lib/marble/StyleBuilder.cpp +++ b/src/lib/marble/StyleBuilder.cpp @@ -662,6 +662,9 @@ m_defaultStyle[GeoDataPlacemark::WaterwayDitch] = m_defaultStyle[GeoDataPlacemark::WaterwayRiver]; m_defaultStyle[GeoDataPlacemark::WaterwayDrain] = m_defaultStyle[GeoDataPlacemark::WaterwayRiver]; m_defaultStyle[GeoDataPlacemark::WaterwayStream] = m_defaultStyle[GeoDataPlacemark::WaterwayRiver]; + m_defaultStyle[GeoDataPlacemark::WaterwayWeir] = createStyle(4, 0, "#ffffff", "#87939b", true, false, + Qt::SolidPattern, Qt::DotLine, Qt::RoundCap, true, QVector< qreal >(), + osmFont, waterColor.darker(150)); m_defaultStyle[GeoDataPlacemark::NaturalReef] = createStyle(5.5, 0, "#36677c", "#36677c", true, false, Qt::Dense7Pattern, Qt::DotLine, Qt::RoundCap, false, QVector< qreal >(), @@ -1025,6 +1028,7 @@ s_visualCategories[OsmTag("waterway", "canal")] = GeoDataPlacemark::WaterwayCanal; s_visualCategories[OsmTag("waterway", "drain")] = GeoDataPlacemark::WaterwayDrain; s_visualCategories[OsmTag("waterway", "ditch")] = GeoDataPlacemark::WaterwayDitch; + s_visualCategories[OsmTag("waterway", "weir")] = GeoDataPlacemark::WaterwayWeir; s_visualCategories[OsmTag("natural", "wood")] = GeoDataPlacemark::NaturalWood; s_visualCategories[OsmTag("natural", "beach")] = GeoDataPlacemark::NaturalBeach; @@ -1397,6 +1401,7 @@ s_defaultMinZoomLevels[GeoDataPlacemark::WaterwayDrain] = 17; s_defaultMinZoomLevels[GeoDataPlacemark::WaterwayStream] = 15; s_defaultMinZoomLevels[GeoDataPlacemark::WaterwayRiver] = 3; + s_defaultMinZoomLevels[GeoDataPlacemark::WaterwayWeir] = 17; for ( int i = GeoDataPlacemark::PlaceCity; i < GeoDataPlacemark::LastIndex; i++ ) { if (s_defaultMinZoomLevels[i] < 0) { @@ -1796,6 +1801,7 @@ paintLayerOrder << Private::createPaintLayerItem("LineString", GeoDataPlacemark::Landmass); paintLayerOrder << Private::createPaintLayerItem("Polygon", GeoDataPlacemark::NaturalWater); + paintLayerOrder << Private::createPaintLayerItem("Point", GeoDataPlacemark::WaterwayWeir); for (int i = GeoDataPlacemark::WaterwayCanal; i <= GeoDataPlacemark::WaterwayStream; ++i) { paintLayerOrder << Private::createPaintLayerItem("LineString", (GeoDataPlacemark::GeoDataVisualCategory)i, "outline"); paintLayerOrder << Private::createPaintLayerItem("LineString", (GeoDataPlacemark::GeoDataVisualCategory)i, "inline"); @@ -2432,6 +2438,7 @@ visualCategoryNames[GeoDataPlacemark::WaterwayDrain] = "WaterwayDrain"; visualCategoryNames[GeoDataPlacemark::WaterwayStream] = "WaterwayStream"; visualCategoryNames[GeoDataPlacemark::WaterwayRiver] = "WaterwayRiver"; + visualCategoryNames[GeoDataPlacemark::WaterwayWeir] = "WaterwayWeir"; visualCategoryNames[GeoDataPlacemark::LastIndex] = "LastIndex"; } diff --git a/src/lib/marble/geodata/data/GeoDataPlacemark.h b/src/lib/marble/geodata/data/GeoDataPlacemark.h --- a/src/lib/marble/geodata/data/GeoDataPlacemark.h +++ b/src/lib/marble/geodata/data/GeoDataPlacemark.h @@ -453,6 +453,7 @@ WaterwayDitch, WaterwayDrain, WaterwayRiver, + WaterwayWeir, WaterwayStream, //Admin level tags for depicting boundary diff --git a/src/lib/marble/geodata/data/GeoDataPlacemark.cpp b/src/lib/marble/geodata/data/GeoDataPlacemark.cpp --- a/src/lib/marble/geodata/data/GeoDataPlacemark.cpp +++ b/src/lib/marble/geodata/data/GeoDataPlacemark.cpp @@ -674,6 +674,7 @@ case WaterwayDitch: return GeoDataPlacemarkPrivate::tr("Ditch"); case WaterwayStream: return GeoDataPlacemarkPrivate::tr("Stream"); case WaterwayRiver: return GeoDataPlacemarkPrivate::tr("River"); + case WaterwayWeir: return GeoDataPlacemarkPrivate::tr("Weir"); case Default: case Unknown: