feat: Enhance message handling for drawings

- Added properties to the Message model to track drawing status and associated drawing ID.
- Updated AppProvider to mark messages as drawings and link them to their respective drawing IDs.
- Enhanced DrawingProvider to manage received drawings and their visibility.
- Implemented navigation to drawings in MapProvider, including dynamic zoom levels based on drawing size.
- Updated MessagesProvider to parse drawing messages and manage linked drawings.
- Enhanced MessagesTab to support drawing message interactions, including navigation and coordinate copying.
- Created DrawingMinimapPreview widget for visual representation of drawings in message bubbles.
- Improved DrawingToolbar to handle sharing of drawings, ensuring only unshared drawings are sent.
- Added utility functions in DrawingMessageParser for extracting drawing metadata.
This commit is contained in:
Janez T
2025-10-23 20:14:51 +02:00
parent f32667997e
commit 1688d6f538
25 changed files with 1504 additions and 114 deletions

View File

@@ -373,7 +373,7 @@ class AppLocalizationsEs extends AppLocalizations {
String get deleteDrawing => 'Eliminar dibujo';
@override
String get drawingTools => 'Herramientas de dibujo';
String get drawingTools => 'Herramientas de Dibujo';
@override
String get drawLine => 'Dibujar línea';
@@ -1783,4 +1783,42 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get sampleMedicalTeam => 'Equipo Médico';
@override
String get mapDrawing => 'Dibujo del Mapa';
@override
String get navigateToDrawing => 'Navegar al Dibujo';
@override
String get copyCoordinates => 'Copiar Coordenadas';
@override
String get hideFromMap => 'Ocultar del Mapa';
@override
String get lineDrawing => 'Línea';
@override
String get rectangleDrawing => 'Rectángulo';
@override
String get coordinatesCopiedToClipboard =>
'Coordenadas copiadas al portapapeles';
@override
String get drawingShared => 'Dibujo del Mapa';
@override
String get drawingHidden => 'Dibujo ocultado del mapa';
@override
String alreadyShared(int count) {
return '$count ya compartido';
}
@override
String newDrawingsShared(int count, String plural) {
return '$count nuevo(s) dibujo(s) compartido(s)';
}
}