call_end

    • Pl chevron_right

      Marcus Lundblad: Xmas & New Year's Maps

      news.movim.eu / PlanetGnome • 21 December • 3 minutes


    It's that time of year again in (Norther Hemisphere) winter when year's drawing to an end. Which means it's time for the traditional Christmas Maps blogpost.

    Sometimes you hear claims about Santa Claus living at the North Pole (though in Rovaniemi, Finland, I bet they would disagree…). Turns out there's a North Pole near Fairbanks, Alaska as well:


    😄

    OK, enough smalltalk… now on to what's happened since the last update (for the GNOME 49 release in September).

    Sidebar Redesign

    Our old design when it comes to showing information about places has revolved around the trusted old “popover” menu design which has served us pretty well. But it also had it's drawbacks.

    For one it was never a good fit on small screen sizes (such as on phones). Therefore we had our own “home-made” place bar design with a separate dialog opening up when clicking the bar to reveal full details.

    After some discussions and thinking about this, I decided to try out a new approach utilizing the MultiLayout component from libadwaita which gives the option to get an adaptive “auxillary view” widget which works as a sidebar on desktop, and a bottom sheet on mobile.

    Now the routeplanner and place information views have both been consolidated to both reside in this new widget.

    Clicking the route button will now open the sidebar showing the routeplanner, or the bottom sheet depending on the mode.

    And clicking a place icon on the map, or selecting a search result will open the place information, also showing in the sidebar, or bottom sheet.

    multiview-route-planner-sidebar.png
    Route planner showing in sidebar in desktop mode

    multiview-route-planner-bottom-sheet.png
    Routeplanner showing in bottom sheet in mobile/narrow mode

    multiview-route-planner-bottom-sheet-plan.png
    Routeplanner showing public transit itineraries in bottom sheet

    multiview-placeview-sidebar.png
    Showing place information in sidebar in desktop mode

    multiview-placeview-bottom-sheet.png
    Showing place information in bottom sheet in mobile mode

    Redesigning Public Transit Itinerary Rendering

    The displaying of public transit itineraries has also seen some overhaul.

    First I did a bit of redesign of the rows representing journey legs, taking some queues from the Adwaita ExpanderRow style. Improving a bit compared to the old style which had been carried over from GTK 3.

    transit-itinerary-redesign.png
    List of journey legs, with the arrow indicating possibilty to expand to reveal more information

    transit-itinerary-redesign-expanded.png

    List of journey legs, with one leg “expanded” to show intermediate stops made by a train

    Improving further on this Jalen Ng contributed a merge request implementing an improvement to the overview list utilizing Adwaita WrapBoxes to show more complete information the different steps of each presented itinerary option in the overview when searching for travel options with public transit.

    transit-plan-wrapbox.png
    Showing list of transit itineraries each consisting of multiple journey legs

    Jalen also started a redesign of rendering of itineraries (this merge request is still being worked on).

    redesign-transit-itinerary.png
    Redesign of transit itinerary display. Showing each leg as a “track segment“ using the line's color

    Hide Your Location

    We also added the option to hide the marker showing your own location. One use for this e.g. if you want to make screenshots without revealing your exact location.

    show-location-setting-menuitem.png
    Menu to toggle showing your location marker

    And that's not All…

    On top of this some other things. James Westman added support global-state expressions to libshumate's vector tile implementation. This should allow us to e.g. refactor the implementation of light and dark styles and language support in our map style without “recompiling”  the stylesheet at runtime.

    James also fixed a bug sometimes causing the application to freeze when dragging the window between screens when a route is being displayed.

    This fix has been backported to the 49.3 and 48.8 releases which has been tagged today as an early holiday gift.

    And that's all for now, merry holidays, and  happy new year!