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

@@ -1393,6 +1393,64 @@ class AppLocalizationsSl extends AppLocalizations {
@override
String get trailControls => 'Nadzor poti';
@override
String get exportTrailToGpx => 'Izvozi pot v GPX';
@override
String get importTrailFromGpx => 'Uvozi pot iz GPX';
@override
String get trailExportedSuccessfully => 'Pot uspešno izvožena!';
@override
String get failedToExportTrail => 'Izvoz poti ni uspel';
@override
String failedToImportTrail(String error) {
return 'Uvoz poti ni uspel: $error';
}
@override
String get importTrail => 'Uvozi pot';
@override
String importTrailQuestion(int pointCount) {
return 'Uvozi pot s $pointCount točkami?\n\nLahko zamenjate trenutno pot ali jo prikažete skupaj.';
}
@override
String get viewAlongside => 'Prikaži skupaj';
@override
String get replaceCurrent => 'Zamenjaj trenutno';
@override
String trailImported(int pointCount) {
return 'Pot uvožena! ($pointCount točk)';
}
@override
String trailReplaced(int pointCount) {
return 'Pot zamenjana! ($pointCount točk)';
}
@override
String get contactTrails => 'Poti stikov';
@override
String get showAllContactTrails => 'Prikaži vse poti stikov';
@override
String get noContactsWithLocationHistory => 'Ni stikov z zgodovino lokacije';
@override
String showingTrailsForContacts(int count) {
return 'Prikazujem poti za $count stikov';
}
@override
String get individualContactTrails => 'Posamezne poti stikov';
@override
String get deviceInformation => 'Informacije o napravi';