feat: Add GPX import/export functionality and enhance trail management

- Implemented GPX export and import features in GpxService for location trails.
- Added UI controls for exporting and importing trails in the TrailControls widget.
- Introduced localization strings for GPX operations in Italian and Slovenian.
- Enhanced MapProvider to manage imported trails and toggle visibility for contact trails.
- Updated trail color management with TrailColorService for consistent color assignment based on contact roles.
- Improved UI for displaying contact trails with toggle options for individual and all contact trails.
- Refactored detailed compass dialog to remove unnecessary path toggle button for contacts.
This commit is contained in:
Janez T
2025-10-28 11:04:09 +01:00
parent a1207ad844
commit e7fe700fee
23 changed files with 1967 additions and 33 deletions

View File

@@ -1401,6 +1401,65 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get trailControls => 'Controlli Traccia';
@override
String get exportTrailToGpx => 'Esporta traccia in GPX';
@override
String get importTrailFromGpx => 'Importa traccia da GPX';
@override
String get trailExportedSuccessfully => 'Traccia esportata con successo!';
@override
String get failedToExportTrail => 'Esportazione traccia fallita';
@override
String failedToImportTrail(String error) {
return 'Importazione traccia fallita: $error';
}
@override
String get importTrail => 'Importa traccia';
@override
String importTrailQuestion(int pointCount) {
return 'Importare traccia con $pointCount punti?\n\nPuoi sostituire la tua traccia attuale o visualizzarla affiancata.';
}
@override
String get viewAlongside => 'Visualizza affiancata';
@override
String get replaceCurrent => 'Sostituisci attuale';
@override
String trailImported(int pointCount) {
return 'Traccia importata! ($pointCount punti)';
}
@override
String trailReplaced(int pointCount) {
return 'Traccia sostituita! ($pointCount punti)';
}
@override
String get contactTrails => 'Tracce contatti';
@override
String get showAllContactTrails => 'Mostra tutte le tracce dei contatti';
@override
String get noContactsWithLocationHistory =>
'Nessun contatto con cronologia posizione';
@override
String showingTrailsForContacts(int count) {
return 'Visualizzazione tracce per $count contatti';
}
@override
String get individualContactTrails => 'Tracce individuali dei contatti';
@override
String get deviceInformation => 'Informazioni Dispositivo';