From d1516f32a78f40e247d1dfc4a684a3f706ca9542 Mon Sep 17 00:00:00 2001 From: asanoaozora Date: Tue, 22 Aug 2017 17:52:55 +0200 Subject: navigate into the list of maneuvers, set position --- src/hmi/qml/Core/NavigationAppHMIList.qml | 3 ++ src/hmi/qml/Core/genivi-capi.js | 10 +++++++ src/hmi/qml/Core/genivi-origin.js | 10 +++++++ src/hmi/qml/NavigationApp.qml | 7 +++-- src/hmi/qml/NavigationAppBrowseMap.qml | 41 ++++++++++++++++++++++---- src/hmi/qml/NavigationAppMain.qml | 11 +------ src/hmi/qml/NavigationAppPOI.qml | 1 + src/hmi/qml/NavigationAppSearch.qml | 35 ++++++++++++++++++++-- src/hmi/qml/NavigationAppSettings.qml | 48 +++++++++++++++++-------------- src/update_third_party.sh | 2 +- 10 files changed, 124 insertions(+), 44 deletions(-) (limited to 'src') diff --git a/src/hmi/qml/Core/NavigationAppHMIList.qml b/src/hmi/qml/Core/NavigationAppHMIList.qml index 7460042..d98a634 100644 --- a/src/hmi/qml/Core/NavigationAppHMIList.qml +++ b/src/hmi/qml/Core/NavigationAppHMIList.qml @@ -31,6 +31,9 @@ Rectangle { property alias model: view.model property alias next: view.next property alias prev: view.prev + property alias interactive: view.interactive + property alias highlightFollowsCurrentItem: view.highlightFollowsCurrentItem + property alias currentIndex: view.currentIndex signal selected(variant what) color: "#141414" diff --git a/src/hmi/qml/Core/genivi-capi.js b/src/hmi/qml/Core/genivi-capi.js index dfe1eb2..c1a8d1a 100644 --- a/src/hmi/qml/Core/genivi-capi.js +++ b/src/hmi/qml/Core/genivi-capi.js @@ -608,6 +608,11 @@ function connect_mapViewScaleChangedSignal(interface,menu) return interface.connect("","/MapViewerControl","org.genivi.navigation.mapviewer.MapViewerControl.v4_0","mapViewScaleChanged",menu,"mapViewScaleChanged"); } +function connect_mapViewPerspectiveChangedSignal(interface,menu) +{ + return interface.connect("","/MapViewerControl","org.genivi.navigation.mapviewer.MapViewerControl.v4_0","mapViewPerspectiveChanged",menu,"mapViewPerspectiveChanged"); +} + //----------------- NavigationCore dbus messages ----------------- //----------------- Navigation core Session messages ----------------- @@ -924,6 +929,11 @@ function mapmatchedposition_SetSimulationSpeed(dbusInterface,dltInterface,speedF mapmatchedposition_message(dbusInterface,dltInterface,"setSimulationSpeed",["uint8",speedFactor]); } +function mapmatchedposition_SetPosition(dbusInterface,dltInterface,position) +{ + mapmatchedposition_message(dbusInterface,dltInterface,"setPosition",["map",position]); +} + function mapmatchedposition_GetPosition(dbusInterface,dltInterface) { var valuesToReturn=["int32",NAVIGATIONCORE_SPEED,"int32",NAVIGATIONCORE_LATITUDE,"int32",NAVIGATIONCORE_LONGITUDE]; diff --git a/src/hmi/qml/Core/genivi-origin.js b/src/hmi/qml/Core/genivi-origin.js index be3192e..53e3216 100644 --- a/src/hmi/qml/Core/genivi-origin.js +++ b/src/hmi/qml/Core/genivi-origin.js @@ -607,6 +607,11 @@ function connect_mapViewScaleChangedSignal(interface,menu) return interface.connect("","/org/genivi/mapviewer","org.genivi.navigation.mapviewer.MapViewerControl","MapViewScaleChanged",menu,"mapViewScaleChanged"); } +function connect_mapViewPerspectiveChangedSignal(interface,menu) +{ + return interface.connect("","/org/genivi/mapviewer","org.genivi.navigation.mapviewer.MapViewerControl","MapViewPerspectiveChanged",menu,"mapViewPerspectiveChanged"); +} + //----------------- NavigationCore dbus messages ----------------- //----------------- Navigation core Session messages ----------------- @@ -922,6 +927,11 @@ function mapmatchedposition_SetSimulationSpeed(dbusInterface,dltInterface,speedF mapmatchedposition_message(dbusInterface,dltInterface,"SetSimulationSpeed",["uint8",speedFactor]); } +function mapmatchedposition_SetPosition(dbusInterface,dltInterface,position) +{ + mapmatchedposition_message(dbusInterface,dltInterface,"SetPosition",["map",position]); +} + function mapmatchedposition_GetPosition(dbusInterface,dltInterface) { var valuesToReturn=["int32",NAVIGATIONCORE_SPEED,"int32",NAVIGATIONCORE_LATITUDE,"int32",NAVIGATIONCORE_LONGITUDE]; diff --git a/src/hmi/qml/NavigationApp.qml b/src/hmi/qml/NavigationApp.qml index 53a3aa8..6dd2cd9 100644 --- a/src/hmi/qml/NavigationApp.qml +++ b/src/hmi/qml/NavigationApp.qml @@ -80,6 +80,7 @@ ApplicationWindow { } Component.onCompleted: { + //init persistent data //NB: settings are stored as strings, so it may need some rework for persistent data that are not strings (to be improved ?) Genivi.setlang(Settings.getValue("Locale/language"),Settings.getValue("Locale/country"),Settings.getValue("Locale/script")); @@ -94,7 +95,10 @@ ApplicationWindow { else Genivi.simulationMode=false; if(Settings.getValue("Settings/showroom")==="true") + { Genivi.showroom=true; + Genivi.mapmatchedposition_SetPosition(dbusIf,dltIf,Genivi.latlon_to_map(Genivi.data['default_position'])); + } else Genivi.showroom=false; if(Settings.getValue("Settings/autoguidance")==="true") @@ -111,7 +115,6 @@ ApplicationWindow { else Genivi.dlt=false; - //configure the middleware Genivi.navigationcore_configuration_SetLocale(dbusIf,dltIf,Genivi.g_language,Genivi.g_country,Genivi.g_script); @@ -148,8 +151,6 @@ ApplicationWindow { Genivi.g_mapviewer_handle[1]=0; var res1=Genivi.mapviewer_session_DeleteSession(dbusIf,dltIf);//only one session managed Genivi.g_mapviewer_session_handle[1]=0; - var res2=Genivi.routing_DeleteRoute(dbusIf,dltIf); - Genivi.g_routing_handle[1]=0; var res3=Genivi.navigationcore_session_DeleteSession(dbusIf,dltIf); Genivi.g_nav_session_handle[1]=0; } diff --git a/src/hmi/qml/NavigationAppBrowseMap.qml b/src/hmi/qml/NavigationAppBrowseMap.qml index 6bc35e5..149e6ad 100644 --- a/src/hmi/qml/NavigationAppBrowseMap.qml +++ b/src/hmi/qml/NavigationAppBrowseMap.qml @@ -299,6 +299,26 @@ NavigationAppHMIMenu { setScale(Genivi.currentZoomId); } + property Item mapViewPerspectiveChangedSignal; + function mapViewPerspectiveChanged(args) + { + Genivi.hookSignal(dltIf,"mapViewPerspectiveChanged"); + var perspective=args[3]; + if(perspective===Genivi.MAPVIEWER_3D){ + console.log("toto") + orientation.setState("B"); + showThreeDSettingsPanel(); + }else{ + hideThreeDSettingsPanel(); + if (orientation.status==0) + orientation.setState("D") + else{ + if (orientation.status==2) + orientation.setState("N"); + } + } + } + function connectSignals() { guidanceStatusChangedSignal=Genivi.connect_guidanceStatusChangedSignal(dbusIf,menu); @@ -314,6 +334,7 @@ NavigationAppHMIMenu { routeCalculationProgressUpdateSignal=Genivi.connect_routeCalculationProgressUpdateSignal(dbusIf,menu); fuelStopAdvisorWarningSignal=Genivi.connect_fuelStopAdvisorWarningSignal(dbusIf,menu); mapViewScaleChangedSignal=Genivi.connect_mapViewScaleChangedSignal(dbusIf,menu) + mapViewPerspectiveChangedSignal=Genivi.connect_mapViewPerspectiveChangedSignal(dbusIf,menu) } function disconnectSignals() @@ -331,6 +352,7 @@ NavigationAppHMIMenu { routeCalculationProgressUpdateSignal.destroy(); fuelStopAdvisorWarningSignal.destroy(); mapViewScaleChangedSignal.destroy(); + mapViewPerspectiveChangedSignal.destroy(); } //------------------------------------------// @@ -630,17 +652,12 @@ NavigationAppHMIMenu { if (orientation.status==0) { Genivi.mapviewer_SetCameraHeadingAngle(dbusIf,dltIf,0); Genivi.mapviewer_SetMapViewPerspective(dbusIf,dltIf,Genivi.MAPVIEWER_2D); - orientation.setState("D"); } else { if (orientation.status==1) { Genivi.mapviewer_SetCameraHeadingTrackUp(dbusIf,dltIf); Genivi.mapviewer_SetMapViewPerspective(dbusIf,dltIf,Genivi.MAPVIEWER_3D); - orientation.setState("B"); - showThreeDSettingsPanel(); } else{ Genivi.mapviewer_SetMapViewPerspective(dbusIf,dltIf,Genivi.MAPVIEWER_2D); - orientation.setState("N"); - hideThreeDSettingsPanel(); } } } @@ -1641,6 +1658,7 @@ NavigationAppHMIMenu { Genivi.setRouteCalculated(dltIf,false); } Genivi.setLocationInputActivated(dltIf,true); + Genivi.preloadMode=true; entryMenu(dltIf,"NavigationAppSearch",menu); } } @@ -1703,9 +1721,10 @@ NavigationAppHMIMenu { showGuidancePanel(); showRoutePanel(); updateGuidance(); + Genivi.mapmatchedposition_SetSimulationMode(dbusIf,dltIf,Genivi.simulationMode); if (Genivi.simulationMode===true) { - Genivi.mapmatchedposition_SetSimulationMode(dbusIf,dltIf,Genivi.simulationMode); + Genivi.mapmatchedposition_PauseSimulation(dbusIf,dltIf); showSimulationPanel(); updateSimulation(); } else { @@ -1717,6 +1736,11 @@ NavigationAppHMIMenu { } Genivi.mapviewer_SetTargetPoint(dbusIf,dltIf,Genivi.data['current_position']['lat'],Genivi.data['current_position']['lon'],Genivi.data['current_position']['alt']); Genivi.fuelstopadvisor_SetFuelAdvisorSettings(dbusIf,dltIf,0,50); //no advisor mode + Genivi.mapmatchedposition_SetSimulationMode(dbusIf,dltIf,Genivi.simulationMode); + if (Genivi.simulationMode===true) + { + Genivi.mapmatchedposition_PauseSimulation(dbusIf,dltIf); + } hideGuidancePanel(); hideRoutePanel(); hideSimulationPanel(); @@ -1730,6 +1754,11 @@ NavigationAppHMIMenu { Genivi.mapviewer_SetMapViewScale(dbusIf,dltIf,Genivi.zoom_guidance); Genivi.mapviewer_SetTargetPoint(dbusIf,dltIf,Genivi.data['position']['lat'],Genivi.data['position']['lon'],Genivi.data['position']['alt']); Genivi.fuelstopadvisor_SetFuelAdvisorSettings(dbusIf,dltIf,0,50); //no advisor mode + Genivi.mapmatchedposition_SetSimulationMode(dbusIf,dltIf,Genivi.simulationMode); + if (Genivi.simulationMode===true) + { + Genivi.mapmatchedposition_PauseSimulation(dbusIf,dltIf); + } hideGuidancePanel(); hideRoutePanel(); hideSimulationPanel(); diff --git a/src/hmi/qml/NavigationAppMain.qml b/src/hmi/qml/NavigationAppMain.qml index f2e7693..25bd573 100644 --- a/src/hmi/qml/NavigationAppMain.qml +++ b/src/hmi/qml/NavigationAppMain.qml @@ -111,6 +111,7 @@ NavigationAppHMIMenu { id:navigation; onClicked: { Genivi.setLocationInputActivated(dltIf,true); + Genivi.preloadMode=true; subMenu(dltIf,"NavigationAppSearch","NavigationAppBrowseMap"); } } @@ -193,16 +194,6 @@ NavigationAppHMIMenu { Component.onCompleted: { connectSignals(); - // Test if the navigation server is connected - var res=Genivi.navigationcore_session_GetVersion(dbusIf,dltIf); - if (res[0] != "error") { - var res1=Genivi.navigationcore_session_CreateSession(dbusIf,dltIf); - Genivi.g_nav_session_handle[1]=res1[3]; - } else { - //to do something here - Genivi.dump("",res); - } - updateCurrentPosition(); //log status diff --git a/src/hmi/qml/NavigationAppPOI.qml b/src/hmi/qml/NavigationAppPOI.qml index 251f0fb..2ded99a 100644 --- a/src/hmi/qml/NavigationAppPOI.qml +++ b/src/hmi/qml/NavigationAppPOI.qml @@ -396,6 +396,7 @@ NavigationAppHMIMenu { onClicked: { disconnectSignals(); Genivi.setLocationInputActivated(dltIf,true); + Genivi.preloadMode=true; pageOpen(dltIf,"NavigationAppSearch"); } } diff --git a/src/hmi/qml/NavigationAppSearch.qml b/src/hmi/qml/NavigationAppSearch.qml index 9541844..7609a85 100644 --- a/src/hmi/qml/NavigationAppSearch.qml +++ b/src/hmi/qml/NavigationAppSearch.qml @@ -48,6 +48,7 @@ NavigationAppHMIMenu { property real routeListSegments: 1000 property bool vehicleLocated: false property real delayToGetManeuverList: 200 //in ms + property variant maneuverList: [] DLTIf { id:dltIf; @@ -80,6 +81,8 @@ NavigationAppHMIMenu { Genivi.hookSignal(dltIf,"guidanceStatusChanged"); if(args[1]===Genivi.NAVIGATIONCORE_ACTIVE) { + Genivi.mapmatchedposition_SetSimulationMode(dbusIf,dltIf,Genivi.simulationMode); + if(Genivi.simulationMode) Genivi.mapmatchedposition_PauseSimulation(dbusIf,dltIf); Genivi.setGuidanceActivated(dltIf,true); guidanceActive(); //Guidance active, so inform the trip computer (refresh) @@ -397,6 +400,7 @@ NavigationAppHMIMenu { function getManeuversList() { var res=Genivi.guidance_GetManeuversList(dbusIf,dltIf,0xffff,0); + //var error=res[1] var maneuversList=res[5]; var model=maneuverArea.model; for (var i = 0 ; i < maneuversList.length ; i+=2) { @@ -410,13 +414,17 @@ NavigationAppHMIMenu { var direction=items[j+1][5]; var maneuver=items[j+1][7]; var maneuverData=items[j+1][9]; - if (maneuverData[1] == Genivi.NAVIGATIONCORE_DIRECTION) + if (maneuverData[1] === Genivi.NAVIGATIONCORE_DIRECTION) { - var text=Genivi.distance(offsetOfManeuver)+" "+Genivi.distance(offsetOfNextManeuver)+" "+Genivi.ManeuverType[maneuver]+":"+Genivi.ManeuverDirection[direction]+" "+roadNameAfterManeuver; - model.append({"name":text,"number":i}); + var maneuverIcon=maneuverData[3][3][1]; + var text=Genivi.distance(offsetOfManeuver)+" "+Genivi.ManeuverType[maneuver]+" "+roadNameAfterManeuver; + model.append({"name":text,"number":i}); } } } + //highlight first maneuver + maneuverArea.highlightFollowsCurrentItem=true; + maneuverArea.currentIndex=0; } function updateCurrentPosition() @@ -780,6 +788,7 @@ NavigationAppHMIMenu { image:StyleSheet.navigation_app_search_background[Constants.SOURCE]; anchors { fill: parent; topMargin: parent.headlineHeight} id: content + property int maneuverIndex: 0 // name display Text { @@ -1015,12 +1024,30 @@ NavigationAppHMIMenu { id:prev_maneuver; disabled:true; visible: false; + onClicked: { + var model=maneuverArea.model; + if(content.maneuverIndex > 0){ + content.maneuverIndex--; + console.log(model.get(content.maneuverIndex).name) + maneuverArea.highlightFollowsCurrentItem=true; + maneuverArea.currentIndex=content.maneuverIndex; + } + } } StdButton { source:StyleSheet.next_maneuver[Constants.SOURCE]; x:StyleSheet.next_maneuver[Constants.X]; y:StyleSheet.next_maneuver[Constants.Y]; width:StyleSheet.next_maneuver[Constants.WIDTH]; height:StyleSheet.next_maneuver[Constants.HEIGHT]; id:next_maneuver; disabled:true; visible: false; + onClicked: { + var model=maneuverArea.model; + if(content.maneuverIndex < (model.count-1)){ + content.maneuverIndex++; + console.log(model.get(content.maneuverIndex).name) + maneuverArea.highlightFollowsCurrentItem=true; + maneuverArea.currentIndex=content.maneuverIndex; + } + } } // enter a location by the keyboard menu @@ -1078,6 +1105,8 @@ NavigationAppHMIMenu { x:StyleSheet.maneuverArea[Constants.X]; y:StyleSheet.maneuverArea[Constants.Y]; width:StyleSheet.maneuverArea[Constants.WIDTH]; height:StyleSheet.maneuverArea[Constants.HEIGHT]; id:maneuverArea visible: false; + interactive: false; + enabled: false; delegate: maneuverDelegate } diff --git a/src/hmi/qml/NavigationAppSettings.qml b/src/hmi/qml/NavigationAppSettings.qml index 5e1b688..9d3d5b4 100644 --- a/src/hmi/qml/NavigationAppSettings.qml +++ b/src/hmi/qml/NavigationAppSettings.qml @@ -282,16 +282,16 @@ NavigationAppHMIMenu { } StdButton { objectName:"fra_FRA"; source:StyleSheet.french_flag[Constants.SOURCE]; x:StyleSheet.french_flag[Constants.X]; y:StyleSheet.french_flag[Constants.Y]; width:StyleSheet.french_flag[Constants.WIDTH]; height:StyleSheet.french_flag[Constants.HEIGHT]; - id:fra_FRA; disabled:false; next:deu_DEU; prev:back; onClicked: {setLocale("fra","FRA","Latn");}} + id:fra_FRA; disabled:false;onClicked: {setLocale("fra","FRA","Latn");}} StdButton { objectName:"deu_DEU"; source:StyleSheet.german_flag[Constants.SOURCE]; x:StyleSheet.german_flag[Constants.X]; y:StyleSheet.german_flag[Constants.Y]; width:StyleSheet.german_flag[Constants.WIDTH]; height:StyleSheet.german_flag[Constants.HEIGHT]; - id:deu_DEU; disabled:false; next:eng_USA; prev:fra_FRA; onClicked: {setLocale("deu","DEU","Latn");}} + id:deu_DEU; disabled:false;onClicked: {setLocale("deu","DEU","Latn");}} StdButton { objectName:"eng_USA"; source:StyleSheet.usa_flag[Constants.SOURCE]; x:StyleSheet.usa_flag[Constants.X]; y:StyleSheet.usa_flag[Constants.Y]; width:StyleSheet.usa_flag[Constants.WIDTH]; height:StyleSheet.usa_flag[Constants.HEIGHT]; - id:eng_USA; disabled:false; next:jpn_JPN; prev:deu_DEU; onClicked: {setLocale("eng","USA","Latn");}} + id:eng_USA; disabled:false;onClicked: {setLocale("eng","USA","Latn");}} StdButton { objectName:"jpn_JPN"; source:StyleSheet.japanese_flag[Constants.SOURCE]; x:StyleSheet.japanese_flag[Constants.X]; y:StyleSheet.japanese_flag[Constants.Y]; width:StyleSheet.japanese_flag[Constants.WIDTH]; height:StyleSheet.japanese_flag[Constants.HEIGHT]; - id:jpn_JPN; disabled:false; next:back; prev:eng_USA; onClicked: {setLocale("jpn","JPN","Hrkt");}} + id:jpn_JPN; disabled:false;onClicked: {setLocale("jpn","JPN","Hrkt");}} Text { x:StyleSheet.unitsTitle[Constants.X]; y:StyleSheet.unitsTitle[Constants.Y]; width:StyleSheet.unitsTitle[Constants.WIDTH]; height:StyleSheet.unitsTitle[Constants.HEIGHT];color:StyleSheet.unitsTitle[Constants.TEXTCOLOR];styleColor:StyleSheet.unitsTitle[Constants.STYLECOLOR]; font.pixelSize:StyleSheet.unitsTitle[Constants.PIXELSIZE]; @@ -301,12 +301,12 @@ NavigationAppHMIMenu { text: Genivi.gettext("Units") } StdButton { source:StyleSheet.unit_km[Constants.SOURCE]; x:StyleSheet.unit_km[Constants.X]; y:StyleSheet.unit_km[Constants.Y]; width:StyleSheet.unit_km[Constants.WIDTH]; height:StyleSheet.unit_km[Constants.HEIGHT]; - id:unit_km; disabled:false; next:back; prev:back; + id:unit_km; disabled:false; onClicked: { setUnitsLength(Genivi.NAVIGATIONCORE_KM,Genivi.MAPVIEWER_KM);} } StdButton { source:StyleSheet.unit_mile[Constants.SOURCE]; x:StyleSheet.unit_mile[Constants.X]; y:StyleSheet.unit_mile[Constants.Y]; width:StyleSheet.unit_mile[Constants.WIDTH]; height:StyleSheet.unit_mile[Constants.HEIGHT]; - id:unit_mile; disabled:false; next:back; prev:back; + id:unit_mile; disabled:false; onClicked: { setUnitsLength(Genivi.NAVIGATIONCORE_MILE,Genivi.MAPVIEWER_MILE);} } @@ -335,9 +335,9 @@ NavigationAppHMIMenu { text: Genivi.gettext("Ferries") } StdButton { source:StyleSheet.allow_ferries[Constants.SOURCE]; x:StyleSheet.allow_ferries[Constants.X]; y:StyleSheet.allow_ferries[Constants.Y]; width:StyleSheet.allow_ferries[Constants.WIDTH]; height:StyleSheet.allow_ferries[Constants.HEIGHT]; - id:ferries_yes; next:back; prev:back; onClicked:{use(Genivi.NAVIGATIONCORE_FERRY)}} + id:ferries_yes;disabled: !Genivi.route_calculated;onClicked:{use(Genivi.NAVIGATIONCORE_FERRY)}} StdButton { source:StyleSheet.avoid_ferries[Constants.SOURCE]; x:StyleSheet.avoid_ferries[Constants.X]; y:StyleSheet.avoid_ferries[Constants.Y]; width:StyleSheet.avoid_ferries[Constants.WIDTH]; height:StyleSheet.avoid_ferries[Constants.HEIGHT]; - id:ferries_no; next:back; prev:back; onClicked:{avoid(Genivi.NAVIGATIONCORE_FERRY)}} + id:ferries_no;disabled: !Genivi.route_calculated;onClicked:{avoid(Genivi.NAVIGATIONCORE_FERRY)}} Text { x:StyleSheet.tollRoadsText[Constants.X]; y:StyleSheet.tollRoadsText[Constants.Y]; width:StyleSheet.tollRoadsText[Constants.WIDTH]; height:StyleSheet.tollRoadsText[Constants.HEIGHT];color:StyleSheet.tollRoadsText[Constants.TEXTCOLOR];styleColor:StyleSheet.tollRoadsText[Constants.STYLECOLOR]; font.pixelSize:StyleSheet.tollRoadsText[Constants.PIXELSIZE]; @@ -347,9 +347,9 @@ NavigationAppHMIMenu { text: Genivi.gettext("TollRoads") } StdButton { source:StyleSheet.allow_tollRoads[Constants.SOURCE]; x:StyleSheet.allow_tollRoads[Constants.X]; y:StyleSheet.allow_tollRoads[Constants.Y]; width:StyleSheet.allow_tollRoads[Constants.WIDTH]; height:StyleSheet.allow_tollRoads[Constants.HEIGHT]; - id:toll_roads_yes; next:back; prev:back; onClicked:{use(Genivi.NAVIGATIONCORE_TOLL_ROADS)}} + id:toll_roads_yes;disabled: !Genivi.route_calculated;onClicked:{use(Genivi.NAVIGATIONCORE_TOLL_ROADS)}} StdButton { source:StyleSheet.avoid_tollRoads[Constants.SOURCE]; x:StyleSheet.avoid_tollRoads[Constants.X]; y:StyleSheet.avoid_tollRoads[Constants.Y]; width:StyleSheet.avoid_tollRoads[Constants.WIDTH]; height:StyleSheet.avoid_tollRoads[Constants.HEIGHT]; - id:toll_roads_no; next:back; prev:back; onClicked:{avoid(Genivi.NAVIGATIONCORE_TOLL_ROADS)}} + id:toll_roads_no;disabled: !Genivi.route_calculated;onClicked:{avoid(Genivi.NAVIGATIONCORE_TOLL_ROADS)}} Text { x:StyleSheet.motorWaysText[Constants.X]; y:StyleSheet.motorWaysText[Constants.Y]; width:StyleSheet.motorWaysText[Constants.WIDTH]; height:StyleSheet.motorWaysText[Constants.HEIGHT];color:StyleSheet.motorWaysText[Constants.TEXTCOLOR];styleColor:StyleSheet.motorWaysText[Constants.STYLECOLOR]; font.pixelSize:StyleSheet.motorWaysText[Constants.PIXELSIZE]; @@ -359,9 +359,9 @@ NavigationAppHMIMenu { text: Genivi.gettext("MotorWays") } StdButton { source:StyleSheet.allow_motorways[Constants.SOURCE]; x:StyleSheet.allow_motorways[Constants.X]; y:StyleSheet.allow_motorways[Constants.Y]; width:StyleSheet.allow_motorways[Constants.WIDTH]; height:StyleSheet.allow_motorways[Constants.HEIGHT]; - id:motorways_yes; next:back; prev:back; onClicked:{use(Genivi.NAVIGATIONCORE_HIGHWAYS_MOTORWAYS)}} + id:motorways_yes;disabled: !Genivi.route_calculated;onClicked:{use(Genivi.NAVIGATIONCORE_HIGHWAYS_MOTORWAYS)}} StdButton { source:StyleSheet.avoid_motorways[Constants.SOURCE]; x:StyleSheet.avoid_motorways[Constants.X]; y:StyleSheet.avoid_motorways[Constants.Y]; width:StyleSheet.avoid_motorways[Constants.WIDTH]; height:StyleSheet.avoid_motorways[Constants.HEIGHT]; - id:motorways_no; next:back; prev:back; onClicked:{avoid(Genivi.NAVIGATIONCORE_HIGHWAYS_MOTORWAYS)}} + id:motorways_no;disabled: !Genivi.route_calculated;onClicked:{avoid(Genivi.NAVIGATIONCORE_HIGHWAYS_MOTORWAYS)}} Text { x:StyleSheet.simulationTitle[Constants.X]; y:StyleSheet.simulationTitle[Constants.Y]; width:StyleSheet.simulationTitle[Constants.WIDTH]; height:StyleSheet.simulationTitle[Constants.HEIGHT];color:StyleSheet.simulationTitle[Constants.TEXTCOLOR];styleColor:StyleSheet.simulationTitle[Constants.STYLECOLOR]; font.pixelSize:StyleSheet.simulationTitle[Constants.PIXELSIZE]; @@ -372,7 +372,7 @@ NavigationAppHMIMenu { } StdButton { x:StyleSheet.simu_mode_enable[Constants.X]; y:StyleSheet.simu_mode_enable[Constants.Y]; width:StyleSheet.simu_mode_enable[Constants.WIDTH]; height:StyleSheet.simu_mode_enable[Constants.HEIGHT]; - id:simu_mode; next:back; prev:back; disabled:false; + id:simu_mode;disabled:false; source:StyleSheet.simu_mode_enable[Constants.SOURCE]; function setState(name) { @@ -390,11 +390,13 @@ NavigationAppHMIMenu { if (Genivi.simulationMode==true) { Genivi.simulationMode=false; + Genivi.mapmatchedposition_SetSimulationMode(dbusIf,dltIf,false); simu_mode.setState("DISABLE"); } else { Genivi.simulationMode=true; + Genivi.mapmatchedposition_SetSimulationMode(dbusIf,dltIf,true); simu_mode.setState("ENABLE"); } } @@ -432,6 +434,7 @@ NavigationAppHMIMenu { else { Genivi.showroom=true; + Genivi.mapmatchedposition_SetPosition(dbusIf,dltIf,Genivi.latlon_to_map(Genivi.data['default_position'])); showroom.setState("ENABLE"); } } @@ -485,7 +488,7 @@ NavigationAppHMIMenu { StdButton { source:StyleSheet.back[Constants.SOURCE]; x:StyleSheet.back[Constants.X]; y:StyleSheet.back[Constants.Y]; width:StyleSheet.back[Constants.WIDTH]; height:StyleSheet.back[Constants.HEIGHT];textColor:StyleSheet.backText[Constants.TEXTCOLOR]; pixelSize:StyleSheet.backText[Constants.PIXELSIZE]; - id:back; text: Genivi.gettext("Back"); disabled:false; next:simu_mode; prev:showroom; + id:back; text: Genivi.gettext("Back"); disabled:false; onClicked:{ disconnectSignals(); leaveMenu(dltIf); @@ -496,13 +499,11 @@ NavigationAppHMIMenu { Component.onCompleted: { connectSignals(); - Genivi.mapmatchedposition_SetSimulationMode(dbusIf,dltIf,Genivi.simulationMode); - if(Genivi.simulationMode===true) { - Genivi.mapmatchedposition_PauseSimulation(dbusIf,dltIf); - } - var res=Genivi.routing_GetCostModel(dbusIf,dltIf); - var costmodel=res[1]; + if(Genivi.route_calculated){ + var res=Genivi.routing_GetCostModel(dbusIf,dltIf); + var costmodel=res[1]; + } var costModelsList=Genivi.routing_GetSupportedCostModels(dbusIf,dltIf); for (var i = 0 ; i < costModelsList[1].length ; i+=2) { var button=Qt.createQmlObject('import QtQuick 2.1 ; import "Core"; StdButton { }',content,'dynamic'); @@ -515,7 +516,12 @@ NavigationAppHMIMenu { button.pixelSize=StyleSheet.costModelValue[Constants.PIXELSIZE]; button.userdata=costModelsList[1][i+1]; button.text=Genivi.CostModels[button.userdata]; - button.disabled=button.userdata == costmodel; + if(Genivi.route_calculated){ + button.disabled=button.userdata === costmodel; + }else{ + button.disabled=true; + } + button.clicked.connect( function(what) { Genivi.routing_SetCostModel(dbusIf,dltIf,what.userdata); diff --git a/src/update_third_party.sh b/src/update_third_party.sh index d21b3d4..5cafa04 100755 --- a/src/update_third_party.sh +++ b/src/update_third_party.sh @@ -1,6 +1,6 @@ #!/bin/bash -navigation_version='faed34d71ab44536cc077a6a6edf9e6903e40c1f' +navigation_version='58be072f387b9430944d7fd8d75900295ab53971' positioning_version='9725fe1f553197042d6445997690d452a73490c0' navit_version='28478e7f26c1a0eedc06fb4765e2f736079c6f0c' -- cgit v1.2.1