From 174ffb3aac202e3c08296851e6a3c20dd9b92e82 Mon Sep 17 00:00:00 2001 From: stopflock Date: Wed, 6 Aug 2025 23:28:58 -0500 Subject: [PATCH] cancel download button --- lib/screens/settings_screen.dart | 37 +++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/lib/screens/settings_screen.dart b/lib/screens/settings_screen.dart index 559db8a..3fafa41 100644 --- a/lib/screens/settings_screen.dart +++ b/lib/screens/settings_screen.dart @@ -487,18 +487,31 @@ class _OfflineAreasSectionState extends State<_OfflineAreasSection> { subtitle: Text(subtitle), isThreeLine: true, trailing: area.status == OfflineAreaStatus.downloading - ? SizedBox( - width: 64, - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - LinearProgressIndicator(value: area.progress), - Text( - '${(area.progress * 100).toStringAsFixed(0)}%', - style: const TextStyle(fontSize: 12), - ) - ], - ), + ? Row( + mainAxisSize: MainAxisSize.min, + children: [ + SizedBox( + width: 64, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + LinearProgressIndicator(value: area.progress), + Text( + '${(area.progress * 100).toStringAsFixed(0)}%', + style: const TextStyle(fontSize: 12), + ) + ], + ), + ), + IconButton( + icon: const Icon(Icons.cancel, color: Colors.orange), + tooltip: 'Cancel download', + onPressed: () { + service.cancelDownload(area.id); + setState(() {}); + }, + ) + ], ) : null, onLongPress: area.status == OfflineAreaStatus.downloading