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

@@ -1407,6 +1407,65 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get trailControls => 'Contrôles de la trace';
@override
String get exportTrailToGpx => 'Exporter la trace vers GPX';
@override
String get importTrailFromGpx => 'Importer la trace depuis GPX';
@override
String get trailExportedSuccessfully => 'Trace exportée avec succès!';
@override
String get failedToExportTrail => 'Échec de l\'exportation de la trace';
@override
String failedToImportTrail(String error) {
return 'Échec de l\'importation de la trace: $error';
}
@override
String get importTrail => 'Importer la trace';
@override
String importTrailQuestion(int pointCount) {
return 'Importer la trace avec $pointCount points?\n\nVous pouvez remplacer votre trace actuelle ou l\'afficher à côté.';
}
@override
String get viewAlongside => 'Afficher à côté';
@override
String get replaceCurrent => 'Remplacer l\'actuel';
@override
String trailImported(int pointCount) {
return 'Trace importée! ($pointCount points)';
}
@override
String trailReplaced(int pointCount) {
return 'Trace remplacée! ($pointCount points)';
}
@override
String get contactTrails => 'Traces des contacts';
@override
String get showAllContactTrails => 'Afficher toutes les traces des contacts';
@override
String get noContactsWithLocationHistory =>
'Aucun contact avec historique de localisation';
@override
String showingTrailsForContacts(int count) {
return 'Affichage des traces pour $count contacts';
}
@override
String get individualContactTrails => 'Traces individuelles des contacts';
@override
String get deviceInformation => 'Informations sur l\'appareil';