* rough multiple language demo
* more wrappings
* stash
* add some bad translations
* updates
* map from french to spanish still has same problem of needing to call setText on everything
* add files
* restart UI
* use return code
* relative path
* more translations
* don't loop restart
* Toggle and prime translations
* try on device
* try QComboBox with readable style
* stash
* not yet scrollable
* stash
* dynamic translations (doesn't work for dynamic widget strings yet)
* clean up multiple option selector
* store languages in json
* try transparent
* Try transparent popup
* see how this looks
* tweaks
* clean up
* update names
* Add Chinese (Simplified) translations
* Do missing French translations
* unit tests caught that :)
* fix test
* fix other test (on PC)
* add entries to dialog to test
* add cancel button, clean up a bit
* just chinese
* some clean up
* use quotes
* clean up
* Just quit, set timeout to 0
* half a second
* use exitcode
* don't print if it's expected
* this comment is outdated
* update translations
* Update translations
* re-order input classes
* Update line numbers
* use enabled property for button style
* Get rid of ListWidget
* Update line numbers
* Log failed to load language
* Log failed to load language
* Move to utils and fix english logging
extra line
* Update translations
* spacing
* looks a bit better
* try this instead of exitcode
fixes
fix
* only one function
* comment
* Update line numbers
* fixup some japanese translations
* clean up multi option dialog
* Update line numbers
* rough multiple language demo
* more wrappings
* stash
* add some bad translations
* updates
* map from french to spanish still has same problem of needing to call setText on everything
* add files
* restart UI
* use return code
* relative path
* more translations
* don't loop restart
* Toggle and prime translations
* try on device
* try QComboBox with readable style
* stash
* not yet scrollable
* stash
* dynamic translations (doesn't work for dynamic widget strings yet)
* clean up multiple option selector
* store languages in json
* try transparent
* Try transparent popup
* see how this looks
* tweaks
* clean up
* clean up
* clean up 2 and missing tr
* wrap more strings
* missing updater
* fixes
* add basic test to ensure all strings wrapped
* try in CI
* clean up
* test name
* fix test
* always install qt dev tools
* fix deps
* fast test
* add section so it prints multiple errors
* debug
* debug
get rid of those
* make any difference?
* comment
* oh...
* run with offscreen platform
* try out section
* clean up
* fix missing wrappings (it works!)
* move down
* space
* clear relevant params, set TICI=1
* basic US design
* place based on center position
* fix typo
* eu sign without rounded box
* same as steering wheel icon
* proper rounded bottom for eu sign
* add border
* proper placement/sizes
* needs to be semi bold
* color changes
* only when engaged
* move helpers into util.h
* Fix MAX placement
* only change color when at least 5 over
* implement override state
* pixel perfect spacing around us sign
* move ui_draw_world to qt
* draw world if world_objects_visible is true
* cleanup
* cleanup includes
* continue
* cleanup
* cleanup
* enable multisampling on all devices
* api: set User-Agent on network requests
The format of the User-Agent header matches the format in `common/api/__init__.py`.
Closes#22954.
* Update selfdrive/ui/qt/util.cc
* fix parentheses
* refactor into function
Co-authored-by: Willem Melching <willem.melching@gmail.com>
* Add navd folder
* prints route instructions to console
* broadcast NavInstuction without lanes
* show basic instructions and eta
* parse out lane info
* use swaglog
* clip distance on ui side
* draw lane directions
* show route
* add to process config
* add to release files
* small cleanup
* show route without gps
* pop open map on initial route
* fix error messages around no gps
* done
* make persistent process
* handle end of route
* clear route on offroad
* only one timer
* fix layout hacks
* explicit rendering at 20Hz
* add recent buttons
* remove static request
* layout
* recent doesn't have to be a favorite
* work
* spacing
* spacing
* no recents
* query next
* not null
* this needs to live here
* less spacing between items