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

@@ -1390,6 +1390,65 @@ class AppLocalizationsHr extends AppLocalizations {
@override
String get trailControls => 'Upravljanje putanjom';
@override
String get exportTrailToGpx => 'Izvezi putanju u GPX';
@override
String get importTrailFromGpx => 'Uvezi putanju iz GPX';
@override
String get trailExportedSuccessfully => 'Putanja uspješno izvezena!';
@override
String get failedToExportTrail => 'Izvoz putanje nije uspio';
@override
String failedToImportTrail(String error) {
return 'Uvoz putanje nije uspio: $error';
}
@override
String get importTrail => 'Uvezi putanju';
@override
String importTrailQuestion(int pointCount) {
return 'Uvezi putanju s $pointCount točaka?\n\nMožete zamijeniti trenutnu putanju ili je prikazati zajedno.';
}
@override
String get viewAlongside => 'Prikaži zajedno';
@override
String get replaceCurrent => 'Zamijeni trenutnu';
@override
String trailImported(int pointCount) {
return 'Putanja uvezena! ($pointCount točaka)';
}
@override
String trailReplaced(int pointCount) {
return 'Putanja zamijenjena! ($pointCount točaka)';
}
@override
String get contactTrails => 'Putanje kontakata';
@override
String get showAllContactTrails => 'Prikaži sve putanje kontakata';
@override
String get noContactsWithLocationHistory =>
'Nema kontakata s poviješću lokacije';
@override
String showingTrailsForContacts(int count) {
return 'Prikazujem putanje za $count kontakata';
}
@override
String get individualContactTrails => 'Pojedinačne putanje kontakata';
@override
String get deviceInformation => 'Informacije o uređaju';