From f41df2033f550c9746fb6b113edfe11c9adc6fc3 Mon Sep 17 00:00:00 2001 From: Akiba So Date: Tue, 23 Jun 2026 16:55:31 +0800 Subject: [PATCH] feat(editors): expose pen settings on note + slide MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The note and slide palettes lacked the settings gear the PDF editor has, so width / pressure / eraser-size+mode / palm-rejection were unreachable there (the user's 'toolbar 少了很多东西'). Add the gear to both; it opens the existing rich pen-settings sheet. flutter analyze: 0 issues. --- lib/editor/canvas/pen_note_screen.dart | 9 +++++++++ lib/editor/canvas/pen_slide_screen.dart | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/lib/editor/canvas/pen_note_screen.dart b/lib/editor/canvas/pen_note_screen.dart index 457d621..a15a71b 100644 --- a/lib/editor/canvas/pen_note_screen.dart +++ b/lib/editor/canvas/pen_note_screen.dart @@ -18,6 +18,7 @@ import '../input/pen_input_service.dart'; import '../input/pressure_curve.dart' show kNaturalPressureGamma; import '../layout/viewport_fit.dart'; import '../notebook/ink_stroke_adapter.dart'; +import '../ui/pen_settings_page.dart'; import 'pen_canvas.dart'; import 'pen_palette_widgets.dart'; import 'pen_stroke.dart'; @@ -401,6 +402,14 @@ class _PenNoteScreenState extends ConsumerState { : 'Finger drawing OFF (pen only)', onPressed: _toggleFingerDrawing, ), + ToolButton( + icon: Icons.settings_outlined, + selected: false, + tooltip: 'Pen settings (width, pressure, eraser…)', + onPressed: _penConfig != null + ? () => showPenSettingsSheet(context, _penConfig!) + : null, + ), ], ), ), diff --git a/lib/editor/canvas/pen_slide_screen.dart b/lib/editor/canvas/pen_slide_screen.dart index b70eb4d..edd815c 100644 --- a/lib/editor/canvas/pen_slide_screen.dart +++ b/lib/editor/canvas/pen_slide_screen.dart @@ -20,6 +20,7 @@ import '../input/pen_input_service.dart'; import '../input/pressure_curve.dart' show kNaturalPressureGamma; import '../layout/viewport_fit.dart'; import '../pdf/slide_export.dart'; +import '../ui/pen_settings_page.dart'; import 'pen_canvas.dart'; import 'pen_palette_widgets.dart'; import 'pen_stroke.dart'; @@ -439,6 +440,14 @@ class _PenSlideScreenState extends State { : 'Finger drawing OFF (pen only)', onPressed: _toggleFingerDrawing, ), + ToolButton( + icon: Icons.settings_outlined, + selected: false, + tooltip: 'Pen settings (width, pressure, eraser…)', + onPressed: _penConfig != null + ? () => showPenSettingsSheet(context, _penConfig!) + : null, + ), ], ), ),