v2.7.0: Time-of-day greeting, bearing indicator, and empty-sky timer

Three small usability additions:
- Splash screen now shows a "Good morning/day/evening" greeting under
  the title, based on local time (computed after the timezone offset
  from IP geolocation is applied via configTime(), not before, so it
  reflects actual local time rather than UTC).
- Selecting an aircraft on the radar now also draws a dotted bearing
  line plus a degree label from the radar center to the compass edge,
  showing which direction to actually look to spot it in the sky
  (distinct from the aircraft's own heading arrow).
- The radar info bar now shows "Empty sky for <time>" instead of the
  "tap for details" hint whenever no aircraft are currently in range
  after all filters, counting up from the last sighting.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Eiswolf-BG
2026-08-06 20:41:09 +02:00
parent e4aa03dbf2
commit 9b9b89eb85
12 changed files with 141 additions and 1 deletions

View File

@@ -318,10 +318,19 @@ void setup() {
}
SplashScreen::setStatusLine(tft, 2, I18n::t(StringId::SPLASH_READY));
// Sobald die IP-Geolocation einen UTC-Offset geliefert hat, die
// Zeitzone entsprechend setzen - Zeitstempel (Flugbuch, Log-Dateinamen)
// zeigen dann die ECHTE Ortszeit statt UTC, automatisch weltweit richtig.
if (LocationManager::hasUtcOffset()) {
configTime(LocationManager::utcOffsetSeconds(), 0, "pool.ntp.org", "time.nist.gov");
}
// ERST JETZT die Begruessung zeichnen - vorher (siehe oben) war die
// Zeitzone noch nicht gesetzt, configTime() lief noch mit UTC statt
// Ortszeit, was in vielen Zeitzonen zu einer falschen Tageszeit-
// Einschaetzung gefuehrt haette (z.B. UTC-Nachmittag = Ortszeit-Abend).
SplashScreen::showGreeting(tft);
AircraftTable::init();
AirlineLookup::init();
FlightLogbook::init();