diff options
author | asanoaozora <fifitaneki@hotmail.com> | 2017-01-13 17:14:09 +0100 |
---|---|---|
committer | asanoaozora <fifitaneki@hotmail.com> | 2017-01-13 17:14:09 +0100 |
commit | 3d57d7d54fa178ecb3a68bbce9bf25011f896c77 (patch) | |
tree | 08185d07ab905d8729f82756208b5ff9b4556e07 /src | |
parent | fb72cd3c133c4a0f3115988df232600cfba02826 (diff) | |
download | navigation-3d57d7d54fa178ecb3a68bbce9bf25011f896c77.tar.gz |
add time to hmi, fix some issue with guidance
Diffstat (limited to 'src')
-rwxr-xr-x | src/build.sh | 11 | ||||
-rw-r--r-- | src/hmi/qml/Core/genivi-capi.js | 11 | ||||
-rw-r--r-- | src/hmi/qml/Core/genivi-origin.js | 11 | ||||
-rw-r--r-- | src/hmi/qml/Core/gimp/gdp-theme/800x480/NavigationAppBrowseMapTop.xcf | bin | 35714 -> 37043 bytes | |||
-rw-r--r-- | src/hmi/qml/NavigationAppBrowseMap.qml | 478 | ||||
-rw-r--r-- | src/hmi/qml/NavigationAppSearch.qml | 35 |
6 files changed, 311 insertions, 235 deletions
diff --git a/src/build.sh b/src/build.sh index 0bf6c63..8606ab1 100755 --- a/src/build.sh +++ b/src/build.sh @@ -5,6 +5,7 @@ html="OFF" clean=0 capi=0 navit=0 +theme=0 commonapi_tools_option="" function check_path_for_capi @@ -33,7 +34,7 @@ function check_path_for_capi commonapi_tools_option="-DDBUS_LIB_PATH="$DBUS_LIB_PATH" -DCOMMONAPI_DBUS_TOOL_DIR="$COMMONAPI_DBUS_TOOL_DIR" -DCOMMONAPI_TOOL_DIR="$COMMONAPI_TOOL_DIR"" } -while getopts cdmhn opt +while getopts cdmhnt opt do case $opt in c) @@ -51,14 +52,18 @@ do n) navit=1 ;; + t) + theme=1 + ;; \?) echo "Usage:" - echo "$0 [-cdmhn]" + echo "$0 [-cdmhnt]" echo "-c: Rebuild with clean" echo "-d: Enable the debug messages" echo "-m: Build with commonAPI plugins " echo "-h: Enable migration to the html based hmi" echo "-n: Build navit" + echo "-t: Generate the HMI theme" exit 1 esac done @@ -135,7 +140,7 @@ fi make cd ../ -if [ "$clean" = 1 ] +if [ "$theme" = 1 ] then echo 'generate the hmi for gdp theme' cd script diff --git a/src/hmi/qml/Core/genivi-capi.js b/src/hmi/qml/Core/genivi-capi.js index e1988f9..a142469 100644 --- a/src/hmi/qml/Core/genivi-capi.js +++ b/src/hmi/qml/Core/genivi-capi.js @@ -129,6 +129,10 @@ address[NAVIGATIONCORE_COUNTRY]="Switzerland"; address[NAVIGATIONCORE_CITY]="Zürich"; address[NAVIGATIONCORE_STREET]="In Lampitzäckern"; address[NAVIGATIONCORE_HOUSENUMBER]=""; +data['show_position']['lat']=47.415740; +data['show_position']['lon']=8.614862; +data['display_on_map']='show_current_position'; //display current position of the vehicle on the map + historyOfLastEnteredLocationDepth=10; //max number of items into the history is set to historyOfLastEnteredLocationDepth-1 tripMode="TRIP_NUMBER1"; @@ -284,6 +288,11 @@ function connect_spellResultSignal(interface,menu) return interface.connect("","/LocationInput","org.genivi.navigation.navigationcore.LocationInput.v4_0","spellResult",menu,"spellResult"); } +function connect_guidanceStatusChangedSignal(interface,menu) +{ + return interface.connect("","/Guidance","org.genivi.navigation.navigationcore.Guidance.v4_0","guidanceStatusChanged",menu,"guidanceStatusChanged"); +} + function connect_guidanceWaypointReachedSignal(interface,menu) { return interface.connect("","/Guidance","org.genivi.navigation.navigationcore.Guidance.v4_0","waypointReached",menu,"guidanceWaypointReached"); @@ -344,7 +353,7 @@ function connect_tripDataUpdatedSignal(interface,menu) return interface.connect("","/FuelStopAdvisor","org.genivi.demonstrator.FuelStopAdvisor.v1_0","tripDataUpdated",menu,"tripDataUpdated"); } -function connect_fuelStopAdvisorSignal(interface,menu) +function connect_fuelStopAdvisorWarningSignal(interface,menu) { return interface.connect("","/FuelStopAdvisor","org.genivi.demonstrator.FuelStopAdvisor.v1_0","fuelStopAdvisorWarning",menu,"fuelStopAdvisorWarning"); } diff --git a/src/hmi/qml/Core/genivi-origin.js b/src/hmi/qml/Core/genivi-origin.js index 24c1b60..1d683af 100644 --- a/src/hmi/qml/Core/genivi-origin.js +++ b/src/hmi/qml/Core/genivi-origin.js @@ -129,6 +129,10 @@ address[NAVIGATIONCORE_COUNTRY]="Switzerland"; address[NAVIGATIONCORE_CITY]="Zürich"; address[NAVIGATIONCORE_STREET]="In Lampitzäckern"; address[NAVIGATIONCORE_HOUSENUMBER]=""; +data['show_position']['lat']=47.415740; +data['show_position']['lon']=8.614862; +data['display_on_map']='show_current_position'; //display current position of the vehicle on the map + historyOfLastEnteredLocationDepth=10; //max number of items into the history is set to historyOfLastEnteredLocationDepth-1 tripMode="TRIP_NUMBER1"; @@ -284,6 +288,11 @@ function connect_spellResultSignal(interface,menu) return interface.connect("","/org/genivi/navigationcore","org.genivi.navigationcore.LocationInput","SpellResult",menu,"spellResult"); } +function connect_guidanceStatusChangedSignal(interface,menu) +{ + return interface.connect("","/org/genivi/navigationcore","org.genivi.navigationcore.Guidance","GuidanceStatusChanged",menu,"guidanceStatusChanged"); +} + function connect_guidanceWaypointReachedSignal(interface,menu) { return interface.connect("","/org/genivi/navigationcore","org.genivi.navigationcore.Guidance","WaypointReached",menu,"guidanceWaypointReached"); @@ -344,7 +353,7 @@ function connect_tripDataUpdatedSignal(interface,menu) return interface.connect("","/org/genivi/demonstrator/FuelStopAdvisor","org.genivi.demonstrator.FuelStopAdvisor","TripDataUpdated",menu,"tripDataUpdated"); } -function connect_fuelStopAdvisorSignal(interface,menu) +function connect_fuelStopAdvisorWarningSignal(interface,menu) { return interface.connect("","/org/genivi/demonstrator/FuelStopAdvisor","org.genivi.demonstrator.FuelStopAdvisor","FuelStopAdvisorWarning",menu,"fuelStopAdvisorWarning"); } diff --git a/src/hmi/qml/Core/gimp/gdp-theme/800x480/NavigationAppBrowseMapTop.xcf b/src/hmi/qml/Core/gimp/gdp-theme/800x480/NavigationAppBrowseMapTop.xcf Binary files differindex d447405..460d157 100644 --- a/src/hmi/qml/Core/gimp/gdp-theme/800x480/NavigationAppBrowseMapTop.xcf +++ b/src/hmi/qml/Core/gimp/gdp-theme/800x480/NavigationAppBrowseMapTop.xcf diff --git a/src/hmi/qml/NavigationAppBrowseMap.qml b/src/hmi/qml/NavigationAppBrowseMap.qml index b059463..b51a190 100644 --- a/src/hmi/qml/NavigationAppBrowseMap.qml +++ b/src/hmi/qml/NavigationAppBrowseMap.qml @@ -45,22 +45,210 @@ HMIMenu { property string pagefile:"NavigationAppBrowseMap" next: scrollup prev: menub - property Item guidanceWaypointReachedSignal; - property Item guidanceManeuverChangedSignal; - property Item guidancePositionOnRouteChangedSignal; - property Item mapmatchedpositionPositionUpdateSignal; - property Item mapmatchedpositionAddressUpdateSignal; - property Item simulationStatusChangedSignal; - property Item simulationSpeedChangedSignal; - property Item fuelStopAdvisorSignal; property bool north:false; property int speedValueSent: 0; property bool displayManeuvers:false; - DBusIf { + //------------------------------------------// + // Management of the DBus exchanges + //------------------------------------------// + DBusIf { id:dbusIf } + property Item guidanceStatusChangedSignal; + function guidanceStatusChanged(args) + { + Genivi.hookSignal("guidanceStatusChanged"); + if(args[1]===Genivi.NAVIGATIONCORE_ACTIVE) + { + guidanceStatus.setState("ON"); + Genivi.guidance_activated = true; + //Guidance active, so inform the trip computer (refresh) + Genivi.fuelstopadvisor_SetFuelAdvisorSettings(dbusIf,1,50); + updateGuidance(); + } else { + guidanceStatus.setState("OFF"); + Genivi.guidance_activated = false; + //Guidance inactive, so inform the trip computer + Genivi.fuelstopadvisor_SetFuelAdvisorSettings(dbusIf,0,0); + maneuverAdvice.text=Genivi.gettext("NoGuidance"); + maneuverIcon.source=StyleSheetGuidance.maneuverIcon[Constants.SOURCE]; //no icon by default + distancetomaneuverValue.text="----"; + distancetodestinationValue.text="----"; + timetodestinationValue.text="----"; + roadaftermaneuverValue.text="----"; + } + } + + property Item guidanceManeuverChangedSignal; + function guidanceManeuverChanged(args) + { + Genivi.hookSignal("guidanceManeuverChanged"); + // TODO: Create possibility to poll information? + // console.log("guidanceManeuverChanged"); + // Genivi.dump("",args); + maneuverAdvice.text=Genivi.Maneuver[args[1]]; + } + + property Item guidanceWaypointReachedSignal; + function guidanceWaypointReached(args) + { + Genivi.hookSignal("guidanceWaypointReached"); + // console.log("guidanceWaypointReached"); + // Genivi.dump("",args); + if (args[2]) { + maneuverAdvice.text="Destination reached"; + } else { + maneuverAdvice.text="Waypoint reached"; + } + + } + + property Item guidancePositionOnRouteChangedSignal; + function guidancePositionOnRouteChanged(args) + { + Genivi.hookSignal("guidancePositionOnRouteChanged"); + updateGuidance(); + } + + property Item mapmatchedpositionPositionUpdateSignal; + function mapmatchedpositionPositionUpdate(args) + { + Genivi.hookSignal("mapmatchedpositionPositionUpdate"); + var res=Genivi.mapmatchedposition_GetPosition(dbusIf); + for (var i=0;i<res[3].length;i+=4){ + if (res[3][i+1]== Genivi.NAVIGATIONCORE_SPEED){ + vehicleSpeedValue.text=res[3][i+3][3][1]; + } + } + } + + property Item simulationSpeedChangedSignal; + function simulationSpeedChanged(args) + { + Genivi.hookSignal("simulationSpeedChanged"); + if (args[1] == 0) { + speedValue.text="0"; + speedValueSent=0; + } + if (args[1] == 1) { + speedValue.text="1/4"; + speedValueSent=1; + } + if (args[1] == 2) { + speedValue.text="1/2"; + speedValueSent=2; + } + if (args[1] == 4) { + speedValue.text="1"; + speedValueSent=3; + } + if (args[1] == 8) { + speedValue.text="2"; + speedValueSent=4; + } + if (args[1] == 16) { + speedValue.text="4"; + speedValueSent=5; + } + if (args[1] == 32) { + speedValue.text="8"; + speedValueSent=6; + } + if (args[1] == 64) { + speedValue.text="16"; + speedValueSent=7; + } + } + + property Item simulationStatusChangedSignal; + function simulationStatusChanged(args) + { + Genivi.hookSignal("simulationStatusChanged"); + if (args[1] != Genivi.NAVIGATIONCORE_SIMULATION_STATUS_NO_SIMULATION) + { + on_off.setState("ON"); + if (args[1] == Genivi.NAVIGATIONCORE_SIMULATION_STATUS_PAUSED || args[1] == Genivi.NAVIGATIONCORE_SIMULATION_STATUS_FIXED_POSITION) + { + simu_mode.setState("PAUSE"); + } + else + { + if (args[1] == Genivi.NAVIGATIONCORE_SIMULATION_STATUS_RUNNING) + { + simu_mode.setState("PLAY"); + } + } + } + else + { + on_off.setState("OFF"); + simu_mode.setState("FREE"); + } + } + + property Item mapmatchedpositionAddressUpdateSignal; + function mapmatchedpositionAddressUpdate(args) + { + Genivi.hookSignal("mapmatchedpositionAddressUpdate"); + updateAddress(); + } + + property Item fuelStopAdvisorWarningSignal; + function fuelStopAdvisorWarning(args) + { + Genivi.hookSignal("fuelStopAdvisorWarning"); + if (args[1] == 1) + { + fsamessageText.text=Genivi.gettext("FSAWarning"); + select_search_for_refill_in_top.visible=true; + } + else + { + fsamessageText.text=" "; + select_search_for_refill_in_top.visible=false; + } + } + + function connectSignals() + { + guidanceStatusChangedSignal=Genivi.connect_guidanceStatusChangedSignal(dbusIf,menu); + guidanceWaypointReachedSignal=Genivi.connect_guidanceWaypointReachedSignal(dbusIf,menu); + guidanceManeuverChangedSignal=Genivi.connect_guidanceManeuverChangedSignal(dbusIf,menu); + guidancePositionOnRouteChangedSignal=Genivi.connect_guidancePositionOnRouteChangedSignal(dbusIf,menu); + simulationStatusChangedSignal=Genivi.connect_simulationStatusChangedSignal(dbusIf,menu); + simulationSpeedChangedSignal=Genivi.connect_simulationSpeedChangedSignal(dbusIf,menu); + mapmatchedpositionPositionUpdateSignal=Genivi.connect_mapmatchedpositionPositionUpdateSignal(dbusIf,menu); + mapmatchedpositionAddressUpdateSignal=Genivi.connect_mapmatchedpositionAddressUpdateSignal(dbusIf,menu); + fuelStopAdvisorWarningSignal=Genivi.connect_fuelStopAdvisorWarningSignal(dbusIf,menu); + } + + function disconnectSignals() + { + guidanceStatusChangedSignal.destroy(); + guidanceWaypointReachedSignal.destroy(); + guidanceManeuverChangedSignal.destroy(); + guidancePositionOnRouteChangedSignal.destroy(); + simulationStatusChangedSignal.destroy(); + simulationSpeedChangedSignal.destroy(); + mapmatchedpositionPositionUpdateSignal.destroy(); + mapmatchedpositionAddressUpdateSignal.destroy(); + fuelStopAdvisorWarningSignal.destroy(); + } + + //------------------------------------------// + // Time + //------------------------------------------// + Timer { + id: time_in_top_timer + interval: 1000 + repeat: true + running: true + triggeredOnStart: true + onTriggered: time_in_top.set() + } + //------------------------------------------// // Map settings //------------------------------------------// @@ -331,107 +519,6 @@ HMIMenu { //------------------------------------------// // Map browsing //------------------------------------------// - function guidanceManeuverChanged(args) - { - Genivi.hookSignal("guidanceManeuverChanged"); - // TODO: Create possibility to poll information? - // console.log("guidanceManeuverChanged"); - // Genivi.dump("",args); - maneuverAdvice.text=Genivi.Maneuver[args[1]]; - } - - function guidanceWaypointReached(args) - { - Genivi.hookSignal("guidanceWaypointReached"); - // console.log("guidanceWaypointReached"); - // Genivi.dump("",args); - if (args[2]) { - maneuverAdvice.text="Destination reached"; - } else { - maneuverAdvice.text="Waypoint reached"; - } - - } - - function guidancePositionOnRouteChanged(args) - { - Genivi.hookSignal("guidancePositionOnRouteChanged"); - updateGuidance(); - } - - function mapmatchedpositionPositionUpdate(args) - { - Genivi.hookSignal("mapmatchedpositionPositionUpdate"); - var res=Genivi.mapmatchedposition_GetPosition(dbusIf); - for (var i=0;i<res[3].length;i+=4){ - if (res[3][i+1]== Genivi.NAVIGATIONCORE_SPEED){ - vehicleSpeedValue.text=res[3][i+3][3][1]; - } - } - } - - function simulationSpeedChanged(args) - { - Genivi.hookSignal("simulationSpeedChanged"); - if (args[1] == 0) { - speedValue.text="0"; - speedValueSent=0; - } - if (args[1] == 1) { - speedValue.text="1/4"; - speedValueSent=1; - } - if (args[1] == 2) { - speedValue.text="1/2"; - speedValueSent=2; - } - if (args[1] == 4) { - speedValue.text="1"; - speedValueSent=3; - } - if (args[1] == 8) { - speedValue.text="2"; - speedValueSent=4; - } - if (args[1] == 16) { - speedValue.text="4"; - speedValueSent=5; - } - if (args[1] == 32) { - speedValue.text="8"; - speedValueSent=6; - } - if (args[1] == 64) { - speedValue.text="16"; - speedValueSent=7; - } - } - - function simulationStatusChanged(args) - { - Genivi.hookSignal("simulationStatusChanged"); - if (args[1] != Genivi.NAVIGATIONCORE_SIMULATION_STATUS_NO_SIMULATION) - { - on_off.setState("ON"); - if (args[1] == Genivi.NAVIGATIONCORE_SIMULATION_STATUS_PAUSED || args[1] == Genivi.NAVIGATIONCORE_SIMULATION_STATUS_FIXED_POSITION) - { - simu_mode.setState("PAUSE"); - } - else - { - if (args[1] == Genivi.NAVIGATIONCORE_SIMULATION_STATUS_RUNNING) - { - simu_mode.setState("PLAY"); - } - } - } - else - { - on_off.setState("OFF"); - simu_mode.setState("FREE"); - } - } - function updateSimulation() { var res=Genivi.mapmatchedposition_GetSimulationStatus(dbusIf); @@ -537,12 +624,6 @@ HMIMenu { } } - function mapmatchedpositionAddressUpdate(args) - { - Genivi.hookSignal("mapmatchedpositionAddressUpdate"); - updateAddress(); - } - function showZoom() { var res=Genivi.mapviewer_GetMapViewScale(dbusIf); @@ -556,21 +637,6 @@ HMIMenu { zoomlevel.text=text; } - function fuelStopAdvisorWarning(args) - { - Genivi.hookSignal("fuelStopAdvisorWarning"); - if (args[1] == 1) - { - fsamessageText.text=Genivi.gettext("FSAWarning"); - select_search_for_refill_in_top.visible=true; - } - else - { - fsamessageText.text=" "; - select_search_for_refill_in_top.visible=false; - } - } - function getManeuversList() { var res=Genivi.guidance_GetManeuversList(dbusIf,0xffff,0); @@ -596,30 +662,6 @@ HMIMenu { } } - function connectSignals() - { - guidanceWaypointReachedSignal=Genivi.connect_guidanceWaypointReachedSignal(dbusIf,menu); - guidanceManeuverChangedSignal=Genivi.connect_guidanceManeuverChangedSignal(dbusIf,menu); - guidancePositionOnRouteChangedSignal=Genivi.connect_guidancePositionOnRouteChangedSignal(dbusIf,menu); - simulationStatusChangedSignal=Genivi.connect_simulationStatusChangedSignal(dbusIf,menu); - simulationSpeedChangedSignal=Genivi.connect_simulationSpeedChangedSignal(dbusIf,menu); - mapmatchedpositionPositionUpdateSignal=Genivi.connect_mapmatchedpositionPositionUpdateSignal(dbusIf,menu); - mapmatchedpositionAddressUpdateSignal=Genivi.connect_mapmatchedpositionAddressUpdateSignal(dbusIf,menu); - fuelStopAdvisorSignal=Genivi.connect_fuelStopAdvisorSignal(dbusIf,menu); - } - - function disconnectSignals() - { - guidanceWaypointReachedSignal.destroy(); - guidanceManeuverChangedSignal.destroy(); - guidancePositionOnRouteChangedSignal.destroy(); - simulationStatusChangedSignal.destroy(); - simulationSpeedChangedSignal.destroy(); - mapmatchedpositionPositionUpdateSignal.destroy(); - mapmatchedpositionAddressUpdateSignal.destroy(); - fuelStopAdvisorSignal.destroy(); - } - function toggleOrientation() { if (!orientation.status) { @@ -633,68 +675,47 @@ HMIMenu { function updateGuidance() { - var res=Genivi.guidance_GetGuidanceStatus(dbusIf); - if (res[1] == Genivi.NAVIGATIONCORE_INACTIVE) { - guidanceStatus.setState("OFF"); - Genivi.guidance_activated = false; - //Guidance inactive, so inform the trip computer - Genivi.fuelstopadvisor_SetFuelAdvisorSettings(dbusIf,0,0); - maneuverAdvice.text=Genivi.gettext("NoGuidance"); - maneuverIcon.source=StyleSheetGuidance.maneuverIcon[Constants.SOURCE]; //no icon by default - distancetomaneuverValue.text="----"; - distancetodestinationValue.text="----"; - timetodestinationValue.text="----"; - roadaftermaneuverValue.text="----"; - return; - } else { - guidanceStatus.setState("ON"); - Genivi.guidance_activated = true; - //Guidance active, so inform the trip computer (refresh) - Genivi.fuelstopadvisor_SetFuelAdvisorSettings(dbusIf,1,50); - } - - var maneuversList=Genivi.guidance_GetManeuversList(dbusIf,1,0); - var numberOfManeuvers=maneuversList[3]; - //only one maneuver is considered - var maneuver=maneuversList[5][1]; - var roadNumberAfterManeuver=maneuver[1]; - var roadNameAfterManeuver=maneuver[3]; - var roadPropertyAfterManeuver=maneuver[5]; - var drivingSide=maneuver[7]; - var offsetOfNextManeuver=maneuver[9]; - var items=maneuver[11][1]; - var offsetOfManeuver=items[1]; - var travelTime=items[3]; - var direction=items[5]; - var maneuverType=items[7]; - var maneuverData=items[9]; - if (maneuverData[1] == Genivi.NAVIGATIONCORE_DIRECTION) + if(Genivi.guidance_activated == true) { - guidanceStatus.setState("ON"); - Genivi.guidance_activated = true; - maneuverIcon.source=Genivi.ManeuverDirectionIcon[maneuverData[3][3][1]]; - //Genivi.ManeuverType[subarray[j+1][7]] contains CROSSROAD and is removed for the moment - distancetomaneuverValue.text=Genivi.distance(offsetOfManeuver); - roadaftermaneuverValue.text=roadNameAfterManeuver; - } + var maneuversList=Genivi.guidance_GetManeuversList(dbusIf,1,0); + var numberOfManeuvers=maneuversList[3]; + //only one maneuver is considered + var maneuver=maneuversList[5][1]; + var roadNumberAfterManeuver=maneuver[1]; + var roadNameAfterManeuver=maneuver[3]; + var roadPropertyAfterManeuver=maneuver[5]; + var drivingSide=maneuver[7]; + var offsetOfNextManeuver=maneuver[9]; + var items=maneuver[11][1]; + var offsetOfManeuver=items[1]; + var travelTime=items[3]; + var direction=items[5]; + var maneuverType=items[7]; + var maneuverData=items[9]; + if (maneuverData[1] == Genivi.NAVIGATIONCORE_DIRECTION) + { + maneuverIcon.source=Genivi.ManeuverDirectionIcon[maneuverData[3][3][1]]; + //Genivi.ManeuverType[subarray[j+1][7]] contains CROSSROAD and is removed for the moment + distancetomaneuverValue.text=Genivi.distance(offsetOfManeuver); + roadaftermaneuverValue.text=roadNameAfterManeuver; + } - res=Genivi.guidance_GetDestinationInformation(dbusIf); - distancetodestinationValue.text = Genivi.distance(res[1]); - timetodestinationValue.text = Genivi.time(res[3]); + var res=Genivi.guidance_GetDestinationInformation(dbusIf); + distancetodestinationValue.text = Genivi.distance(res[1]); + timetodestinationValue.text = Genivi.time(res[3]); - updateAddress(); + updateAddress(); + } } function stopGuidance() { Genivi.guidance_StopGuidance(dbusIf); - updateGuidance(); } function startGuidance() { Genivi.guidance_StartGuidance(dbusIf,Genivi.routing_handle(dbusIf)); - updateGuidance(); updateSimulation(); updateAddress(); } @@ -743,7 +764,7 @@ HMIMenu { on_off.visible=true; on_off.disabled=false; simu_mode.visible=true; - simu_mode.disabled=false; + simu_mode.disabled=true; } function hideSimulation() @@ -783,6 +804,17 @@ HMIMenu { image:StyleSheetTop.navigation_app_browse_map_top_background[Constants.SOURCE]; anchors { fill: parent; topMargin: parent.headlineHeight} + Text { + x:StyleSheetTop.time_in_top[Constants.X]; y:StyleSheetTop.time_in_top[Constants.Y]; width:StyleSheetTop.time_in_top[Constants.WIDTH]; height:StyleSheetTop.time_in_top[Constants.HEIGHT];color:StyleSheetTop.time_in_top[Constants.TEXTCOLOR];styleColor:StyleSheetTop.time_in_top[Constants.STYLECOLOR]; font.pixelSize:StyleSheetTop.time_in_top[Constants.PIXELSIZE]; + visible: true + style: Text.Sunken; + smooth: true + id:time_in_top + function set() { + text = Qt.formatTime(new Date(),"hh:mm") + } + } + SmartText { x:StyleSheetTop.fsamessageText[Constants.X]; y:StyleSheetTop.fsamessageText[Constants.Y]; width:StyleSheetTop.fsamessageText[Constants.WIDTH]; height:StyleSheetTop.fsamessageText[Constants.HEIGHT];color:StyleSheetTop.fsamessageText[Constants.TEXTCOLOR];styleColor:StyleSheetTop.fsamessageText[Constants.STYLECOLOR]; font.pixelSize:StyleSheetTop.fsamessageText[Constants.PIXELSIZE]; id:fsamessageText @@ -1361,7 +1393,6 @@ HMIMenu { source:StyleSheetSettings.exit[Constants.SOURCE]; x:StyleSheetSettings.exit[StyleSheetSettings.X]; y:StyleSheetSettings.exit[StyleSheetSettings.Y]; width:StyleSheetSettings.exit[StyleSheetSettings.WIDTH]; height:StyleSheetSettings.exit[StyleSheetSettings.HEIGHT]; id:exitSettings; next:north; prev:west; onClicked: { - Genivi.data['show_current_position']=true; move_stop(); camera_stop(); hideMapSettings(); @@ -1391,29 +1422,30 @@ HMIMenu { Component.onCompleted: { Genivi.mapviewer_handle(dbusIf,menu.width,menu.height,Genivi.MAPVIEWER_MAIN_MAP); - if (Genivi.data['show_route_handle']) { + if (Genivi.data['display_on_map']==='show_route_handle') { Genivi.mapviewer_DisplayRoute(dbusIf,Genivi.data['show_route_handle'],false); - delete(Genivi.data['show_route_handle']); - } - if (Genivi.data['zoom_route_handle']) { var res=Genivi.routing_GetRouteBoundingBox(dbusIf,Genivi.data['zoom_route_handle']); if (res[0] == "structure") { Genivi.mapviewer_SetMapViewBoundingBox(dbusIf,res); - } else { + } else { console.log("Unexpected result from GetRouteBoundingBox:"); - Genivi.dump("",res); - } - delete(Genivi.data['zoom_route_handle']); + Genivi.dump("",res); + } } - if (Genivi.data['show_position']) { - Genivi.mapviewer_SetFollowCarMode(dbusIf,false); - Genivi.mapviewer_SetTargetPoint(dbusIf,Genivi.data['show_position']['lat'],Genivi.data['show_position']['lon'],Genivi.data['show_position']['alt']); - delete(Genivi.data['show_position']); - } - if (Genivi.data['show_current_position']) { - Genivi.mapviewer_SetFollowCarMode(dbusIf,true); - delete(Genivi.data['show_current_position']); - } + else { + if (Genivi.data['display_on_map']==='show_current_position') { + Genivi.mapviewer_SetFollowCarMode(dbusIf,true); + } else { + if (Genivi.data['display_on_map']==='show_position') { + Genivi.mapviewer_SetFollowCarMode(dbusIf,false); + Genivi.mapviewer_SetTargetPoint(dbusIf,Genivi.data['show_position']['lat'],Genivi.data['show_position']['lon'],Genivi.data['show_position']['alt']); + } else { + console.log("Error: no position valid"); + } + } + } + + connectSignals(); updateGuidance(); updateSimulation(); diff --git a/src/hmi/qml/NavigationAppSearch.qml b/src/hmi/qml/NavigationAppSearch.qml index e453d93..19b45bb 100644 --- a/src/hmi/qml/NavigationAppSearch.qml +++ b/src/hmi/qml/NavigationAppSearch.qml @@ -54,6 +54,22 @@ NavigationAppHMIMenu { id: dbusIf } + property Item guidanceStatusChangedSignal; + function guidanceStatusChanged(args) + { + Genivi.hookSignal("guidanceStatusChanged"); + if(args[1]===Genivi.NAVIGATIONCORE_ACTIVE) + { + Genivi.guidance_activated = true; + //Guidance active, so inform the trip computer (refresh) + Genivi.fuelstopadvisor_SetFuelAdvisorSettings(dbusIf,1,50); + } else { + Genivi.guidance_activated = false; + //Guidance inactive, so inform the trip computer + Genivi.fuelstopadvisor_SetFuelAdvisorSettings(dbusIf,0,0); + } + } + property Item currentSelectionCriterionSignal; function currentSelectionCriterion(args) {// locationInputHandle 1, selectionCriterion 3 @@ -328,6 +344,7 @@ NavigationAppHMIMenu { function connectSignals() { + guidanceStatusChangedSignal=Genivi.connect_guidanceStatusChangedSignal(dbusIf,menu); currentSelectionCriterionSignal=Genivi.connect_currentSelectionCriterionSignal(dbusIf,menu); searchStatusSignal=Genivi.connect_searchStatusSignal(dbusIf,menu); searchResultListSignal=Genivi.connect_searchResultListSignal(dbusIf,menu); @@ -341,6 +358,7 @@ NavigationAppHMIMenu { function disconnectSignals() { + guidanceStatusChangedSignal.destroy(); currentSelectionCriterionSignal.destroy(); searchStatusSignal.destroy(); searchResultListSignal.destroy(); @@ -364,7 +382,7 @@ NavigationAppHMIMenu { mapresult[map[j+1]]=map[j+3][3][1]; } var text=Genivi.distance(mapresult[Genivi.NAVIGATIONCORE_DISTANCE])+" "+Genivi.time(mapresult[Genivi.NAVIGATIONCORE_TIME])+" "+mapresult[Genivi.NAVIGATIONCORE_ROAD_NAME]; - model.append({"name":text}); + model.append({"name":text,"number":i}); } } @@ -567,7 +585,9 @@ NavigationAppHMIMenu { guidance_stop.visible=false; guidance_start.disabled=false; guidance_stop.disabled=true; + routeArea.model.clear(); routeArea.visible=true; + routeArea.forceActiveFocus(); crossroadZoom.visible=true; Genivi.route_calculated=true; } @@ -787,13 +807,14 @@ NavigationAppHMIMenu { StdButton { source:StyleSheet.show_route_on_map[Constants.SOURCE]; x:StyleSheet.show_route_on_map[Constants.X]; y:StyleSheet.show_route_on_map[Constants.Y]; width:StyleSheet.show_route_on_map[Constants.WIDTH]; height:StyleSheet.show_route_on_map[Constants.HEIGHT]; id: show_route_on_map - disabled:true; next:back; prev:back + disabled:true; next:back; prev:back visible: false; onClicked: { disconnectSignals(); - Genivi.data["mapback"]="NavigationCalculatedRoute"; - Genivi.data["show_route_handle"]=Genivi.routing_handle(dbusIf); - Genivi.data["zoom_route_handle"]=Genivi.routing_handle(dbusIf); + Genivi.data["mapback"]="NavigationAppSearch"; + Genivi.data['display_on_map']='show_route_handle'; + Genivi.data['show_route_handle']=Genivi.routing_handle(dbusIf); + Genivi.data['zoom_route_handle']=Genivi.routing_handle(dbusIf); mapMenu(); } } @@ -804,9 +825,9 @@ NavigationAppHMIMenu { onClicked: { disconnectSignals(); Genivi.guidance_StartGuidance(dbusIf,Genivi.routing_handle(dbusIf)); - Genivi.data["mapback"]="NavigationCalculatedRoute"; + Genivi.data["mapback"]="NavigationAppSearch"; + Genivi.data['display_on_map']='show_current_position'; Genivi.data["show_route_handle"]=Genivi.routing_handle(dbusIf); - Genivi.data["show_current_position"]=true; mapMenu(); } } |