From a7f2e1ca89e0091c8dffea304285ca1c35f87604 Mon Sep 17 00:00:00 2001 From: randogoth Date: Sat, 22 Feb 2025 14:38:38 +0200 Subject: [PATCH] improved external editor, commands --- lib/note_list.dart | 41 ++++++++++++++++------------------------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/lib/note_list.dart b/lib/note_list.dart index 4a461d8..d1c7dec 100644 --- a/lib/note_list.dart +++ b/lib/note_list.dart @@ -48,6 +48,15 @@ class _NoteListScreenState extends State { }); } + Future _toggleExternalEditor(bool value) async { + setState(() { + _useExternalEditor = value; + }); + SharedPreferences.getInstance().then((prefs) { + prefs.setBool('use_external_editor', value); + }); + } + Future _requestStoragePermission() async { if (Platform.isAndroid) { if (await Permission.storage.request().isGranted) { @@ -219,25 +228,6 @@ class _NoteListScreenState extends State { .trim(); } - Future _openExternalEditor(File noteFile) async { - if (!noteFile.existsSync()) { - print("❌ File does not exist: ${noteFile.path}"); - return; - } - - try { - if (Platform.isAndroid) { - await _requestStoragePermission(); - } - - final result = await OpenFilex.open(noteFile.path); - print("✅ OpenFilex result: ${result.type}, message: ${result.message}"); - } catch (e) { - print("❌ Failed to open external editor: $e"); - } - } - - void _deleteNote(File note) { final trashDir = Directory('${note.parent.path}/trash'); if (!trashDir.existsSync()) { @@ -319,6 +309,12 @@ class _NoteListScreenState extends State { case ':night': widget.toggleTheme(true); break; + case ':extern': + _toggleExternalEditor(true); + break; + case ':intern': + _toggleExternalEditor(false); + break; case ':emptytrash': _confirmEmptyTrash(); break; @@ -371,12 +367,7 @@ class _NoteListScreenState extends State { }); break; case 'External Editor': - setState(() { - _useExternalEditor = !_useExternalEditor; - }); - SharedPreferences.getInstance().then((prefs) { - prefs.setBool('use_external_editor', _useExternalEditor); - }); + _toggleExternalEditor(!_useExternalEditor); break; case 'Select Folder': _showDirectoryChoiceDialog(