From d626271ad2dab18648da281dfc11e525f389b6f0 Mon Sep 17 00:00:00 2001 From: Julian Mutter Date: Wed, 4 Feb 2026 11:50:27 +0100 Subject: [PATCH] Improve error messages for impossible actions during paint mode --- .../sheet_viewer/sheet_viewer_page.dart | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/lib/features/sheet_viewer/sheet_viewer_page.dart b/lib/features/sheet_viewer/sheet_viewer_page.dart index cfd03d6..8c0b7ea 100644 --- a/lib/features/sheet_viewer/sheet_viewer_page.dart +++ b/lib/features/sheet_viewer/sheet_viewer_page.dart @@ -92,6 +92,10 @@ class _SheetViewerPageState extends State } void _toggleFullscreen() { + if (_isPaintMode) { + _showSnackBar('Cannot enter fullscreen while in paint mode'); + return; + } FullScreen.setFullScreen(!widget.config.fullscreen); } @@ -111,13 +115,7 @@ class _SheetViewerPageState extends State void _togglePaintMode() { if (widget.config.twoPageMode) { - // Paint mode only works in single page mode - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar( - content: Text('Paint mode is only available in single page mode'), - duration: Duration(seconds: 2), - ), - ); + _showSnackBar('Paint mode is only available in single page mode'); return; } @@ -125,19 +123,14 @@ class _SheetViewerPageState extends State } void _toggleTwoPageMode() { + if (_isPaintMode) { + _showSnackBar('Cannot enter two-page mode while painting'); + return; + } + setState(() { widget.config.twoPageMode = !widget.config.twoPageMode; _storageService.writeConfig(widget.config); - - if (widget.config.twoPageMode && _isPaintMode) { - _isPaintMode = false; - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar( - content: Text('Paint mode disabled in two-page mode'), - duration: Duration(seconds: 2), - ), - ); - } }); } @@ -252,4 +245,10 @@ class _SheetViewerPageState extends State ), ); } + + void _showSnackBar(String message) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text(message), duration: Duration(seconds: 2)), + ); + } }