Add signal-composer speed and steering wheel event support 47/23547/1 8.99.5 icefish/8.99.5 icefish_8.99.5
authorScott Murray <scott.murray@konsulko.com>
Fri, 3 Jan 2020 23:13:33 +0000 (18:13 -0500)
committerScott Murray <scott.murray@konsulko.com>
Fri, 3 Jan 2020 23:07:34 +0000 (23:07 +0000)
Changes include:
- Pull in signal-composer support from libqtappfw
- Add a configuration file that controls whether the existing
  canned animation behavior should be used, or events from
  signal-composer should drive speeds and indicators.
- Add new icons provided by LF graphics team for cruise control
  and lane departure warning, and drive their state based on
  appropriate steering wheel events.
- Hide/show the digital vehicle/engine speed values in the
  gauges based on the steering wheel info event. This is
  intended to work in sync with changes to tbtnavi to have it
  display larger speed indicators via an alternate page.

Bug-AGL: SPEC-3045, SPEC-3049

Change-Id: I77249f65b80596fe7f2af9fe29b3ed86b63a8a45
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
17 files changed:
app/CMakeLists.txt
app/DashboardGaugeStyle.qml
app/TachometerStyle.qml
app/ValueSource.qml
app/cluster-gauges.qml
app/images/AGL_Icons_CruiseControl.svg [new file with mode: 0644]
app/images/AGL_Icons_CruiseControl_green.svg [new file with mode: 0644]
app/images/AGL_Icons_CruiseControl_white.svg [new file with mode: 0644]
app/images/AGL_Icons_CruiseControl_yellow.svg [new file with mode: 0644]
app/images/AGL_Icons_LaneDeparture.svg [new file with mode: 0644]
app/images/AGL_Icons_LaneDeparture_green.svg [new file with mode: 0644]
app/images/AGL_Icons_LaneDeparture_red.svg [new file with mode: 0644]
app/images/AGL_Icons_LaneDeparture_white.svg [new file with mode: 0644]
app/images/AGL_Icons_LaneDeparture_yellow.svg [new file with mode: 0644]
app/images/images.qrc
app/main.cpp
conf.d/wgt/config.xml.in

index 9547426..a09fd1d 100644 (file)
@@ -23,7 +23,7 @@ set(CMAKE_CXX_STANDARD 14)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 set(OE_QMAKE_PATH_EXTERNAL_HOST_BINS $ENV{OE_QMAKE_PATH_HOST_BINS})
 
-find_package(Qt5 COMPONENTS Core Gui QuickControls2 WebSockets QuickWidgets REQUIRED)
+find_package(Qt5 COMPONENTS Core Gui QuickControls2 QuickWidgets REQUIRED)
 find_package(PkgConfig REQUIRED)
 
 qt5_add_resources(RESOURCES cluster-gauges.qrc images/images.qrc)
@@ -36,11 +36,18 @@ add_executable(${TARGET_NAME}
 )
 
 pkg_check_modules(QLIBWINMGR REQUIRED qlibwindowmanager)
+pkg_check_modules(QTAPPFW REQUIRED qtappfw)
+pkg_check_modules(GLIB REQUIRED glib-2.0)
+
+include_directories(
+       ${QTAPPFW_INCLUDE_DIRS}
+       ${GLIB_INCLUDE_DIRS}
+)
 
 set_target_properties(${TARGET_NAME} PROPERTIES
        LABELS "EXECUTABLE"
        PREFIX ""
-       COMPILE_FLAGS "${QLIBWINMGR_FLAGS} ${EXTRAS_CFLAGS} -DFOR_AFB_BINDING"
+       COMPILE_FLAGS "${QLIBWINMGR_FLAGS} ${QTAPPFW_FLAGS} ${GLIB_FLAGS} ${EXTRAS_CFLAGS} -DFOR_AFB_BINDING"
        LINK_FLAGS "${BINDINGS_LINK_FLAG}"
        LINK_LIBRARIES "${EXTRAS_LIBRARIES}"
        OUTPUT_NAME "${TARGET_NAME}"
@@ -50,4 +57,6 @@ target_link_libraries(${TARGET_NAME}
        Qt5::QuickControls2
        Qt5::QuickWidgets
        ${QLIBWINMGR_LIBRARIES}
+       ${QTAPPFW_LIBRARIES}
+       ${GLIB_LDFLAGS}
 )
index aafe50f..8615790 100644 (file)
@@ -127,6 +127,7 @@ CircularGaugeStyle {
             anchors.horizontalCenter: parent.horizontalCenter
             anchors.top: parent.verticalCenter
             anchors.topMargin: toPixels(0.1)
+            visible: valueSource.displayNumericSpeeds === true
 
             readonly property int kphInt: control.value
         }
index a632eab..03dfbd7 100644 (file)
@@ -105,6 +105,7 @@ DashboardGaugeStyle {
             anchors.horizontalCenter: parent.horizontalCenter
             anchors.top: parent.verticalCenter
             anchors.topMargin: 20
+            visible: valueSource.displayNumericSpeeds === true
 
             readonly property int rpmInt: valueSource.rpm
         }
index 48e5cf6..80ef95c 100644 (file)
@@ -1,7 +1,7 @@
 /****************************************************************************
 **
 ** Copyright (C) 2016 The Qt Company Ltd.
-** Copyright (C) 2018 Konsulko Group
+** Copyright (C) 2018, 2019 Konsulko Group
 ** Contact: https://www.qt.io/licensing/
 **
 ** This file is part of the examples of the Qt Toolkit.
@@ -54,7 +54,7 @@ Item {
     id: valueSource
     property real kph: 0
     property bool mphDisplay: true
-    property real speedScaling: mphDisplay == true ? 0.621 : 1.0
+    property real speedScaling: mphDisplay == true ? 0.621504 : 1.0
     property real rpm: 1
     property real fuel: 0.85
     property string gear: {
@@ -87,13 +87,61 @@ Item {
     property int turnSignal: -1
     property bool startUp: false
     property real temperature: 0.6
+    property bool cruiseEnabled: false
+    property bool cruiseSet: false
+    property bool laneDepartureWarnEnabled: false
+    property bool displayNumericSpeeds: true
 
     function randomDirection() {
         return Math.random() > 0.5 ? Qt.LeftArrow : Qt.RightArrow;
     }
 
+    Connections {
+        target: SignalComposer
+
+        onSignalEvent: {
+            if (uid === "event.vehicle.speed") {
+                var speed_tmp = parseFloat(value)
+                if(units == "mph") {
+                    speed_tmp *= 1.609
+                }
+               if(!runAnimation) {
+                    valueSource.kph = speed_tmp
+                }
+            }
+            else if (uid === "event.engine.speed") {
+               if(!runAnimation) {
+                    valueSource.rpm = parseFloat(value) / 1000
+                }
+            }
+            else if (uid === "event.cruise.enable" && value === "true") {
+                if(valueSource.cruiseEnabled) {
+                    valueSource.cruiseEnabled = false
+                    valueSource.cruiseSet = false
+                } else {
+                    valueSource.cruiseEnabled = true
+                }
+            }
+            else if ((uid === "event.cruise.set" || uid === "event.cruise.resume") &&
+                     value === "true") {
+                if(valueSource.cruiseEnabled) {
+                    valueSource.cruiseSet = true
+                }
+            }
+            else if (uid === "event.cruise.cancel" && value === "true") {
+                valueSource.cruiseSet = false
+            }
+            else if (uid === "event.lane_departure_warning.enable" && value === "true") {
+                valueSource.laneDepartureWarnEnabled = !valueSource.laneDepartureWarnEnabled
+            }
+            else if (uid === "event.info" && value === "true") {
+                valueSource.displayNumericSpeeds = !valueSource.displayNumericSpeeds
+            }
+        }
+    }
+
     SequentialAnimation {
-        running: true
+        running: runAnimation
         loops: 1
 
         // We want a small pause at the beginning, but we only want it to happen once.
index 76f5027..e4c299b 100644 (file)
@@ -1,7 +1,7 @@
 /****************************************************************************
 **
 ** Copyright (C) 2016 The Qt Company Ltd.
-** Copyright (C) 2018 Konsulko Group
+** Copyright (C) 2018, 2019 Konsulko Group
 ** Contact: https://www.qt.io/licensing/
 **
 ** This file is part of the examples of the Qt Toolkit.
@@ -81,7 +81,7 @@ ApplicationWindow {
         id: statusFrame
         x: (parent.width - width) / 2
         y: 40
-        width: 1152
+        width: 1280
         height: 96
         radius: height / 5
 
@@ -92,13 +92,13 @@ ApplicationWindow {
         Row {
             width: parent.width
             height: parent.height * 0.75
-            spacing: (parent.width - (12 * parent.height * 0.75)) / 13
+            spacing: (parent.width - (14 * parent.height * 0.75)) / 15
 
             anchors.fill: parent
             anchors.topMargin: (parent.height - height) /2
             anchors.bottomMargin: (parent.height - height) /2
-            anchors.leftMargin: (parent.width - (12 * parent.height * 0.75)) / 13
-            anchors.rightMargin: (parent.width - (12 * parent.height * 0.75)) / 13
+            anchors.leftMargin: (parent.width - (14 * parent.height * 0.75)) / 15
+            anchors.rightMargin: (parent.width - (14 * parent.height * 0.75)) / 15
 
             Rectangle {
                 width: height
@@ -159,6 +159,25 @@ ApplicationWindow {
                 }
             }
 
+            Rectangle {
+                width: height
+                height: parent.height
+                radius: height / 5
+
+                color: "black"
+                border.width: 2
+                border.color: "grey"
+
+                Image {
+                    source: valueSource.startUp ? './images/AGL_Icons_Battery_red.svg' : './images/AGL_Icons_Battery.svg'
+                    anchors.verticalCenter: parent.verticalCenter
+                    anchors.horizontalCenter: parent.horizontalCenter
+                    width: height
+                    height: parent.height * 0.75
+                    fillMode: Image.PreserveAspectFit
+                }
+            }
+
             Rectangle {
                 width: height
                 height: parent.height
@@ -188,7 +207,7 @@ ApplicationWindow {
                 border.color: "grey"
 
                 Image {
-                    source: valueSource.startUp ? './images/AGL_Icons_Battery_red.svg' : './images/AGL_Icons_Battery.svg'
+                    source: valueSource.startUp ? './images/AGL_Icons_ParkingBrake_red.svg' : './images/AGL_Icons_ParkingBrake.svg'
                     anchors.verticalCenter: parent.verticalCenter
                     anchors.horizontalCenter: parent.horizontalCenter
                     width: height
@@ -307,7 +326,26 @@ ApplicationWindow {
                 border.color: "grey"
 
                 Image {
-                    source: valueSource.startUp ? './images/AGL_Icons_ParkingBrake_red.svg' : './images/AGL_Icons_ParkingBrake.svg'
+                    source: valueSource.cruiseEnabled ? (valueSource.cruiseSet  ? './images/AGL_Icons_CruiseControl_green.svg' : './images/AGL_Icons_CruiseControl_yellow.svg') : './images/AGL_Icons_CruiseControl.svg'
+                    anchors.verticalCenter: parent.verticalCenter
+                    anchors.horizontalCenter: parent.horizontalCenter
+                    width: height
+                    height: parent.height * 0.75
+                    fillMode: Image.PreserveAspectFit
+                }
+            }
+
+            Rectangle {
+                width: height
+                height: parent.height
+                radius: height / 5
+
+                color: "black"
+                border.width: 2
+                border.color: "grey"
+
+                Image {
+                    source: valueSource.laneDepartureWarnEnabled ? './images/AGL_Icons_LaneDeparture_green.svg' : './images/AGL_Icons_LaneDeparture.svg'
                     anchors.verticalCenter: parent.verticalCenter
                     anchors.horizontalCenter: parent.horizontalCenter
                     width: height
diff --git a/app/images/AGL_Icons_CruiseControl.svg b/app/images/AGL_Icons_CruiseControl.svg
new file mode 100644 (file)
index 0000000..6621e9e
--- /dev/null
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="Layer_1"
+   data-name="Layer 1"
+   viewBox="0 0 64 64"
+   version="1.1"
+   sodipodi:docname="AGL_Icons_CruiseControl.svg"
+   inkscape:version="0.92.4 (unknown)">
+  <metadata
+     id="metadata17">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1349"
+     inkscape:window-height="832"
+     id="namedview15"
+     showgrid="false"
+     inkscape:zoom="3.6875"
+     inkscape:cx="32.542373"
+     inkscape:cy="32"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="Layer_1" />
+  <defs
+     id="defs4">
+    <style
+       id="style2">.cls-1{fill:#666;}.cls-2{fill:#fff;}</style>
+  </defs>
+  <title
+     id="title6">AGL-new-icons-2</title>
+  <path
+     class="cls-1"
+     d="M35.05031,43.25743a4.86566,4.86566,0,0,0,4.9216-4.8792,4.89193,4.89193,0,1,0-9.78384-.02387A4.87784,4.87784,0,0,0,35.05031,43.25743Z"
+     id="path8"
+     style="fill:#b9b9b9;fill-opacity:1" />
+  <path
+     class="cls-2"
+     d="M35.05031,43.25743a4.86566,4.86566,0,0,0,4.9216-4.8792,4.89193,4.89193,0,1,0-9.78384-.02387A4.87784,4.87784,0,0,0,35.05031,43.25743Z"
+     id="path10"
+     style="fill:#b9b9b9;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M27.87548,33.70618c.13343.14052.11688.25454.01746.42343a8.06825,8.06825,0,0,0-1.12477,3.39684,8.17582,8.17582,0,0,0,2.00677,6.32238,8.37807,8.37807,0,0,0,4.35395,2.65547,7.82029,7.82029,0,0,0,3.155.12031,8.33976,8.33976,0,0,0,5.28357-13.43835,8.42189,8.42189,0,0,0-2.74735-2.23677,7.46105,7.46105,0,0,0-2.81734-.85166,7.82757,7.82757,0,0,0-5.15033,1.12191.43962.43962,0,0,1-.664-.0995c-.15116-.18584-.33018-.34916-.49823-.5211q-1.41491-1.44748-2.83-2.8948c-.63528-.65209-1.2624-1.31211-1.89931-1.96259-.99161-1.01266-1.99023-2.01837-2.98238-3.03049-.78757-.80339-1.556-1.62627-2.36322-2.40927-.234-.227-.20739-.37505-.00782-.542a22.63476,22.63476,0,0,1,3.497-2.419,25.79691,25.79691,0,0,1,2.85593-1.374A23.451,23.451,0,0,1,32.4996,14.38c.32107-.03221.46171.06283.45122.41425-.02241.75071-.01185,1.50256-.00736,2.25392a1.58217,1.58217,0,0,0,.43933,1.0926,1.81759,1.81759,0,0,0,1.95169.46845,1.74,1.74,0,0,0,1.07841-1.64526c.00385-.73794.00523-1.476-.00793-2.21378-.00491-.27494.08864-.4049.37265-.37246.1064.01216.215.005.32141.017a23.21351,23.21351,0,0,1,9.877,3.37847,24.63078,24.63078,0,0,1,2.67884,1.913c.24647.20465.28352.356.02074.59765-.52285.48088-1.02134.98951-1.51251,1.50329a1.7268,1.7268,0,0,0,.10636,2.62589,1.76026,1.76026,0,0,0,2.46265-.2481c.48739-.47909.96526-.9679,1.44549-1.45423.14144-.14322.27693-.286.44752-.03637l1.66234,2.25908-.00126-.00042.08418.164-.00679-.00576.0716.06211.0974.142.05631.10179.035.09717a.14307.14307,0,0,1,.10262.1443l.04606.10937a.47152.47152,0,0,1,.21295.31169.03358.03358,0,0,1,.0263.0358l.06031.109.02261.08837.09881.14708a18.19777,18.19777,0,0,1,1.6612,3.637A23.49559,23.49559,0,0,1,58.05005,35.557c.03317.3184-.05413.44283-.377.437-.69673-.0127-1.3938-.00846-2.09076-.00728a1.755,1.755,0,1,0-.10332,3.50549c.71008.013,1.42065-.003,2.131-.002.18181.00027.43037-.02981.42229.23373a7.63647,7.63647,0,0,1-.29156,2.12633,14.05945,14.05945,0,0,1-.86916,3.39223l-.01415.08276a13.17565,13.17565,0,0,1-1.18367,2.78738,2.03425,2.03425,0,0,1-.353.7554,22.85421,22.85421,0,0,1-2.58689,3.84143c-.22184.2688-.38188.24856-.60551.01182-.42121-.446-.87945-.85761-1.29087-1.312a2.07186,2.07186,0,0,0-1.61842-.74217l-.78338.27654a1.75,1.75,0,0,0-.30216,2.68764c1.16831,1.183,2.35114,2.35152,3.52345,3.53051a1.87872,1.87872,0,0,0,2.94993-.03687,28.13123,28.13123,0,0,0,3.86842-4.962A27.57384,27.57384,0,0,0,61.041,46.63479a28.38262,28.38262,0,0,0,1.24463-12.45,27.29151,27.29151,0,0,0-1.80156-6.856A29.60616,29.60616,0,0,0,57.953,22.50037c-.51294-.79882-1.13026-1.52155-1.63066-2.32731-.128-.137-.26072-.27-.38336-.41169a28.32566,28.32566,0,0,0-6.32108-5.49355A27.86082,27.86082,0,0,0,24.77675,11.743c-1.20563.45538-2.3498,1.04075-3.50945,1.59456-.73162.46254-1.47066.91388-2.19324,1.3901a24.21179,24.21179,0,0,0-3.46016,2.78322c-.091.0875-.16973.21143-.35733.21894a5.57224,5.57224,0,0,0,.09706-1.94387c-.00995-2.33151-.02661-4.663-.03065-6.99448a6.03992,6.03992,0,0,1-.01452-1.35278c-.25077-.34677-.47615-.36457-.81041-.04567-.29061.27726-.56864.56772-.85315.85139a1.12665,1.12665,0,0,1-1.86435.01994Q9.92642,6.42125,8.07487,4.57555a.9829.9829,0,0,0-1.40108-.14814,4.77373,4.77373,0,0,0-.79463.73413c-1.32987,1.32182-2.64377,2.66-3.98748,3.9675a1.24555,1.24555,0,0,0-.00739,1.80629C3.14062,12.12315,4.324,13.388,5.57635,14.5802a1.136,1.136,0,0,1,.02593,1.69207c-.34242.33956-.67283.69143-1.00373,1.04239-.28268.29972-.26168.48335.07418.7549q1.58561.01881,3.1712.03767c1.82291.02154,3.64582.05173,5.46881.05913a3.45561,3.45561,0,0,0,1.61461-.148c.03652.18066-.067.24193-.13839.31314a27.06844,27.06844,0,0,0-4.05762,5.26874c-.0687.11418-.14895.22142-.22359.33125-.05581.12-.10473.24444-.169.36041A26.9253,26.9253,0,0,0,8.88769,27.3392,27.73505,27.73505,0,0,0,13.154,55.32546a12.98283,12.98283,0,0,0,2.4832,2.55765,2.12269,2.12269,0,0,0,1.56981-.31592,14.07163,14.07163,0,0,0,1.72963-1.61229c.15634-.14383.00461-.26521-.0891-.375-.66851-.78331-1.3328-1.57031-2.00773-2.34805a22.98006,22.98006,0,0,1-4.66278-8.71141,26.20353,26.20353,0,0,1-.87038-4.65462c-.03068-.289.065-.37757.35035-.37349.73733.01052,1.47508-.00179,2.21256-.01262a1.74435,1.74435,0,1,0-.04769-3.48536q-1.08621-.01573-2.17272-.0021c-.28958.004-.37555-.11749-.34513-.39022a26.118,26.118,0,0,1,.575-3.405,23.29036,23.29036,0,0,1,4.77429-9.46251c.18173-.21729.24951-.16568.41069.00241.90675.94555,1.8249,1.88021,2.74144,2.81635m4.78222,4.46938,10.545,3.45006a4.92774,4.92774,0,0,1,4.83921,4.90548,4.89193,4.89193,0,0,1-9.78384-.02387A4.91464,4.91464,0,0,1,35.1327,33.47275Z"
+     id="path12"
+     style="fill:#b9b9b9;fill-opacity:1" />
+</svg>
diff --git a/app/images/AGL_Icons_CruiseControl_green.svg b/app/images/AGL_Icons_CruiseControl_green.svg
new file mode 100644 (file)
index 0000000..b229909
--- /dev/null
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="Layer_1"
+   data-name="Layer 1"
+   viewBox="0 0 64 64"
+   version="1.1"
+   sodipodi:docname="AGL_Icons_CruiseControl_green.svg"
+   inkscape:version="0.92.4 (unknown)">
+  <metadata
+     id="metadata17">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>AGL-new-icons-2</dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1349"
+     inkscape:window-height="832"
+     id="namedview15"
+     showgrid="false"
+     inkscape:zoom="3.6875"
+     inkscape:cx="32.542373"
+     inkscape:cy="32"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="Layer_1" />
+  <defs
+     id="defs4">
+    <style
+       id="style2">.cls-1{fill:#666;}.cls-2{fill:#fff;}</style>
+  </defs>
+  <title
+     id="title6">AGL-new-icons-2</title>
+  <path
+     class="cls-1"
+     d="M35.05031,43.25743a4.86566,4.86566,0,0,0,4.9216-4.8792,4.89193,4.89193,0,1,0-9.78384-.02387A4.87784,4.87784,0,0,0,35.05031,43.25743Z"
+     id="path8"
+     style="fill:#00ff00;fill-opacity:1" />
+  <path
+     class="cls-2"
+     d="M35.05031,43.25743a4.86566,4.86566,0,0,0,4.9216-4.8792,4.89193,4.89193,0,1,0-9.78384-.02387A4.87784,4.87784,0,0,0,35.05031,43.25743Z"
+     id="path10"
+     style="fill:#00ff00;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M27.87548,33.70618c.13343.14052.11688.25454.01746.42343a8.06825,8.06825,0,0,0-1.12477,3.39684,8.17582,8.17582,0,0,0,2.00677,6.32238,8.37807,8.37807,0,0,0,4.35395,2.65547,7.82029,7.82029,0,0,0,3.155.12031,8.33976,8.33976,0,0,0,5.28357-13.43835,8.42189,8.42189,0,0,0-2.74735-2.23677,7.46105,7.46105,0,0,0-2.81734-.85166,7.82757,7.82757,0,0,0-5.15033,1.12191.43962.43962,0,0,1-.664-.0995c-.15116-.18584-.33018-.34916-.49823-.5211q-1.41491-1.44748-2.83-2.8948c-.63528-.65209-1.2624-1.31211-1.89931-1.96259-.99161-1.01266-1.99023-2.01837-2.98238-3.03049-.78757-.80339-1.556-1.62627-2.36322-2.40927-.234-.227-.20739-.37505-.00782-.542a22.63476,22.63476,0,0,1,3.497-2.419,25.79691,25.79691,0,0,1,2.85593-1.374A23.451,23.451,0,0,1,32.4996,14.38c.32107-.03221.46171.06283.45122.41425-.02241.75071-.01185,1.50256-.00736,2.25392a1.58217,1.58217,0,0,0,.43933,1.0926,1.81759,1.81759,0,0,0,1.95169.46845,1.74,1.74,0,0,0,1.07841-1.64526c.00385-.73794.00523-1.476-.00793-2.21378-.00491-.27494.08864-.4049.37265-.37246.1064.01216.215.005.32141.017a23.21351,23.21351,0,0,1,9.877,3.37847,24.63078,24.63078,0,0,1,2.67884,1.913c.24647.20465.28352.356.02074.59765-.52285.48088-1.02134.98951-1.51251,1.50329a1.7268,1.7268,0,0,0,.10636,2.62589,1.76026,1.76026,0,0,0,2.46265-.2481c.48739-.47909.96526-.9679,1.44549-1.45423.14144-.14322.27693-.286.44752-.03637l1.66234,2.25908-.00126-.00042.08418.164-.00679-.00576.0716.06211.0974.142.05631.10179.035.09717a.14307.14307,0,0,1,.10262.1443l.04606.10937a.47152.47152,0,0,1,.21295.31169.03358.03358,0,0,1,.0263.0358l.06031.109.02261.08837.09881.14708a18.19777,18.19777,0,0,1,1.6612,3.637A23.49559,23.49559,0,0,1,58.05005,35.557c.03317.3184-.05413.44283-.377.437-.69673-.0127-1.3938-.00846-2.09076-.00728a1.755,1.755,0,1,0-.10332,3.50549c.71008.013,1.42065-.003,2.131-.002.18181.00027.43037-.02981.42229.23373a7.63647,7.63647,0,0,1-.29156,2.12633,14.05945,14.05945,0,0,1-.86916,3.39223l-.01415.08276a13.17565,13.17565,0,0,1-1.18367,2.78738,2.03425,2.03425,0,0,1-.353.7554,22.85421,22.85421,0,0,1-2.58689,3.84143c-.22184.2688-.38188.24856-.60551.01182-.42121-.446-.87945-.85761-1.29087-1.312a2.07186,2.07186,0,0,0-1.61842-.74217l-.78338.27654a1.75,1.75,0,0,0-.30216,2.68764c1.16831,1.183,2.35114,2.35152,3.52345,3.53051a1.87872,1.87872,0,0,0,2.94993-.03687,28.13123,28.13123,0,0,0,3.86842-4.962A27.57384,27.57384,0,0,0,61.041,46.63479a28.38262,28.38262,0,0,0,1.24463-12.45,27.29151,27.29151,0,0,0-1.80156-6.856A29.60616,29.60616,0,0,0,57.953,22.50037c-.51294-.79882-1.13026-1.52155-1.63066-2.32731-.128-.137-.26072-.27-.38336-.41169a28.32566,28.32566,0,0,0-6.32108-5.49355A27.86082,27.86082,0,0,0,24.77675,11.743c-1.20563.45538-2.3498,1.04075-3.50945,1.59456-.73162.46254-1.47066.91388-2.19324,1.3901a24.21179,24.21179,0,0,0-3.46016,2.78322c-.091.0875-.16973.21143-.35733.21894a5.57224,5.57224,0,0,0,.09706-1.94387c-.00995-2.33151-.02661-4.663-.03065-6.99448a6.03992,6.03992,0,0,1-.01452-1.35278c-.25077-.34677-.47615-.36457-.81041-.04567-.29061.27726-.56864.56772-.85315.85139a1.12665,1.12665,0,0,1-1.86435.01994Q9.92642,6.42125,8.07487,4.57555a.9829.9829,0,0,0-1.40108-.14814,4.77373,4.77373,0,0,0-.79463.73413c-1.32987,1.32182-2.64377,2.66-3.98748,3.9675a1.24555,1.24555,0,0,0-.00739,1.80629C3.14062,12.12315,4.324,13.388,5.57635,14.5802a1.136,1.136,0,0,1,.02593,1.69207c-.34242.33956-.67283.69143-1.00373,1.04239-.28268.29972-.26168.48335.07418.7549q1.58561.01881,3.1712.03767c1.82291.02154,3.64582.05173,5.46881.05913a3.45561,3.45561,0,0,0,1.61461-.148c.03652.18066-.067.24193-.13839.31314a27.06844,27.06844,0,0,0-4.05762,5.26874c-.0687.11418-.14895.22142-.22359.33125-.05581.12-.10473.24444-.169.36041A26.9253,26.9253,0,0,0,8.88769,27.3392,27.73505,27.73505,0,0,0,13.154,55.32546a12.98283,12.98283,0,0,0,2.4832,2.55765,2.12269,2.12269,0,0,0,1.56981-.31592,14.07163,14.07163,0,0,0,1.72963-1.61229c.15634-.14383.00461-.26521-.0891-.375-.66851-.78331-1.3328-1.57031-2.00773-2.34805a22.98006,22.98006,0,0,1-4.66278-8.71141,26.20353,26.20353,0,0,1-.87038-4.65462c-.03068-.289.065-.37757.35035-.37349.73733.01052,1.47508-.00179,2.21256-.01262a1.74435,1.74435,0,1,0-.04769-3.48536q-1.08621-.01573-2.17272-.0021c-.28958.004-.37555-.11749-.34513-.39022a26.118,26.118,0,0,1,.575-3.405,23.29036,23.29036,0,0,1,4.77429-9.46251c.18173-.21729.24951-.16568.41069.00241.90675.94555,1.8249,1.88021,2.74144,2.81635m4.78222,4.46938,10.545,3.45006a4.92774,4.92774,0,0,1,4.83921,4.90548,4.89193,4.89193,0,0,1-9.78384-.02387A4.91464,4.91464,0,0,1,35.1327,33.47275Z"
+     id="path12"
+     style="fill:#00ff00;fill-opacity:1" />
+</svg>
diff --git a/app/images/AGL_Icons_CruiseControl_white.svg b/app/images/AGL_Icons_CruiseControl_white.svg
new file mode 100644 (file)
index 0000000..8c2ab25
--- /dev/null
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="Layer_1"
+   data-name="Layer 1"
+   viewBox="0 0 64 64"
+   version="1.1"
+   sodipodi:docname="AGL_Icons_CruiseControl_white.svg"
+   inkscape:version="0.92.4 (unknown)">
+  <metadata
+     id="metadata17">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>AGL-new-icons-2</dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1349"
+     inkscape:window-height="832"
+     id="namedview15"
+     showgrid="false"
+     inkscape:zoom="3.6875"
+     inkscape:cx="32.542373"
+     inkscape:cy="32"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="Layer_1" />
+  <defs
+     id="defs4">
+    <style
+       id="style2">.cls-1{fill:#666;}.cls-2{fill:#fff;}</style>
+  </defs>
+  <title
+     id="title6">AGL-new-icons-2</title>
+  <path
+     class="cls-1"
+     d="M35.05031,43.25743a4.86566,4.86566,0,0,0,4.9216-4.8792,4.89193,4.89193,0,1,0-9.78384-.02387A4.87784,4.87784,0,0,0,35.05031,43.25743Z"
+     id="path8"
+     style="fill:#ffffff;fill-opacity:1" />
+  <path
+     class="cls-2"
+     d="M35.05031,43.25743a4.86566,4.86566,0,0,0,4.9216-4.8792,4.89193,4.89193,0,1,0-9.78384-.02387A4.87784,4.87784,0,0,0,35.05031,43.25743Z"
+     id="path10"
+     style="fill:#ffffff;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M27.87548,33.70618c.13343.14052.11688.25454.01746.42343a8.06825,8.06825,0,0,0-1.12477,3.39684,8.17582,8.17582,0,0,0,2.00677,6.32238,8.37807,8.37807,0,0,0,4.35395,2.65547,7.82029,7.82029,0,0,0,3.155.12031,8.33976,8.33976,0,0,0,5.28357-13.43835,8.42189,8.42189,0,0,0-2.74735-2.23677,7.46105,7.46105,0,0,0-2.81734-.85166,7.82757,7.82757,0,0,0-5.15033,1.12191.43962.43962,0,0,1-.664-.0995c-.15116-.18584-.33018-.34916-.49823-.5211q-1.41491-1.44748-2.83-2.8948c-.63528-.65209-1.2624-1.31211-1.89931-1.96259-.99161-1.01266-1.99023-2.01837-2.98238-3.03049-.78757-.80339-1.556-1.62627-2.36322-2.40927-.234-.227-.20739-.37505-.00782-.542a22.63476,22.63476,0,0,1,3.497-2.419,25.79691,25.79691,0,0,1,2.85593-1.374A23.451,23.451,0,0,1,32.4996,14.38c.32107-.03221.46171.06283.45122.41425-.02241.75071-.01185,1.50256-.00736,2.25392a1.58217,1.58217,0,0,0,.43933,1.0926,1.81759,1.81759,0,0,0,1.95169.46845,1.74,1.74,0,0,0,1.07841-1.64526c.00385-.73794.00523-1.476-.00793-2.21378-.00491-.27494.08864-.4049.37265-.37246.1064.01216.215.005.32141.017a23.21351,23.21351,0,0,1,9.877,3.37847,24.63078,24.63078,0,0,1,2.67884,1.913c.24647.20465.28352.356.02074.59765-.52285.48088-1.02134.98951-1.51251,1.50329a1.7268,1.7268,0,0,0,.10636,2.62589,1.76026,1.76026,0,0,0,2.46265-.2481c.48739-.47909.96526-.9679,1.44549-1.45423.14144-.14322.27693-.286.44752-.03637l1.66234,2.25908-.00126-.00042.08418.164-.00679-.00576.0716.06211.0974.142.05631.10179.035.09717a.14307.14307,0,0,1,.10262.1443l.04606.10937a.47152.47152,0,0,1,.21295.31169.03358.03358,0,0,1,.0263.0358l.06031.109.02261.08837.09881.14708a18.19777,18.19777,0,0,1,1.6612,3.637A23.49559,23.49559,0,0,1,58.05005,35.557c.03317.3184-.05413.44283-.377.437-.69673-.0127-1.3938-.00846-2.09076-.00728a1.755,1.755,0,1,0-.10332,3.50549c.71008.013,1.42065-.003,2.131-.002.18181.00027.43037-.02981.42229.23373a7.63647,7.63647,0,0,1-.29156,2.12633,14.05945,14.05945,0,0,1-.86916,3.39223l-.01415.08276a13.17565,13.17565,0,0,1-1.18367,2.78738,2.03425,2.03425,0,0,1-.353.7554,22.85421,22.85421,0,0,1-2.58689,3.84143c-.22184.2688-.38188.24856-.60551.01182-.42121-.446-.87945-.85761-1.29087-1.312a2.07186,2.07186,0,0,0-1.61842-.74217l-.78338.27654a1.75,1.75,0,0,0-.30216,2.68764c1.16831,1.183,2.35114,2.35152,3.52345,3.53051a1.87872,1.87872,0,0,0,2.94993-.03687,28.13123,28.13123,0,0,0,3.86842-4.962A27.57384,27.57384,0,0,0,61.041,46.63479a28.38262,28.38262,0,0,0,1.24463-12.45,27.29151,27.29151,0,0,0-1.80156-6.856A29.60616,29.60616,0,0,0,57.953,22.50037c-.51294-.79882-1.13026-1.52155-1.63066-2.32731-.128-.137-.26072-.27-.38336-.41169a28.32566,28.32566,0,0,0-6.32108-5.49355A27.86082,27.86082,0,0,0,24.77675,11.743c-1.20563.45538-2.3498,1.04075-3.50945,1.59456-.73162.46254-1.47066.91388-2.19324,1.3901a24.21179,24.21179,0,0,0-3.46016,2.78322c-.091.0875-.16973.21143-.35733.21894a5.57224,5.57224,0,0,0,.09706-1.94387c-.00995-2.33151-.02661-4.663-.03065-6.99448a6.03992,6.03992,0,0,1-.01452-1.35278c-.25077-.34677-.47615-.36457-.81041-.04567-.29061.27726-.56864.56772-.85315.85139a1.12665,1.12665,0,0,1-1.86435.01994Q9.92642,6.42125,8.07487,4.57555a.9829.9829,0,0,0-1.40108-.14814,4.77373,4.77373,0,0,0-.79463.73413c-1.32987,1.32182-2.64377,2.66-3.98748,3.9675a1.24555,1.24555,0,0,0-.00739,1.80629C3.14062,12.12315,4.324,13.388,5.57635,14.5802a1.136,1.136,0,0,1,.02593,1.69207c-.34242.33956-.67283.69143-1.00373,1.04239-.28268.29972-.26168.48335.07418.7549q1.58561.01881,3.1712.03767c1.82291.02154,3.64582.05173,5.46881.05913a3.45561,3.45561,0,0,0,1.61461-.148c.03652.18066-.067.24193-.13839.31314a27.06844,27.06844,0,0,0-4.05762,5.26874c-.0687.11418-.14895.22142-.22359.33125-.05581.12-.10473.24444-.169.36041A26.9253,26.9253,0,0,0,8.88769,27.3392,27.73505,27.73505,0,0,0,13.154,55.32546a12.98283,12.98283,0,0,0,2.4832,2.55765,2.12269,2.12269,0,0,0,1.56981-.31592,14.07163,14.07163,0,0,0,1.72963-1.61229c.15634-.14383.00461-.26521-.0891-.375-.66851-.78331-1.3328-1.57031-2.00773-2.34805a22.98006,22.98006,0,0,1-4.66278-8.71141,26.20353,26.20353,0,0,1-.87038-4.65462c-.03068-.289.065-.37757.35035-.37349.73733.01052,1.47508-.00179,2.21256-.01262a1.74435,1.74435,0,1,0-.04769-3.48536q-1.08621-.01573-2.17272-.0021c-.28958.004-.37555-.11749-.34513-.39022a26.118,26.118,0,0,1,.575-3.405,23.29036,23.29036,0,0,1,4.77429-9.46251c.18173-.21729.24951-.16568.41069.00241.90675.94555,1.8249,1.88021,2.74144,2.81635m4.78222,4.46938,10.545,3.45006a4.92774,4.92774,0,0,1,4.83921,4.90548,4.89193,4.89193,0,0,1-9.78384-.02387A4.91464,4.91464,0,0,1,35.1327,33.47275Z"
+     id="path12"
+     style="fill:#ffffff;fill-opacity:1" />
+</svg>
diff --git a/app/images/AGL_Icons_CruiseControl_yellow.svg b/app/images/AGL_Icons_CruiseControl_yellow.svg
new file mode 100644 (file)
index 0000000..4712a19
--- /dev/null
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="Layer_1"
+   data-name="Layer 1"
+   viewBox="0 0 64 64"
+   version="1.1"
+   sodipodi:docname="AGL_Icons_CruiseControl_yellow.svg"
+   inkscape:version="0.92.4 (unknown)">
+  <metadata
+     id="metadata17">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>AGL-new-icons-2</dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1349"
+     inkscape:window-height="832"
+     id="namedview15"
+     showgrid="false"
+     inkscape:zoom="3.6875"
+     inkscape:cx="-7.1864406"
+     inkscape:cy="32"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="Layer_1" />
+  <defs
+     id="defs4">
+    <style
+       id="style2">.cls-1{fill:#666;}.cls-2{fill:#fff;}</style>
+  </defs>
+  <title
+     id="title6">AGL-new-icons-2</title>
+  <path
+     class="cls-1"
+     d="M35.05031,43.25743a4.86566,4.86566,0,0,0,4.9216-4.8792,4.89193,4.89193,0,1,0-9.78384-.02387A4.87784,4.87784,0,0,0,35.05031,43.25743Z"
+     id="path8"
+     style="fill:#ffff00;fill-opacity:1" />
+  <path
+     class="cls-2"
+     d="M35.05031,43.25743a4.86566,4.86566,0,0,0,4.9216-4.8792,4.89193,4.89193,0,1,0-9.78384-.02387A4.87784,4.87784,0,0,0,35.05031,43.25743Z"
+     id="path10"
+     style="fill:#ffff00;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M27.87548,33.70618c.13343.14052.11688.25454.01746.42343a8.06825,8.06825,0,0,0-1.12477,3.39684,8.17582,8.17582,0,0,0,2.00677,6.32238,8.37807,8.37807,0,0,0,4.35395,2.65547,7.82029,7.82029,0,0,0,3.155.12031,8.33976,8.33976,0,0,0,5.28357-13.43835,8.42189,8.42189,0,0,0-2.74735-2.23677,7.46105,7.46105,0,0,0-2.81734-.85166,7.82757,7.82757,0,0,0-5.15033,1.12191.43962.43962,0,0,1-.664-.0995c-.15116-.18584-.33018-.34916-.49823-.5211q-1.41491-1.44748-2.83-2.8948c-.63528-.65209-1.2624-1.31211-1.89931-1.96259-.99161-1.01266-1.99023-2.01837-2.98238-3.03049-.78757-.80339-1.556-1.62627-2.36322-2.40927-.234-.227-.20739-.37505-.00782-.542a22.63476,22.63476,0,0,1,3.497-2.419,25.79691,25.79691,0,0,1,2.85593-1.374A23.451,23.451,0,0,1,32.4996,14.38c.32107-.03221.46171.06283.45122.41425-.02241.75071-.01185,1.50256-.00736,2.25392a1.58217,1.58217,0,0,0,.43933,1.0926,1.81759,1.81759,0,0,0,1.95169.46845,1.74,1.74,0,0,0,1.07841-1.64526c.00385-.73794.00523-1.476-.00793-2.21378-.00491-.27494.08864-.4049.37265-.37246.1064.01216.215.005.32141.017a23.21351,23.21351,0,0,1,9.877,3.37847,24.63078,24.63078,0,0,1,2.67884,1.913c.24647.20465.28352.356.02074.59765-.52285.48088-1.02134.98951-1.51251,1.50329a1.7268,1.7268,0,0,0,.10636,2.62589,1.76026,1.76026,0,0,0,2.46265-.2481c.48739-.47909.96526-.9679,1.44549-1.45423.14144-.14322.27693-.286.44752-.03637l1.66234,2.25908-.00126-.00042.08418.164-.00679-.00576.0716.06211.0974.142.05631.10179.035.09717a.14307.14307,0,0,1,.10262.1443l.04606.10937a.47152.47152,0,0,1,.21295.31169.03358.03358,0,0,1,.0263.0358l.06031.109.02261.08837.09881.14708a18.19777,18.19777,0,0,1,1.6612,3.637A23.49559,23.49559,0,0,1,58.05005,35.557c.03317.3184-.05413.44283-.377.437-.69673-.0127-1.3938-.00846-2.09076-.00728a1.755,1.755,0,1,0-.10332,3.50549c.71008.013,1.42065-.003,2.131-.002.18181.00027.43037-.02981.42229.23373a7.63647,7.63647,0,0,1-.29156,2.12633,14.05945,14.05945,0,0,1-.86916,3.39223l-.01415.08276a13.17565,13.17565,0,0,1-1.18367,2.78738,2.03425,2.03425,0,0,1-.353.7554,22.85421,22.85421,0,0,1-2.58689,3.84143c-.22184.2688-.38188.24856-.60551.01182-.42121-.446-.87945-.85761-1.29087-1.312a2.07186,2.07186,0,0,0-1.61842-.74217l-.78338.27654a1.75,1.75,0,0,0-.30216,2.68764c1.16831,1.183,2.35114,2.35152,3.52345,3.53051a1.87872,1.87872,0,0,0,2.94993-.03687,28.13123,28.13123,0,0,0,3.86842-4.962A27.57384,27.57384,0,0,0,61.041,46.63479a28.38262,28.38262,0,0,0,1.24463-12.45,27.29151,27.29151,0,0,0-1.80156-6.856A29.60616,29.60616,0,0,0,57.953,22.50037c-.51294-.79882-1.13026-1.52155-1.63066-2.32731-.128-.137-.26072-.27-.38336-.41169a28.32566,28.32566,0,0,0-6.32108-5.49355A27.86082,27.86082,0,0,0,24.77675,11.743c-1.20563.45538-2.3498,1.04075-3.50945,1.59456-.73162.46254-1.47066.91388-2.19324,1.3901a24.21179,24.21179,0,0,0-3.46016,2.78322c-.091.0875-.16973.21143-.35733.21894a5.57224,5.57224,0,0,0,.09706-1.94387c-.00995-2.33151-.02661-4.663-.03065-6.99448a6.03992,6.03992,0,0,1-.01452-1.35278c-.25077-.34677-.47615-.36457-.81041-.04567-.29061.27726-.56864.56772-.85315.85139a1.12665,1.12665,0,0,1-1.86435.01994Q9.92642,6.42125,8.07487,4.57555a.9829.9829,0,0,0-1.40108-.14814,4.77373,4.77373,0,0,0-.79463.73413c-1.32987,1.32182-2.64377,2.66-3.98748,3.9675a1.24555,1.24555,0,0,0-.00739,1.80629C3.14062,12.12315,4.324,13.388,5.57635,14.5802a1.136,1.136,0,0,1,.02593,1.69207c-.34242.33956-.67283.69143-1.00373,1.04239-.28268.29972-.26168.48335.07418.7549q1.58561.01881,3.1712.03767c1.82291.02154,3.64582.05173,5.46881.05913a3.45561,3.45561,0,0,0,1.61461-.148c.03652.18066-.067.24193-.13839.31314a27.06844,27.06844,0,0,0-4.05762,5.26874c-.0687.11418-.14895.22142-.22359.33125-.05581.12-.10473.24444-.169.36041A26.9253,26.9253,0,0,0,8.88769,27.3392,27.73505,27.73505,0,0,0,13.154,55.32546a12.98283,12.98283,0,0,0,2.4832,2.55765,2.12269,2.12269,0,0,0,1.56981-.31592,14.07163,14.07163,0,0,0,1.72963-1.61229c.15634-.14383.00461-.26521-.0891-.375-.66851-.78331-1.3328-1.57031-2.00773-2.34805a22.98006,22.98006,0,0,1-4.66278-8.71141,26.20353,26.20353,0,0,1-.87038-4.65462c-.03068-.289.065-.37757.35035-.37349.73733.01052,1.47508-.00179,2.21256-.01262a1.74435,1.74435,0,1,0-.04769-3.48536q-1.08621-.01573-2.17272-.0021c-.28958.004-.37555-.11749-.34513-.39022a26.118,26.118,0,0,1,.575-3.405,23.29036,23.29036,0,0,1,4.77429-9.46251c.18173-.21729.24951-.16568.41069.00241.90675.94555,1.8249,1.88021,2.74144,2.81635m4.78222,4.46938,10.545,3.45006a4.92774,4.92774,0,0,1,4.83921,4.90548,4.89193,4.89193,0,0,1-9.78384-.02387A4.91464,4.91464,0,0,1,35.1327,33.47275Z"
+     id="path12"
+     style="fill:#ffff00;fill-opacity:1" />
+</svg>
diff --git a/app/images/AGL_Icons_LaneDeparture.svg b/app/images/AGL_Icons_LaneDeparture.svg
new file mode 100644 (file)
index 0000000..89b51a8
--- /dev/null
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="Layer_1"
+   data-name="Layer 1"
+   viewBox="0 0 64 64"
+   version="1.1"
+   sodipodi:docname="AGL_Icons_LaneDeparture.svg"
+   inkscape:version="0.92.4 (unknown)">
+  <metadata
+     id="metadata25">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1343"
+     inkscape:window-height="823"
+     id="namedview23"
+     showgrid="false"
+     inkscape:zoom="3.6875"
+     inkscape:cx="32.542373"
+     inkscape:cy="32"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="Layer_1" />
+  <defs
+     id="defs4">
+    <style
+       id="style2">.cls-1{fill:#666;}</style>
+  </defs>
+  <title
+     id="title6">AGL-new-icons-2</title>
+  <path
+     class="cls-1"
+     d="M44.939,30.57106a3.59,3.59,0,0,0,1.73739-.9482c.32452-.35506.30892-.53367-.06369-.847a4.65066,4.65066,0,0,0-1.72547-.82423,1.18976,1.18976,0,0,0-1.56452.52073c-.624-1.29616-1.27076-2.53741-1.94015-3.769a2.98654,2.98654,0,0,0-2.418-1.6105,49.46189,49.46189,0,0,0-9.25755-.4488,35.4494,35.4494,0,0,0-4.41582.46554,2.24164,2.24164,0,0,0-1.59853,1.01524,19.18645,19.18645,0,0,0-1.03322,1.71659c-.43273.83534-.8557,1.67576-1.294,2.5359a1.09192,1.09192,0,0,0-1.39923-.5627,4.85856,4.85856,0,0,0-1.27314.50789c-.33156.19665-.77.3686-.775.816-.0053.48119.43338.69365.79948.88683.4155.21923.86.38393,1.29373.568.12456.05281.241.08942.21143.271a2.9427,2.9427,0,0,1-.99575,2.02729,2.78619,2.78619,0,0,0-1.122,2.38664c.01928,2.94906.00693,5.89839.00693,8.84756,0,.10485-.00411.21019.00379.3145a.67061.67061,0,0,0,.72594.70812q1.55406.01494,3.10834-.00065a.66748.66748,0,0,0,.71337-.71976,6.56669,6.56669,0,0,0-.00466-.94289c-.045-.3953.11167-.46652.47962-.46582q9.28587.01747,18.57152.00829a.437.437,0,0,0,.07864-.0006c.33134-.06147.40315.10491.38127.39817-.02123.28677-.00617.57641-.00455.86474.0038.63019.22617.85927.847.86144.905.00325,1.81.0013,2.71494.001.78237-.00027.98459-.19746.98492-.96872q.00162-3.55875-.00076-7.11744c-.00119-.78616-.00314-1.5727-.02957-2.35826a2.04205,2.04205,0,0,0-.89945-1.67185,2.8569,2.8569,0,0,1-1.15075-1.934C44.572,30.81109,44.61555,30.66443,44.939,30.57106ZM19.25013,36.00061c.4142-.70118.81865-1.38287,1.2191-2.06694.07506-.12835.19074-.11595.30794-.11595,1.678.00005,3.35606.00569,5.03409-.00552.30393-.002.28346.092.1745.30848-.22952.45585-.44247.92014-.65542,1.38411a.36477.36477,0,0,1-.343.26337c-1.85935.0846-3.71827.1777-5.5774.26684A.84379.84379,0,0,1,19.25013,36.00061Zm4.73406-6.21647c-.33242.00114-.3999-.04679-.2409-.37477q.97614-2.01394,1.89986-4.05318a.77975.77975,0,0,1,.6291-.505,26.80857,26.80857,0,0,1,3.60086-.30248,64.44194,64.44194,0,0,1,7.46546.14184c1.57112.12132,1.57393.09852,2.21722,1.52888.47778,1.06242.94138,2.13144,1.43508,3.18644.15283.32663.07994.38-.25216.37889-2.79238-.0098-5.58477-.00558-8.37726-.00558C29.569,29.77884,26.77657,29.77477,23.98419,29.78414ZM45.506,36.04919c-1.58564-.0782-3.0778-.15159-4.56985-.22557a6.588,6.588,0,0,0-.90292-.0398.65985.65985,0,0,1-.75518-.50687c-.18825-.48179-.43142-.94218-.6734-1.45956,1.149,0,2.23477-.00005,3.32042,0,.65586.00006,1.31182-.0007,1.96756.001.13973.00038.28119-.02843.37629.13583C44.66105,34.631,45.06333,35.30181,45.506,36.04919Z"
+     id="path8"
+     style="fill:#b9b9b9;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M63.26062,45.5394q-2.24376-4.392-4.47778-8.789a.51334.51334,0,0,0-.53443-.33594c-1.587.01527-3.17431.01257-4.76146.00255-.282-.00179-.33415.05123-.217.32348q2.26846,5.2692,4.51375,10.54829a.40042.40042,0,0,0,.44691.27377q1.1802-.01494,2.361-.00162c.96954.01126,1.93961-.0404,2.90839.02789v-1.652A1.02426,1.02426,0,0,1,63.26062,45.5394Z"
+     id="path10"
+     style="fill:#b9b9b9;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M10.35328,36.41665c-1.57372.01089-3.14766.01332-4.72138-.00216a.5381.5381,0,0,0-.56227.35468C3.782,39.31751,2.50709,41.87307,1.16722,44.394a4.56713,4.56713,0,0,0-.63971,2.76363.26831.26831,0,0,1-.00022.07847c-.04755.26965.08362.33085.33058.32722.79992-.0118,1.60005-.00444,2.40007-.00449.78691-.00011,1.574-.00867,2.36063.005a.42382.42382,0,0,0,.468-.30155q2.2371-5.26009,4.49933-10.50957C10.71419,36.45537,10.64313,36.41465,10.35328,36.41665Z"
+     id="path12"
+     style="fill:#b9b9b9;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M56.50972,33.07251c.27556.00395.35073-.04517.20678-.32306q-1.84245-3.55622-3.662-7.12426a.37438.37438,0,0,0-.39026-.23889c-1.32362.0085-2.64724.011-3.97086-.00114-.295-.00265-.28682.08936-.18869.31363q1.55066,3.54251,3.084,7.09258a.40116.40116,0,0,0,.43911.28254c.74684-.01272,1.49389-.00482,2.24095-.00492S55.76278,33.06178,56.50972,33.07251Z"
+     id="path14"
+     style="fill:#b9b9b9;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M15.16478,25.386c-1.32481.01089-2.64973.00731-3.97465.00141a.3497.3497,0,0,0-.36871.21138q-1.833,3.58717-3.68361,7.16531c-.135.26072-.05935.31033.19735.30746.76082-.0084,1.52163-.003,2.28255-.00287.73449.00016,1.4693-.00623,2.20368.00406a.40064.40064,0,0,0,.44724-.27014q1.52937-3.55558,3.08408-7.10011C15.45214,25.4755,15.4594,25.38365,15.16478,25.386Z"
+     id="path16"
+     style="fill:#b9b9b9;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M18.813,17.63272a1.46569,1.46569,0,0,0-.19475-.03255c-1.16689-.00173-2.334.00385-3.50077-.0072-.216-.00206-.28769.11-.36871.27285q-1.26015,2.53158-2.53611,5.05537c-.14059.27653-.10918.3451.20688.34169q1.82881-.0195,3.65816.00037a.42428.42428,0,0,0,.46131-.31211c.50963-1.22023,1.03854-2.43239,1.56008-3.6477C18.33508,18.75363,18.56926,18.20311,18.813,17.63272Z"
+     id="path18"
+     style="fill:#b9b9b9;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M51.52622,23.26055c.23732.00341.26407-.05763.15868-.26608q-1.30336-2.57676-2.58745-5.16315a.374.374,0,0,0-.39275-.23727c-1.11458.008-2.22936.01035-3.34393-.00081-.27058-.00271-.3126.06418-.206.30951q1.10417,2.54,2.1869,5.08912a.3726.3726,0,0,0,.40792.27073c.6161-.014,1.23263-.00487,1.849-.005C50.24105,23.25741,50.8838,23.25139,51.52622,23.26055Z"
+     id="path20"
+     style="fill:#b9b9b9;fill-opacity:1" />
+</svg>
diff --git a/app/images/AGL_Icons_LaneDeparture_green.svg b/app/images/AGL_Icons_LaneDeparture_green.svg
new file mode 100644 (file)
index 0000000..fa5d845
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="Layer_1"
+   data-name="Layer 1"
+   viewBox="0 0 64 64"
+   version="1.1"
+   sodipodi:docname="AGL_Icons_LaneDeparture_green.svg"
+   inkscape:version="0.92.4 (unknown)">
+  <metadata
+     id="metadata25">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>AGL-new-icons-2</dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1343"
+     inkscape:window-height="823"
+     id="namedview23"
+     showgrid="false"
+     inkscape:zoom="3.6875"
+     inkscape:cx="32.542373"
+     inkscape:cy="32"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="Layer_1" />
+  <defs
+     id="defs4">
+    <style
+       id="style2">.cls-1{fill:#666;}</style>
+  </defs>
+  <title
+     id="title6">AGL-new-icons-2</title>
+  <path
+     class="cls-1"
+     d="M44.939,30.57106a3.59,3.59,0,0,0,1.73739-.9482c.32452-.35506.30892-.53367-.06369-.847a4.65066,4.65066,0,0,0-1.72547-.82423,1.18976,1.18976,0,0,0-1.56452.52073c-.624-1.29616-1.27076-2.53741-1.94015-3.769a2.98654,2.98654,0,0,0-2.418-1.6105,49.46189,49.46189,0,0,0-9.25755-.4488,35.4494,35.4494,0,0,0-4.41582.46554,2.24164,2.24164,0,0,0-1.59853,1.01524,19.18645,19.18645,0,0,0-1.03322,1.71659c-.43273.83534-.8557,1.67576-1.294,2.5359a1.09192,1.09192,0,0,0-1.39923-.5627,4.85856,4.85856,0,0,0-1.27314.50789c-.33156.19665-.77.3686-.775.816-.0053.48119.43338.69365.79948.88683.4155.21923.86.38393,1.29373.568.12456.05281.241.08942.21143.271a2.9427,2.9427,0,0,1-.99575,2.02729,2.78619,2.78619,0,0,0-1.122,2.38664c.01928,2.94906.00693,5.89839.00693,8.84756,0,.10485-.00411.21019.00379.3145a.67061.67061,0,0,0,.72594.70812q1.55406.01494,3.10834-.00065a.66748.66748,0,0,0,.71337-.71976,6.56669,6.56669,0,0,0-.00466-.94289c-.045-.3953.11167-.46652.47962-.46582q9.28587.01747,18.57152.00829a.437.437,0,0,0,.07864-.0006c.33134-.06147.40315.10491.38127.39817-.02123.28677-.00617.57641-.00455.86474.0038.63019.22617.85927.847.86144.905.00325,1.81.0013,2.71494.001.78237-.00027.98459-.19746.98492-.96872q.00162-3.55875-.00076-7.11744c-.00119-.78616-.00314-1.5727-.02957-2.35826a2.04205,2.04205,0,0,0-.89945-1.67185,2.8569,2.8569,0,0,1-1.15075-1.934C44.572,30.81109,44.61555,30.66443,44.939,30.57106ZM19.25013,36.00061c.4142-.70118.81865-1.38287,1.2191-2.06694.07506-.12835.19074-.11595.30794-.11595,1.678.00005,3.35606.00569,5.03409-.00552.30393-.002.28346.092.1745.30848-.22952.45585-.44247.92014-.65542,1.38411a.36477.36477,0,0,1-.343.26337c-1.85935.0846-3.71827.1777-5.5774.26684A.84379.84379,0,0,1,19.25013,36.00061Zm4.73406-6.21647c-.33242.00114-.3999-.04679-.2409-.37477q.97614-2.01394,1.89986-4.05318a.77975.77975,0,0,1,.6291-.505,26.80857,26.80857,0,0,1,3.60086-.30248,64.44194,64.44194,0,0,1,7.46546.14184c1.57112.12132,1.57393.09852,2.21722,1.52888.47778,1.06242.94138,2.13144,1.43508,3.18644.15283.32663.07994.38-.25216.37889-2.79238-.0098-5.58477-.00558-8.37726-.00558C29.569,29.77884,26.77657,29.77477,23.98419,29.78414ZM45.506,36.04919c-1.58564-.0782-3.0778-.15159-4.56985-.22557a6.588,6.588,0,0,0-.90292-.0398.65985.65985,0,0,1-.75518-.50687c-.18825-.48179-.43142-.94218-.6734-1.45956,1.149,0,2.23477-.00005,3.32042,0,.65586.00006,1.31182-.0007,1.96756.001.13973.00038.28119-.02843.37629.13583C44.66105,34.631,45.06333,35.30181,45.506,36.04919Z"
+     id="path8"
+     style="fill:#00ff00;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M63.26062,45.5394q-2.24376-4.392-4.47778-8.789a.51334.51334,0,0,0-.53443-.33594c-1.587.01527-3.17431.01257-4.76146.00255-.282-.00179-.33415.05123-.217.32348q2.26846,5.2692,4.51375,10.54829a.40042.40042,0,0,0,.44691.27377q1.1802-.01494,2.361-.00162c.96954.01126,1.93961-.0404,2.90839.02789v-1.652A1.02426,1.02426,0,0,1,63.26062,45.5394Z"
+     id="path10"
+     style="fill:#00ff00;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M10.35328,36.41665c-1.57372.01089-3.14766.01332-4.72138-.00216a.5381.5381,0,0,0-.56227.35468C3.782,39.31751,2.50709,41.87307,1.16722,44.394a4.56713,4.56713,0,0,0-.63971,2.76363.26831.26831,0,0,1-.00022.07847c-.04755.26965.08362.33085.33058.32722.79992-.0118,1.60005-.00444,2.40007-.00449.78691-.00011,1.574-.00867,2.36063.005a.42382.42382,0,0,0,.468-.30155q2.2371-5.26009,4.49933-10.50957C10.71419,36.45537,10.64313,36.41465,10.35328,36.41665Z"
+     id="path12"
+     style="fill:#00ff00;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M56.50972,33.07251c.27556.00395.35073-.04517.20678-.32306q-1.84245-3.55622-3.662-7.12426a.37438.37438,0,0,0-.39026-.23889c-1.32362.0085-2.64724.011-3.97086-.00114-.295-.00265-.28682.08936-.18869.31363q1.55066,3.54251,3.084,7.09258a.40116.40116,0,0,0,.43911.28254c.74684-.01272,1.49389-.00482,2.24095-.00492S55.76278,33.06178,56.50972,33.07251Z"
+     id="path14"
+     style="fill:#00ff00;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M15.16478,25.386c-1.32481.01089-2.64973.00731-3.97465.00141a.3497.3497,0,0,0-.36871.21138q-1.833,3.58717-3.68361,7.16531c-.135.26072-.05935.31033.19735.30746.76082-.0084,1.52163-.003,2.28255-.00287.73449.00016,1.4693-.00623,2.20368.00406a.40064.40064,0,0,0,.44724-.27014q1.52937-3.55558,3.08408-7.10011C15.45214,25.4755,15.4594,25.38365,15.16478,25.386Z"
+     id="path16"
+     style="fill:#00ff00;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M18.813,17.63272a1.46569,1.46569,0,0,0-.19475-.03255c-1.16689-.00173-2.334.00385-3.50077-.0072-.216-.00206-.28769.11-.36871.27285q-1.26015,2.53158-2.53611,5.05537c-.14059.27653-.10918.3451.20688.34169q1.82881-.0195,3.65816.00037a.42428.42428,0,0,0,.46131-.31211c.50963-1.22023,1.03854-2.43239,1.56008-3.6477C18.33508,18.75363,18.56926,18.20311,18.813,17.63272Z"
+     id="path18"
+     style="fill:#00ff00;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M51.52622,23.26055c.23732.00341.26407-.05763.15868-.26608q-1.30336-2.57676-2.58745-5.16315a.374.374,0,0,0-.39275-.23727c-1.11458.008-2.22936.01035-3.34393-.00081-.27058-.00271-.3126.06418-.206.30951q1.10417,2.54,2.1869,5.08912a.3726.3726,0,0,0,.40792.27073c.6161-.014,1.23263-.00487,1.849-.005C50.24105,23.25741,50.8838,23.25139,51.52622,23.26055Z"
+     id="path20"
+     style="fill:#00ff00;fill-opacity:1" />
+</svg>
diff --git a/app/images/AGL_Icons_LaneDeparture_red.svg b/app/images/AGL_Icons_LaneDeparture_red.svg
new file mode 100644 (file)
index 0000000..7ed9204
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="Layer_1"
+   data-name="Layer 1"
+   viewBox="0 0 64 64"
+   version="1.1"
+   sodipodi:docname="AGL_Icons_LaneDeparture_red.svg"
+   inkscape:version="0.92.4 (unknown)">
+  <metadata
+     id="metadata25">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>AGL-new-icons-2</dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1343"
+     inkscape:window-height="823"
+     id="namedview23"
+     showgrid="false"
+     inkscape:zoom="3.6875"
+     inkscape:cx="32.542373"
+     inkscape:cy="32"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="Layer_1" />
+  <defs
+     id="defs4">
+    <style
+       id="style2">.cls-1{fill:#666;}</style>
+  </defs>
+  <title
+     id="title6">AGL-new-icons-2</title>
+  <path
+     class="cls-1"
+     d="M44.939,30.57106a3.59,3.59,0,0,0,1.73739-.9482c.32452-.35506.30892-.53367-.06369-.847a4.65066,4.65066,0,0,0-1.72547-.82423,1.18976,1.18976,0,0,0-1.56452.52073c-.624-1.29616-1.27076-2.53741-1.94015-3.769a2.98654,2.98654,0,0,0-2.418-1.6105,49.46189,49.46189,0,0,0-9.25755-.4488,35.4494,35.4494,0,0,0-4.41582.46554,2.24164,2.24164,0,0,0-1.59853,1.01524,19.18645,19.18645,0,0,0-1.03322,1.71659c-.43273.83534-.8557,1.67576-1.294,2.5359a1.09192,1.09192,0,0,0-1.39923-.5627,4.85856,4.85856,0,0,0-1.27314.50789c-.33156.19665-.77.3686-.775.816-.0053.48119.43338.69365.79948.88683.4155.21923.86.38393,1.29373.568.12456.05281.241.08942.21143.271a2.9427,2.9427,0,0,1-.99575,2.02729,2.78619,2.78619,0,0,0-1.122,2.38664c.01928,2.94906.00693,5.89839.00693,8.84756,0,.10485-.00411.21019.00379.3145a.67061.67061,0,0,0,.72594.70812q1.55406.01494,3.10834-.00065a.66748.66748,0,0,0,.71337-.71976,6.56669,6.56669,0,0,0-.00466-.94289c-.045-.3953.11167-.46652.47962-.46582q9.28587.01747,18.57152.00829a.437.437,0,0,0,.07864-.0006c.33134-.06147.40315.10491.38127.39817-.02123.28677-.00617.57641-.00455.86474.0038.63019.22617.85927.847.86144.905.00325,1.81.0013,2.71494.001.78237-.00027.98459-.19746.98492-.96872q.00162-3.55875-.00076-7.11744c-.00119-.78616-.00314-1.5727-.02957-2.35826a2.04205,2.04205,0,0,0-.89945-1.67185,2.8569,2.8569,0,0,1-1.15075-1.934C44.572,30.81109,44.61555,30.66443,44.939,30.57106ZM19.25013,36.00061c.4142-.70118.81865-1.38287,1.2191-2.06694.07506-.12835.19074-.11595.30794-.11595,1.678.00005,3.35606.00569,5.03409-.00552.30393-.002.28346.092.1745.30848-.22952.45585-.44247.92014-.65542,1.38411a.36477.36477,0,0,1-.343.26337c-1.85935.0846-3.71827.1777-5.5774.26684A.84379.84379,0,0,1,19.25013,36.00061Zm4.73406-6.21647c-.33242.00114-.3999-.04679-.2409-.37477q.97614-2.01394,1.89986-4.05318a.77975.77975,0,0,1,.6291-.505,26.80857,26.80857,0,0,1,3.60086-.30248,64.44194,64.44194,0,0,1,7.46546.14184c1.57112.12132,1.57393.09852,2.21722,1.52888.47778,1.06242.94138,2.13144,1.43508,3.18644.15283.32663.07994.38-.25216.37889-2.79238-.0098-5.58477-.00558-8.37726-.00558C29.569,29.77884,26.77657,29.77477,23.98419,29.78414ZM45.506,36.04919c-1.58564-.0782-3.0778-.15159-4.56985-.22557a6.588,6.588,0,0,0-.90292-.0398.65985.65985,0,0,1-.75518-.50687c-.18825-.48179-.43142-.94218-.6734-1.45956,1.149,0,2.23477-.00005,3.32042,0,.65586.00006,1.31182-.0007,1.96756.001.13973.00038.28119-.02843.37629.13583C44.66105,34.631,45.06333,35.30181,45.506,36.04919Z"
+     id="path8"
+     style="fill:#ff0000;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M63.26062,45.5394q-2.24376-4.392-4.47778-8.789a.51334.51334,0,0,0-.53443-.33594c-1.587.01527-3.17431.01257-4.76146.00255-.282-.00179-.33415.05123-.217.32348q2.26846,5.2692,4.51375,10.54829a.40042.40042,0,0,0,.44691.27377q1.1802-.01494,2.361-.00162c.96954.01126,1.93961-.0404,2.90839.02789v-1.652A1.02426,1.02426,0,0,1,63.26062,45.5394Z"
+     id="path10"
+     style="fill:#ff0000;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M10.35328,36.41665c-1.57372.01089-3.14766.01332-4.72138-.00216a.5381.5381,0,0,0-.56227.35468C3.782,39.31751,2.50709,41.87307,1.16722,44.394a4.56713,4.56713,0,0,0-.63971,2.76363.26831.26831,0,0,1-.00022.07847c-.04755.26965.08362.33085.33058.32722.79992-.0118,1.60005-.00444,2.40007-.00449.78691-.00011,1.574-.00867,2.36063.005a.42382.42382,0,0,0,.468-.30155q2.2371-5.26009,4.49933-10.50957C10.71419,36.45537,10.64313,36.41465,10.35328,36.41665Z"
+     id="path12"
+     style="fill:#ff0000;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M56.50972,33.07251c.27556.00395.35073-.04517.20678-.32306q-1.84245-3.55622-3.662-7.12426a.37438.37438,0,0,0-.39026-.23889c-1.32362.0085-2.64724.011-3.97086-.00114-.295-.00265-.28682.08936-.18869.31363q1.55066,3.54251,3.084,7.09258a.40116.40116,0,0,0,.43911.28254c.74684-.01272,1.49389-.00482,2.24095-.00492S55.76278,33.06178,56.50972,33.07251Z"
+     id="path14"
+     style="fill:#ff0000;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M15.16478,25.386c-1.32481.01089-2.64973.00731-3.97465.00141a.3497.3497,0,0,0-.36871.21138q-1.833,3.58717-3.68361,7.16531c-.135.26072-.05935.31033.19735.30746.76082-.0084,1.52163-.003,2.28255-.00287.73449.00016,1.4693-.00623,2.20368.00406a.40064.40064,0,0,0,.44724-.27014q1.52937-3.55558,3.08408-7.10011C15.45214,25.4755,15.4594,25.38365,15.16478,25.386Z"
+     id="path16"
+     style="fill:#ff0000;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M18.813,17.63272a1.46569,1.46569,0,0,0-.19475-.03255c-1.16689-.00173-2.334.00385-3.50077-.0072-.216-.00206-.28769.11-.36871.27285q-1.26015,2.53158-2.53611,5.05537c-.14059.27653-.10918.3451.20688.34169q1.82881-.0195,3.65816.00037a.42428.42428,0,0,0,.46131-.31211c.50963-1.22023,1.03854-2.43239,1.56008-3.6477C18.33508,18.75363,18.56926,18.20311,18.813,17.63272Z"
+     id="path18"
+     style="fill:#ff0000;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M51.52622,23.26055c.23732.00341.26407-.05763.15868-.26608q-1.30336-2.57676-2.58745-5.16315a.374.374,0,0,0-.39275-.23727c-1.11458.008-2.22936.01035-3.34393-.00081-.27058-.00271-.3126.06418-.206.30951q1.10417,2.54,2.1869,5.08912a.3726.3726,0,0,0,.40792.27073c.6161-.014,1.23263-.00487,1.849-.005C50.24105,23.25741,50.8838,23.25139,51.52622,23.26055Z"
+     id="path20"
+     style="fill:#ff0000;fill-opacity:1" />
+</svg>
diff --git a/app/images/AGL_Icons_LaneDeparture_white.svg b/app/images/AGL_Icons_LaneDeparture_white.svg
new file mode 100644 (file)
index 0000000..4c94dd6
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="Layer_1"
+   data-name="Layer 1"
+   viewBox="0 0 64 64"
+   version="1.1"
+   sodipodi:docname="AGL_Icons_LaneDeparture_white.svg"
+   inkscape:version="0.92.4 (unknown)">
+  <metadata
+     id="metadata25">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>AGL-new-icons-2</dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1343"
+     inkscape:window-height="823"
+     id="namedview23"
+     showgrid="false"
+     inkscape:zoom="3.6875"
+     inkscape:cx="32.542373"
+     inkscape:cy="32"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="Layer_1" />
+  <defs
+     id="defs4">
+    <style
+       id="style2">.cls-1{fill:#666;}</style>
+  </defs>
+  <title
+     id="title6">AGL-new-icons-2</title>
+  <path
+     class="cls-1"
+     d="M44.939,30.57106a3.59,3.59,0,0,0,1.73739-.9482c.32452-.35506.30892-.53367-.06369-.847a4.65066,4.65066,0,0,0-1.72547-.82423,1.18976,1.18976,0,0,0-1.56452.52073c-.624-1.29616-1.27076-2.53741-1.94015-3.769a2.98654,2.98654,0,0,0-2.418-1.6105,49.46189,49.46189,0,0,0-9.25755-.4488,35.4494,35.4494,0,0,0-4.41582.46554,2.24164,2.24164,0,0,0-1.59853,1.01524,19.18645,19.18645,0,0,0-1.03322,1.71659c-.43273.83534-.8557,1.67576-1.294,2.5359a1.09192,1.09192,0,0,0-1.39923-.5627,4.85856,4.85856,0,0,0-1.27314.50789c-.33156.19665-.77.3686-.775.816-.0053.48119.43338.69365.79948.88683.4155.21923.86.38393,1.29373.568.12456.05281.241.08942.21143.271a2.9427,2.9427,0,0,1-.99575,2.02729,2.78619,2.78619,0,0,0-1.122,2.38664c.01928,2.94906.00693,5.89839.00693,8.84756,0,.10485-.00411.21019.00379.3145a.67061.67061,0,0,0,.72594.70812q1.55406.01494,3.10834-.00065a.66748.66748,0,0,0,.71337-.71976,6.56669,6.56669,0,0,0-.00466-.94289c-.045-.3953.11167-.46652.47962-.46582q9.28587.01747,18.57152.00829a.437.437,0,0,0,.07864-.0006c.33134-.06147.40315.10491.38127.39817-.02123.28677-.00617.57641-.00455.86474.0038.63019.22617.85927.847.86144.905.00325,1.81.0013,2.71494.001.78237-.00027.98459-.19746.98492-.96872q.00162-3.55875-.00076-7.11744c-.00119-.78616-.00314-1.5727-.02957-2.35826a2.04205,2.04205,0,0,0-.89945-1.67185,2.8569,2.8569,0,0,1-1.15075-1.934C44.572,30.81109,44.61555,30.66443,44.939,30.57106ZM19.25013,36.00061c.4142-.70118.81865-1.38287,1.2191-2.06694.07506-.12835.19074-.11595.30794-.11595,1.678.00005,3.35606.00569,5.03409-.00552.30393-.002.28346.092.1745.30848-.22952.45585-.44247.92014-.65542,1.38411a.36477.36477,0,0,1-.343.26337c-1.85935.0846-3.71827.1777-5.5774.26684A.84379.84379,0,0,1,19.25013,36.00061Zm4.73406-6.21647c-.33242.00114-.3999-.04679-.2409-.37477q.97614-2.01394,1.89986-4.05318a.77975.77975,0,0,1,.6291-.505,26.80857,26.80857,0,0,1,3.60086-.30248,64.44194,64.44194,0,0,1,7.46546.14184c1.57112.12132,1.57393.09852,2.21722,1.52888.47778,1.06242.94138,2.13144,1.43508,3.18644.15283.32663.07994.38-.25216.37889-2.79238-.0098-5.58477-.00558-8.37726-.00558C29.569,29.77884,26.77657,29.77477,23.98419,29.78414ZM45.506,36.04919c-1.58564-.0782-3.0778-.15159-4.56985-.22557a6.588,6.588,0,0,0-.90292-.0398.65985.65985,0,0,1-.75518-.50687c-.18825-.48179-.43142-.94218-.6734-1.45956,1.149,0,2.23477-.00005,3.32042,0,.65586.00006,1.31182-.0007,1.96756.001.13973.00038.28119-.02843.37629.13583C44.66105,34.631,45.06333,35.30181,45.506,36.04919Z"
+     id="path8"
+     style="fill:#ffffff;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M63.26062,45.5394q-2.24376-4.392-4.47778-8.789a.51334.51334,0,0,0-.53443-.33594c-1.587.01527-3.17431.01257-4.76146.00255-.282-.00179-.33415.05123-.217.32348q2.26846,5.2692,4.51375,10.54829a.40042.40042,0,0,0,.44691.27377q1.1802-.01494,2.361-.00162c.96954.01126,1.93961-.0404,2.90839.02789v-1.652A1.02426,1.02426,0,0,1,63.26062,45.5394Z"
+     id="path10"
+     style="fill:#ffffff;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M10.35328,36.41665c-1.57372.01089-3.14766.01332-4.72138-.00216a.5381.5381,0,0,0-.56227.35468C3.782,39.31751,2.50709,41.87307,1.16722,44.394a4.56713,4.56713,0,0,0-.63971,2.76363.26831.26831,0,0,1-.00022.07847c-.04755.26965.08362.33085.33058.32722.79992-.0118,1.60005-.00444,2.40007-.00449.78691-.00011,1.574-.00867,2.36063.005a.42382.42382,0,0,0,.468-.30155q2.2371-5.26009,4.49933-10.50957C10.71419,36.45537,10.64313,36.41465,10.35328,36.41665Z"
+     id="path12"
+     style="fill:#ffffff;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M56.50972,33.07251c.27556.00395.35073-.04517.20678-.32306q-1.84245-3.55622-3.662-7.12426a.37438.37438,0,0,0-.39026-.23889c-1.32362.0085-2.64724.011-3.97086-.00114-.295-.00265-.28682.08936-.18869.31363q1.55066,3.54251,3.084,7.09258a.40116.40116,0,0,0,.43911.28254c.74684-.01272,1.49389-.00482,2.24095-.00492S55.76278,33.06178,56.50972,33.07251Z"
+     id="path14"
+     style="fill:#ffffff;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M15.16478,25.386c-1.32481.01089-2.64973.00731-3.97465.00141a.3497.3497,0,0,0-.36871.21138q-1.833,3.58717-3.68361,7.16531c-.135.26072-.05935.31033.19735.30746.76082-.0084,1.52163-.003,2.28255-.00287.73449.00016,1.4693-.00623,2.20368.00406a.40064.40064,0,0,0,.44724-.27014q1.52937-3.55558,3.08408-7.10011C15.45214,25.4755,15.4594,25.38365,15.16478,25.386Z"
+     id="path16"
+     style="fill:#ffffff;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M18.813,17.63272a1.46569,1.46569,0,0,0-.19475-.03255c-1.16689-.00173-2.334.00385-3.50077-.0072-.216-.00206-.28769.11-.36871.27285q-1.26015,2.53158-2.53611,5.05537c-.14059.27653-.10918.3451.20688.34169q1.82881-.0195,3.65816.00037a.42428.42428,0,0,0,.46131-.31211c.50963-1.22023,1.03854-2.43239,1.56008-3.6477C18.33508,18.75363,18.56926,18.20311,18.813,17.63272Z"
+     id="path18"
+     style="fill:#ffffff;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M51.52622,23.26055c.23732.00341.26407-.05763.15868-.26608q-1.30336-2.57676-2.58745-5.16315a.374.374,0,0,0-.39275-.23727c-1.11458.008-2.22936.01035-3.34393-.00081-.27058-.00271-.3126.06418-.206.30951q1.10417,2.54,2.1869,5.08912a.3726.3726,0,0,0,.40792.27073c.6161-.014,1.23263-.00487,1.849-.005C50.24105,23.25741,50.8838,23.25139,51.52622,23.26055Z"
+     id="path20"
+     style="fill:#ffffff;fill-opacity:1" />
+</svg>
diff --git a/app/images/AGL_Icons_LaneDeparture_yellow.svg b/app/images/AGL_Icons_LaneDeparture_yellow.svg
new file mode 100644 (file)
index 0000000..341083b
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="Layer_1"
+   data-name="Layer 1"
+   viewBox="0 0 64 64"
+   version="1.1"
+   sodipodi:docname="AGL_Icons_LaneDeparture_yellow.svg"
+   inkscape:version="0.92.4 (unknown)">
+  <metadata
+     id="metadata25">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>AGL-new-icons-2</dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1343"
+     inkscape:window-height="823"
+     id="namedview23"
+     showgrid="false"
+     inkscape:zoom="3.6875"
+     inkscape:cx="-7.1864406"
+     inkscape:cy="32"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="Layer_1" />
+  <defs
+     id="defs4">
+    <style
+       id="style2">.cls-1{fill:#666;}</style>
+  </defs>
+  <title
+     id="title6">AGL-new-icons-2</title>
+  <path
+     class="cls-1"
+     d="M44.939,30.57106a3.59,3.59,0,0,0,1.73739-.9482c.32452-.35506.30892-.53367-.06369-.847a4.65066,4.65066,0,0,0-1.72547-.82423,1.18976,1.18976,0,0,0-1.56452.52073c-.624-1.29616-1.27076-2.53741-1.94015-3.769a2.98654,2.98654,0,0,0-2.418-1.6105,49.46189,49.46189,0,0,0-9.25755-.4488,35.4494,35.4494,0,0,0-4.41582.46554,2.24164,2.24164,0,0,0-1.59853,1.01524,19.18645,19.18645,0,0,0-1.03322,1.71659c-.43273.83534-.8557,1.67576-1.294,2.5359a1.09192,1.09192,0,0,0-1.39923-.5627,4.85856,4.85856,0,0,0-1.27314.50789c-.33156.19665-.77.3686-.775.816-.0053.48119.43338.69365.79948.88683.4155.21923.86.38393,1.29373.568.12456.05281.241.08942.21143.271a2.9427,2.9427,0,0,1-.99575,2.02729,2.78619,2.78619,0,0,0-1.122,2.38664c.01928,2.94906.00693,5.89839.00693,8.84756,0,.10485-.00411.21019.00379.3145a.67061.67061,0,0,0,.72594.70812q1.55406.01494,3.10834-.00065a.66748.66748,0,0,0,.71337-.71976,6.56669,6.56669,0,0,0-.00466-.94289c-.045-.3953.11167-.46652.47962-.46582q9.28587.01747,18.57152.00829a.437.437,0,0,0,.07864-.0006c.33134-.06147.40315.10491.38127.39817-.02123.28677-.00617.57641-.00455.86474.0038.63019.22617.85927.847.86144.905.00325,1.81.0013,2.71494.001.78237-.00027.98459-.19746.98492-.96872q.00162-3.55875-.00076-7.11744c-.00119-.78616-.00314-1.5727-.02957-2.35826a2.04205,2.04205,0,0,0-.89945-1.67185,2.8569,2.8569,0,0,1-1.15075-1.934C44.572,30.81109,44.61555,30.66443,44.939,30.57106ZM19.25013,36.00061c.4142-.70118.81865-1.38287,1.2191-2.06694.07506-.12835.19074-.11595.30794-.11595,1.678.00005,3.35606.00569,5.03409-.00552.30393-.002.28346.092.1745.30848-.22952.45585-.44247.92014-.65542,1.38411a.36477.36477,0,0,1-.343.26337c-1.85935.0846-3.71827.1777-5.5774.26684A.84379.84379,0,0,1,19.25013,36.00061Zm4.73406-6.21647c-.33242.00114-.3999-.04679-.2409-.37477q.97614-2.01394,1.89986-4.05318a.77975.77975,0,0,1,.6291-.505,26.80857,26.80857,0,0,1,3.60086-.30248,64.44194,64.44194,0,0,1,7.46546.14184c1.57112.12132,1.57393.09852,2.21722,1.52888.47778,1.06242.94138,2.13144,1.43508,3.18644.15283.32663.07994.38-.25216.37889-2.79238-.0098-5.58477-.00558-8.37726-.00558C29.569,29.77884,26.77657,29.77477,23.98419,29.78414ZM45.506,36.04919c-1.58564-.0782-3.0778-.15159-4.56985-.22557a6.588,6.588,0,0,0-.90292-.0398.65985.65985,0,0,1-.75518-.50687c-.18825-.48179-.43142-.94218-.6734-1.45956,1.149,0,2.23477-.00005,3.32042,0,.65586.00006,1.31182-.0007,1.96756.001.13973.00038.28119-.02843.37629.13583C44.66105,34.631,45.06333,35.30181,45.506,36.04919Z"
+     id="path8"
+     style="fill:#ffff00;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M63.26062,45.5394q-2.24376-4.392-4.47778-8.789a.51334.51334,0,0,0-.53443-.33594c-1.587.01527-3.17431.01257-4.76146.00255-.282-.00179-.33415.05123-.217.32348q2.26846,5.2692,4.51375,10.54829a.40042.40042,0,0,0,.44691.27377q1.1802-.01494,2.361-.00162c.96954.01126,1.93961-.0404,2.90839.02789v-1.652A1.02426,1.02426,0,0,1,63.26062,45.5394Z"
+     id="path10"
+     style="fill:#ffff00;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M10.35328,36.41665c-1.57372.01089-3.14766.01332-4.72138-.00216a.5381.5381,0,0,0-.56227.35468C3.782,39.31751,2.50709,41.87307,1.16722,44.394a4.56713,4.56713,0,0,0-.63971,2.76363.26831.26831,0,0,1-.00022.07847c-.04755.26965.08362.33085.33058.32722.79992-.0118,1.60005-.00444,2.40007-.00449.78691-.00011,1.574-.00867,2.36063.005a.42382.42382,0,0,0,.468-.30155q2.2371-5.26009,4.49933-10.50957C10.71419,36.45537,10.64313,36.41465,10.35328,36.41665Z"
+     id="path12"
+     style="fill:#ffff00;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M56.50972,33.07251c.27556.00395.35073-.04517.20678-.32306q-1.84245-3.55622-3.662-7.12426a.37438.37438,0,0,0-.39026-.23889c-1.32362.0085-2.64724.011-3.97086-.00114-.295-.00265-.28682.08936-.18869.31363q1.55066,3.54251,3.084,7.09258a.40116.40116,0,0,0,.43911.28254c.74684-.01272,1.49389-.00482,2.24095-.00492S55.76278,33.06178,56.50972,33.07251Z"
+     id="path14"
+     style="fill:#ffff00;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M15.16478,25.386c-1.32481.01089-2.64973.00731-3.97465.00141a.3497.3497,0,0,0-.36871.21138q-1.833,3.58717-3.68361,7.16531c-.135.26072-.05935.31033.19735.30746.76082-.0084,1.52163-.003,2.28255-.00287.73449.00016,1.4693-.00623,2.20368.00406a.40064.40064,0,0,0,.44724-.27014q1.52937-3.55558,3.08408-7.10011C15.45214,25.4755,15.4594,25.38365,15.16478,25.386Z"
+     id="path16"
+     style="fill:#ffff00;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M18.813,17.63272a1.46569,1.46569,0,0,0-.19475-.03255c-1.16689-.00173-2.334.00385-3.50077-.0072-.216-.00206-.28769.11-.36871.27285q-1.26015,2.53158-2.53611,5.05537c-.14059.27653-.10918.3451.20688.34169q1.82881-.0195,3.65816.00037a.42428.42428,0,0,0,.46131-.31211c.50963-1.22023,1.03854-2.43239,1.56008-3.6477C18.33508,18.75363,18.56926,18.20311,18.813,17.63272Z"
+     id="path18"
+     style="fill:#ffff00;fill-opacity:1" />
+  <path
+     class="cls-1"
+     d="M51.52622,23.26055c.23732.00341.26407-.05763.15868-.26608q-1.30336-2.57676-2.58745-5.16315a.374.374,0,0,0-.39275-.23727c-1.11458.008-2.22936.01035-3.34393-.00081-.27058-.00271-.3126.06418-.206.30951q1.10417,2.54,2.1869,5.08912a.3726.3726,0,0,0,.40792.27073c.6161-.014,1.23263-.00487,1.849-.005C50.24105,23.25741,50.8838,23.25139,51.52622,23.26055Z"
+     id="path20"
+     style="fill:#ffff00;fill-opacity:1" />
+</svg>
index 9a8e2de..6b4f2d2 100644 (file)
         <file>AGL_Icons_Battery.svg</file>
         <file>AGL_Icons_Battery_red.svg</file>
         <file>AGL_Icons_Battery_yellow.svg</file>
+        <file>AGL_Icons_CruiseControl.svg</file>
+        <file>AGL_Icons_CruiseControl_green.svg</file>
+        <file>AGL_Icons_CruiseControl_white.svg</file>
+        <file>AGL_Icons_CruiseControl_yellow.svg</file>
         <file>AGL_Icons_Engine.svg</file>
         <file>AGL_Icons_Engine_red.svg</file>
         <file>AGL_Icons_Engine_yellow.svg</file>
+        <file>AGL_Icons_LaneDeparture.svg</file>
+        <file>AGL_Icons_LaneDeparture_green.svg</file>
+        <file>AGL_Icons_LaneDeparture_yellow.svg</file>
+        <file>AGL_Icons_LaneDeparture_white.svg</file>
         <file>AGL_Icons_Lights.svg</file>
         <file>AGL_Icons_Lights_red.svg</file>
         <file>AGL_Icons_Lights_yellow.svg</file>
index 4f36ef7..a5b9ece 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2016 The Qt Company Ltd.
- * Copyright (C) 2018 Konsulko Group
+ * Copyright (C) 2018, 2019 Konsulko Group
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 #include <QtQml/qqml.h>
 #include <QQuickWindow>
 #include <QtQuickControls2/QQuickStyle>
+#include <glib.h>
 
 #include <qlibwindowmanager.h>
+#include <signalcomposer.h>
+
+// Global indicating whether canned animation should run
+bool runAnimation = true;
+
+void read_config(void)
+{
+       GKeyFile* conf_file;
+       gboolean value;
+
+       // Load settings from configuration file if it exists
+       conf_file = g_key_file_new();
+       if(conf_file &&
+          g_key_file_load_from_dirs(conf_file,
+                                    "AGL.conf",
+                                    (const gchar**) g_get_system_config_dirs(),
+                                    NULL,
+                                    G_KEY_FILE_KEEP_COMMENTS,
+                                    NULL) == TRUE) {
+               GError *err = NULL;
+               value = g_key_file_get_boolean(conf_file,
+                                              "dashboard",
+                                              "animation",
+                                              &err);
+               if(value) {
+                       runAnimation = true;
+               } else {
+                       if(err == NULL) {
+                               runAnimation = false;
+                       } else {
+                               qWarning("Invalid value for \"animation\" key!");
+                       }
+               }
+       }
+
+}
 
 int main(int argc, char *argv[])
 {
@@ -78,6 +115,10 @@ int main(int argc, char *argv[])
             qwm->endDraw(myname);
         });
 
+        context->setContextProperty("SignalComposer", new SignalComposer(bindingAddress, context));
+        read_config();
+        context->setContextProperty("runAnimation", runAnimation);
+
         engine.load(QUrl(QStringLiteral("qrc:/cluster-gauges.qml")));
 
         // Find the instantiated model QObject and connect the signals/slots
index aa18bdc..40796be 100644 (file)
@@ -8,6 +8,7 @@
   <license>@PROJECT_LICENSE@</license>
   <feature name="urn:AGL:widget:required-api">
     <param name="windowmanager" value="ws" />
+    <param name="signal-composer" value="ws" />
   </feature>
   <feature name="urn:AGL:widget:required-permission">
     <param name="urn:AGL:permission::public:display" value="required" />