From 1e2b3acbb1280c88bc58051544635e3e9e8b4fbb Mon Sep 17 00:00:00 2001 From: hejl Date: Sat, 17 May 2025 22:11:50 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template_parser_controller.dart | 33 ------- .../template_parser_service.dart | 7 -- .../template_parser/template_parser_view.dart | 89 ------------------- .../lib/{app => frame}/models/file_node.dart | 0 .../lib/{app => frame}/models/tab_model.dart | 0 .../providers/editor_provider.dart | 2 +- .../providers/file_provider.dart | 6 +- .../lib/{app => frame}/providers/logger.dart | 0 .../{app => frame}/services/file_service.dart | 2 +- .../services/syntax_service.dart | 0 .../core => frame/widgets}/app_scaffold.dart | 12 +-- .../core => frame/widgets}/console_panel.dart | 2 +- .../widgets}/file_explorer_pane.dart | 4 +- .../core => frame/widgets}/tab_manager.dart | 6 +- .../{app/core => frame/widgets}/tab_view.dart | 11 +-- win_text_editor/lib/main.dart | 4 +- .../lib/{app => }/menus/app_menu.dart | 2 +- .../lib/{app => }/menus/menu_actions.dart | 6 +- .../lib/{app => }/menus/menu_constants.dart | 0 .../content_search/models/match_result.dart | 6 ++ .../content_search/models/search_mode.dart | 1 + .../content_search/models/search_result.dart} | 11 +-- .../providers}/content_search_controller.dart | 9 +- .../services}/content_search_service.dart | 6 +- .../widgets}/content_search_view.dart | 6 +- .../widgets}/directory_settings.dart | 2 +- .../content_search/widgets}/results_view.dart | 6 +- .../widgets}/search_settings.dart | 8 +- .../modules => shared/base}/base_view.dart | 2 +- .../components/editor_toolbar.dart | 0 .../components/file_explorer.dart | 4 +- .../components/text_editor.dart | 0 .../lib/{app => shared}/utils/file_utils.dart | 2 +- 33 files changed, 61 insertions(+), 188 deletions(-) delete mode 100644 win_text_editor/lib/app/modules/template_parser/template_parser_controller.dart delete mode 100644 win_text_editor/lib/app/modules/template_parser/template_parser_service.dart delete mode 100644 win_text_editor/lib/app/modules/template_parser/template_parser_view.dart rename win_text_editor/lib/{app => frame}/models/file_node.dart (100%) rename win_text_editor/lib/{app => frame}/models/tab_model.dart (100%) rename win_text_editor/lib/{app => frame}/providers/editor_provider.dart (98%) rename win_text_editor/lib/{app => frame}/providers/file_provider.dart (96%) rename win_text_editor/lib/{app => frame}/providers/logger.dart (100%) rename win_text_editor/lib/{app => frame}/services/file_service.dart (97%) rename win_text_editor/lib/{app => frame}/services/syntax_service.dart (100%) rename win_text_editor/lib/{app/core => frame/widgets}/app_scaffold.dart (80%) rename win_text_editor/lib/{app/core => frame/widgets}/console_panel.dart (98%) rename win_text_editor/lib/{app/core => frame/widgets}/file_explorer_pane.dart (94%) rename win_text_editor/lib/{app/core => frame/widgets}/tab_manager.dart (91%) rename win_text_editor/lib/{app/core => frame/widgets}/tab_view.dart (87%) rename win_text_editor/lib/{app => }/menus/app_menu.dart (97%) rename win_text_editor/lib/{app => }/menus/menu_actions.dart (93%) rename win_text_editor/lib/{app => }/menus/menu_constants.dart (100%) create mode 100644 win_text_editor/lib/modules/content_search/models/match_result.dart create mode 100644 win_text_editor/lib/modules/content_search/models/search_mode.dart rename win_text_editor/lib/{app/models/search_model.dart => modules/content_search/models/search_result.dart} (69%) rename win_text_editor/lib/{app/modules/content_search => modules/content_search/providers}/content_search_controller.dart (95%) rename win_text_editor/lib/{app/modules/content_search => modules/content_search/services}/content_search_service.dart (96%) rename win_text_editor/lib/{app/modules/content_search => modules/content_search/widgets}/content_search_view.dart (89%) rename win_text_editor/lib/{app/modules/content_search => modules/content_search/widgets}/directory_settings.dart (96%) rename win_text_editor/lib/{app/modules/content_search => modules/content_search/widgets}/results_view.dart (97%) rename win_text_editor/lib/{app/modules/content_search => modules/content_search/widgets}/search_settings.dart (97%) rename win_text_editor/lib/{app/modules => shared/base}/base_view.dart (93%) rename win_text_editor/lib/{app => shared}/components/editor_toolbar.dart (100%) rename win_text_editor/lib/{app => shared}/components/file_explorer.dart (98%) rename win_text_editor/lib/{app => shared}/components/text_editor.dart (100%) rename win_text_editor/lib/{app => shared}/utils/file_utils.dart (96%) diff --git a/win_text_editor/lib/app/modules/template_parser/template_parser_controller.dart b/win_text_editor/lib/app/modules/template_parser/template_parser_controller.dart deleted file mode 100644 index 1fe1e83..0000000 --- a/win_text_editor/lib/app/modules/template_parser/template_parser_controller.dart +++ /dev/null @@ -1,33 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:win_text_editor/app/modules/template_parser/template_parser_service.dart'; - -class TemplateParserController with ChangeNotifier { - final TemplateParserService _service = TemplateParserService(); - - String _sourceContent = ''; - String _parsedContent = ''; - String _statusMessage = '准备就绪'; - - String get sourceContent => _sourceContent; - String get parsedContent => _parsedContent; - String get statusMessage => _statusMessage; - - set sourceContent(String value) { - _sourceContent = value; - notifyListeners(); - } - - Future parseTemplates() async { - try { - _statusMessage = '解析中...'; - notifyListeners(); - - _parsedContent = await _service.parse(_sourceContent); - _statusMessage = '解析完成'; - } catch (e) { - _statusMessage = '解析失败: $e'; - } finally { - notifyListeners(); - } - } -} diff --git a/win_text_editor/lib/app/modules/template_parser/template_parser_service.dart b/win_text_editor/lib/app/modules/template_parser/template_parser_service.dart deleted file mode 100644 index 251338f..0000000 --- a/win_text_editor/lib/app/modules/template_parser/template_parser_service.dart +++ /dev/null @@ -1,7 +0,0 @@ -class TemplateParserService { - Future parse(String source) async { - // 实际的模板解析逻辑 - await Future.delayed(const Duration(seconds: 1)); // 模拟耗时操作 - return 'Parssed: $source'; - } -} diff --git a/win_text_editor/lib/app/modules/template_parser/template_parser_view.dart b/win_text_editor/lib/app/modules/template_parser/template_parser_view.dart deleted file mode 100644 index 83b2ed3..0000000 --- a/win_text_editor/lib/app/modules/template_parser/template_parser_view.dart +++ /dev/null @@ -1,89 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:win_text_editor/app/components/text_editor.dart'; -import 'package:win_text_editor/app/modules/base_view.dart'; - -class TemplateParserView extends BaseView { - const TemplateParserView({super.key, required String tabId}) : super(tabId: tabId); - - @override - TemplateParserViewState createState() => TemplateParserViewState(); -} - -class TemplateParserViewState extends BaseViewState { - final GlobalKey _editor1Key = GlobalKey(); - final GlobalKey _editor2Key = GlobalKey(); - - // 添加焦点监听 - void _setupFocusListeners() {} - - @override - void initState() { - super.initState(); - - WidgetsBinding.instance.addPostFrameCallback((_) { - _setupFocusListeners(); - }); - } - - @override - void dispose() { - //_controller.dispose(); // 清理控制器 - super.dispose(); - } - - @override - void onOpenFolder(String folderPath) { - // 实现打开文件夹的逻辑 - print('Opening folder: $folderPath'); - } - - @override - void onOpenFile(String filePath) { - // 实现打开文件的逻辑 - print('Opening file: $filePath'); - } - - // 修改loadFile方法使用_activeEditorIndex - Future loadFile(BuildContext context, String filePath) async {} - - @override - Widget build(BuildContext context) { - return SingleChildScrollView( - child: ConstrainedBox( - constraints: const BoxConstraints(minHeight: 400), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Flexible( - child: SizedBox( - height: MediaQuery.of(context).size.height / 2 - 100, - child: Container( - child: TextEditor( - key: _editor1Key, - tabId: '${widget.tabId}_1', - title: '源文本', // 可配置的标题 - ), - ), - ), - ), - Flexible( - child: SizedBox( - height: MediaQuery.of(context).size.height / 2 - 100, - child: Container( - decoration: BoxDecoration( - border: Border.all(color: Colors.transparent, width: 2.0), - ), - child: TextEditor( - key: _editor2Key, - tabId: '${widget.tabId}_2', - title: '目标文本', // 可配置的标题 - ), - ), - ), - ), - ], - ), - ), - ); - } -} diff --git a/win_text_editor/lib/app/models/file_node.dart b/win_text_editor/lib/frame/models/file_node.dart similarity index 100% rename from win_text_editor/lib/app/models/file_node.dart rename to win_text_editor/lib/frame/models/file_node.dart diff --git a/win_text_editor/lib/app/models/tab_model.dart b/win_text_editor/lib/frame/models/tab_model.dart similarity index 100% rename from win_text_editor/lib/app/models/tab_model.dart rename to win_text_editor/lib/frame/models/tab_model.dart diff --git a/win_text_editor/lib/app/providers/editor_provider.dart b/win_text_editor/lib/frame/providers/editor_provider.dart similarity index 98% rename from win_text_editor/lib/app/providers/editor_provider.dart rename to win_text_editor/lib/frame/providers/editor_provider.dart index 014855e..6141e9e 100644 --- a/win_text_editor/lib/app/providers/editor_provider.dart +++ b/win_text_editor/lib/frame/providers/editor_provider.dart @@ -1,7 +1,7 @@ import 'dart:math'; import 'package:flutter/material.dart'; -import 'package:win_text_editor/app/providers/logger.dart'; +import 'package:win_text_editor/frame/providers/logger.dart'; class EditorProvider with ChangeNotifier { final List _tabs = []; diff --git a/win_text_editor/lib/app/providers/file_provider.dart b/win_text_editor/lib/frame/providers/file_provider.dart similarity index 96% rename from win_text_editor/lib/app/providers/file_provider.dart rename to win_text_editor/lib/frame/providers/file_provider.dart index 13c3bd0..44b76f2 100644 --- a/win_text_editor/lib/app/providers/file_provider.dart +++ b/win_text_editor/lib/frame/providers/file_provider.dart @@ -2,9 +2,9 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:file_picker/file_picker.dart'; import 'package:path_provider/path_provider.dart'; -import 'package:win_text_editor/app/models/file_node.dart'; -import 'package:win_text_editor/app/providers/logger.dart'; -import 'package:win_text_editor/app/services/file_service.dart'; +import 'package:win_text_editor/frame/models/file_node.dart'; +import 'package:win_text_editor/frame/providers/logger.dart'; +import 'package:win_text_editor/frame/services/file_service.dart'; class FileProvider with ChangeNotifier { List _fileNodes = []; diff --git a/win_text_editor/lib/app/providers/logger.dart b/win_text_editor/lib/frame/providers/logger.dart similarity index 100% rename from win_text_editor/lib/app/providers/logger.dart rename to win_text_editor/lib/frame/providers/logger.dart diff --git a/win_text_editor/lib/app/services/file_service.dart b/win_text_editor/lib/frame/services/file_service.dart similarity index 97% rename from win_text_editor/lib/app/services/file_service.dart rename to win_text_editor/lib/frame/services/file_service.dart index 50266ce..f73bf68 100644 --- a/win_text_editor/lib/app/services/file_service.dart +++ b/win_text_editor/lib/frame/services/file_service.dart @@ -1,5 +1,5 @@ import 'dart:io'; -import 'package:win_text_editor/app/models/file_node.dart'; +import 'package:win_text_editor/frame/models/file_node.dart'; class FileService { /// 延时加载目录内容(不递归) diff --git a/win_text_editor/lib/app/services/syntax_service.dart b/win_text_editor/lib/frame/services/syntax_service.dart similarity index 100% rename from win_text_editor/lib/app/services/syntax_service.dart rename to win_text_editor/lib/frame/services/syntax_service.dart diff --git a/win_text_editor/lib/app/core/app_scaffold.dart b/win_text_editor/lib/frame/widgets/app_scaffold.dart similarity index 80% rename from win_text_editor/lib/app/core/app_scaffold.dart rename to win_text_editor/lib/frame/widgets/app_scaffold.dart index 71bb864..4cb8df7 100644 --- a/win_text_editor/lib/app/core/app_scaffold.dart +++ b/win_text_editor/lib/frame/widgets/app_scaffold.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:win_text_editor/app/core/file_explorer_pane.dart'; -import 'package:win_text_editor/app/core/tab_manager.dart'; -import 'package:win_text_editor/app/core/tab_view.dart'; -import 'package:win_text_editor/app/menus/app_menu.dart'; -import 'package:win_text_editor/app/providers/file_provider.dart'; -import 'package:win_text_editor/app/core/console_panel.dart'; +import 'package:win_text_editor/frame/file_explorer_pane.dart'; +import 'package:win_text_editor/frame/tab_manager.dart'; +import 'package:win_text_editor/frame/tab_view.dart'; +import 'package:win_text_editor/menus/app_menu.dart'; +import 'package:win_text_editor/frame/providers/file_provider.dart'; +import 'package:win_text_editor/frame/console_panel.dart'; class AppScaffold extends StatelessWidget { const AppScaffold({super.key}); diff --git a/win_text_editor/lib/app/core/console_panel.dart b/win_text_editor/lib/frame/widgets/console_panel.dart similarity index 98% rename from win_text_editor/lib/app/core/console_panel.dart rename to win_text_editor/lib/frame/widgets/console_panel.dart index 50c6c0c..9730628 100644 --- a/win_text_editor/lib/app/core/console_panel.dart +++ b/win_text_editor/lib/frame/widgets/console_panel.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:flutter/services.dart'; // 用于复制到剪贴板 -import 'package:win_text_editor/app/providers/logger.dart'; +import 'package:win_text_editor/frame/providers/logger.dart'; class ConsolePanel extends StatefulWidget { const ConsolePanel({super.key}); diff --git a/win_text_editor/lib/app/core/file_explorer_pane.dart b/win_text_editor/lib/frame/widgets/file_explorer_pane.dart similarity index 94% rename from win_text_editor/lib/app/core/file_explorer_pane.dart rename to win_text_editor/lib/frame/widgets/file_explorer_pane.dart index b6342bf..f871371 100644 --- a/win_text_editor/lib/app/core/file_explorer_pane.dart +++ b/win_text_editor/lib/frame/widgets/file_explorer_pane.dart @@ -1,8 +1,8 @@ import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:win_text_editor/app/providers/file_provider.dart'; -import 'package:win_text_editor/app/components/file_explorer.dart'; +import 'package:win_text_editor/frame/providers/file_provider.dart'; +import 'package:win_text_editor/shared/components/file_explorer.dart'; class FileExplorerPane extends StatelessWidget { final Function(String)? onFileDoubleTap; diff --git a/win_text_editor/lib/app/core/tab_manager.dart b/win_text_editor/lib/frame/widgets/tab_manager.dart similarity index 91% rename from win_text_editor/lib/app/core/tab_manager.dart rename to win_text_editor/lib/frame/widgets/tab_manager.dart index 7041ec1..f9e38e9 100644 --- a/win_text_editor/lib/app/core/tab_manager.dart +++ b/win_text_editor/lib/frame/widgets/tab_manager.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:win_text_editor/app/models/tab_model.dart'; -import 'package:win_text_editor/app/modules/base_view.dart'; -import 'package:win_text_editor/app/providers/logger.dart'; +import 'package:win_text_editor/frame/models/tab_model.dart'; +import 'package:win_text_editor/shared/base/base_view.dart'; +import 'package:win_text_editor/frame/providers/logger.dart'; class TabManager with ChangeNotifier { final List _tabs = []; diff --git a/win_text_editor/lib/app/core/tab_view.dart b/win_text_editor/lib/frame/widgets/tab_view.dart similarity index 87% rename from win_text_editor/lib/app/core/tab_view.dart rename to win_text_editor/lib/frame/widgets/tab_view.dart index e743bf1..ea4671d 100644 --- a/win_text_editor/lib/app/core/tab_view.dart +++ b/win_text_editor/lib/frame/widgets/tab_view.dart @@ -1,10 +1,9 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:win_text_editor/app/components/text_editor.dart'; -import 'package:win_text_editor/app/core/tab_manager.dart'; -import 'package:win_text_editor/app/models/tab_model.dart'; -import 'package:win_text_editor/app/modules/content_search/content_search_view.dart'; -import 'package:win_text_editor/app/modules/template_parser/template_parser_view.dart'; +import 'package:win_text_editor/shared/components/text_editor.dart'; +import 'package:win_text_editor/frame/tab_manager.dart'; +import 'package:win_text_editor/frame/models/tab_model.dart'; +import 'package:win_text_editor/modules/content_search/widgets/content_search_view.dart'; class TabView extends StatelessWidget { final List tabs; @@ -66,8 +65,6 @@ class TabView extends StatelessWidget { // 查找当前活动的视图 Widget findActiveView(AppTab tab) { switch (tab.type) { - case 'template_parser': - return TemplateParserView(tabId: tab.id); case 'content_search': return ContentSearchView(tabId: tab.id); default: diff --git a/win_text_editor/lib/main.dart b/win_text_editor/lib/main.dart index d2b0584..da68f7c 100644 --- a/win_text_editor/lib/main.dart +++ b/win_text_editor/lib/main.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:win_text_editor/app/core/app_scaffold.dart'; +import 'package:win_text_editor/frame/app_scaffold.dart'; import 'package:window_manager/window_manager.dart'; -import 'app/providers/logger.dart'; // 新增导入 +import 'frame/providers/logger.dart'; // 新增导入 void main() async { WidgetsFlutterBinding.ensureInitialized(); diff --git a/win_text_editor/lib/app/menus/app_menu.dart b/win_text_editor/lib/menus/app_menu.dart similarity index 97% rename from win_text_editor/lib/app/menus/app_menu.dart rename to win_text_editor/lib/menus/app_menu.dart index 6369f7b..024776c 100644 --- a/win_text_editor/lib/app/menus/app_menu.dart +++ b/win_text_editor/lib/menus/app_menu.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:win_text_editor/app/menus/menu_constants.dart'; +import 'package:win_text_editor/menus/menu_constants.dart'; import 'menu_actions.dart'; diff --git a/win_text_editor/lib/app/menus/menu_actions.dart b/win_text_editor/lib/menus/menu_actions.dart similarity index 93% rename from win_text_editor/lib/app/menus/menu_actions.dart rename to win_text_editor/lib/menus/menu_actions.dart index 0a5a52a..23fded4 100644 --- a/win_text_editor/lib/app/menus/menu_actions.dart +++ b/win_text_editor/lib/menus/menu_actions.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:file_picker/file_picker.dart'; import 'package:provider/provider.dart'; -import 'package:win_text_editor/app/core/tab_manager.dart'; -import 'package:win_text_editor/app/menus/menu_constants.dart'; -import 'package:win_text_editor/app/providers/file_provider.dart'; +import 'package:win_text_editor/frame/tab_manager.dart'; +import 'package:win_text_editor/menus/menu_constants.dart'; +import 'package:win_text_editor/frame/providers/file_provider.dart'; import 'package:collection/collection.dart'; import 'dart:io'; diff --git a/win_text_editor/lib/app/menus/menu_constants.dart b/win_text_editor/lib/menus/menu_constants.dart similarity index 100% rename from win_text_editor/lib/app/menus/menu_constants.dart rename to win_text_editor/lib/menus/menu_constants.dart diff --git a/win_text_editor/lib/modules/content_search/models/match_result.dart b/win_text_editor/lib/modules/content_search/models/match_result.dart new file mode 100644 index 0000000..9f6fc77 --- /dev/null +++ b/win_text_editor/lib/modules/content_search/models/match_result.dart @@ -0,0 +1,6 @@ +class MatchResult { + final int start; + final int end; + + const MatchResult({required this.start, required this.end}); +} diff --git a/win_text_editor/lib/modules/content_search/models/search_mode.dart b/win_text_editor/lib/modules/content_search/models/search_mode.dart new file mode 100644 index 0000000..7c141d0 --- /dev/null +++ b/win_text_editor/lib/modules/content_search/models/search_mode.dart @@ -0,0 +1 @@ +enum SearchMode { locate, count } diff --git a/win_text_editor/lib/app/models/search_model.dart b/win_text_editor/lib/modules/content_search/models/search_result.dart similarity index 69% rename from win_text_editor/lib/app/models/search_model.dart rename to win_text_editor/lib/modules/content_search/models/search_result.dart index 7eb1e64..09223bc 100644 --- a/win_text_editor/lib/app/models/search_model.dart +++ b/win_text_editor/lib/modules/content_search/models/search_result.dart @@ -1,3 +1,5 @@ +import 'package:win_text_editor/modules/content_search/models/match_result.dart'; + class SearchResult { final String filePath; final int lineNumber; @@ -13,12 +15,3 @@ class SearchResult { required this.queryTerm, }); } - -class MatchResult { - final int start; - final int end; - - const MatchResult({required this.start, required this.end}); -} - -enum SearchMode { locate, count } diff --git a/win_text_editor/lib/app/modules/content_search/content_search_controller.dart b/win_text_editor/lib/modules/content_search/providers/content_search_controller.dart similarity index 95% rename from win_text_editor/lib/app/modules/content_search/content_search_controller.dart rename to win_text_editor/lib/modules/content_search/providers/content_search_controller.dart index 9b92a08..c27dbd2 100644 --- a/win_text_editor/lib/app/modules/content_search/content_search_controller.dart +++ b/win_text_editor/lib/modules/content_search/providers/content_search_controller.dart @@ -7,10 +7,11 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:file_picker/file_picker.dart'; import 'package:path/path.dart' as path; -import 'package:win_text_editor/app/core/tab_manager.dart'; -import 'package:win_text_editor/app/models/search_model.dart'; -import 'package:win_text_editor/app/providers/logger.dart'; -import 'content_search_service.dart'; +import 'package:win_text_editor/frame/tab_manager.dart'; +import 'package:win_text_editor/frame/providers/logger.dart'; +import 'package:win_text_editor/modules/content_search/models/search_mode.dart'; +import 'package:win_text_editor/modules/content_search/models/search_result.dart'; +import '../services/content_search_service.dart'; import 'package:flutter_js/flutter_js.dart'; class ContentSearchController with ChangeNotifier { diff --git a/win_text_editor/lib/app/modules/content_search/content_search_service.dart b/win_text_editor/lib/modules/content_search/services/content_search_service.dart similarity index 96% rename from win_text_editor/lib/app/modules/content_search/content_search_service.dart rename to win_text_editor/lib/modules/content_search/services/content_search_service.dart index a09b7cd..8a85439 100644 --- a/win_text_editor/lib/app/modules/content_search/content_search_service.dart +++ b/win_text_editor/lib/modules/content_search/services/content_search_service.dart @@ -4,8 +4,10 @@ import 'dart:convert'; import 'dart:io'; import 'package:flutter_js/flutter_js.dart'; import 'package:path/path.dart' as path; -import 'package:win_text_editor/app/models/search_model.dart'; -import 'package:win_text_editor/app/providers/logger.dart'; +import 'package:win_text_editor/frame/providers/logger.dart'; +import 'package:win_text_editor/modules/content_search/models/match_result.dart'; +import 'package:win_text_editor/modules/content_search/models/search_mode.dart'; +import 'package:win_text_editor/modules/content_search/models/search_result.dart'; class ContentSearchService { /// 执行定位搜索(返回所有匹配项) diff --git a/win_text_editor/lib/app/modules/content_search/content_search_view.dart b/win_text_editor/lib/modules/content_search/widgets/content_search_view.dart similarity index 89% rename from win_text_editor/lib/app/modules/content_search/content_search_view.dart rename to win_text_editor/lib/modules/content_search/widgets/content_search_view.dart index c6af628..0610c8b 100644 --- a/win_text_editor/lib/app/modules/content_search/content_search_view.dart +++ b/win_text_editor/lib/modules/content_search/widgets/content_search_view.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:win_text_editor/app/modules/base_view.dart'; -import 'package:win_text_editor/app/providers/logger.dart'; -import 'content_search_controller.dart'; +import 'package:win_text_editor/shared/base/base_view.dart'; +import 'package:win_text_editor/frame/providers/logger.dart'; +import '../providers/content_search_controller.dart'; import 'directory_settings.dart'; import 'search_settings.dart'; import 'results_view.dart'; diff --git a/win_text_editor/lib/app/modules/content_search/directory_settings.dart b/win_text_editor/lib/modules/content_search/widgets/directory_settings.dart similarity index 96% rename from win_text_editor/lib/app/modules/content_search/directory_settings.dart rename to win_text_editor/lib/modules/content_search/widgets/directory_settings.dart index 4b7c320..ceda309 100644 --- a/win_text_editor/lib/app/modules/content_search/directory_settings.dart +++ b/win_text_editor/lib/modules/content_search/widgets/directory_settings.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:win_text_editor/app/modules/content_search/content_search_controller.dart'; +import 'package:win_text_editor/modules/content_search/providers/content_search_controller.dart'; class DirectorySettings extends StatefulWidget { const DirectorySettings({super.key}); diff --git a/win_text_editor/lib/app/modules/content_search/results_view.dart b/win_text_editor/lib/modules/content_search/widgets/results_view.dart similarity index 97% rename from win_text_editor/lib/app/modules/content_search/results_view.dart rename to win_text_editor/lib/modules/content_search/widgets/results_view.dart index cfab711..5ab607f 100644 --- a/win_text_editor/lib/app/modules/content_search/results_view.dart +++ b/win_text_editor/lib/modules/content_search/widgets/results_view.dart @@ -2,11 +2,13 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:syncfusion_flutter_datagrid/datagrid.dart'; import 'package:path/path.dart' as path; -import 'package:win_text_editor/app/models/search_model.dart'; -import 'package:win_text_editor/app/modules/content_search/content_search_controller.dart'; +import 'package:win_text_editor/modules/content_search/providers/content_search_controller.dart'; import 'package:file_picker/file_picker.dart'; import 'dart:io'; +import 'package:win_text_editor/modules/content_search/models/search_mode.dart'; +import 'package:win_text_editor/modules/content_search/models/search_result.dart'; + class ResultsView extends StatelessWidget { const ResultsView({super.key}); diff --git a/win_text_editor/lib/app/modules/content_search/search_settings.dart b/win_text_editor/lib/modules/content_search/widgets/search_settings.dart similarity index 97% rename from win_text_editor/lib/app/modules/content_search/search_settings.dart rename to win_text_editor/lib/modules/content_search/widgets/search_settings.dart index e56a03f..bf8632d 100644 --- a/win_text_editor/lib/app/modules/content_search/search_settings.dart +++ b/win_text_editor/lib/modules/content_search/widgets/search_settings.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:win_text_editor/app/components/text_editor.dart'; -import 'package:win_text_editor/app/models/search_model.dart'; -import 'package:win_text_editor/app/modules/content_search/content_search_controller.dart'; +import 'package:win_text_editor/shared/components/text_editor.dart'; +import 'package:win_text_editor/modules/content_search/providers/content_search_controller.dart'; +import 'package:win_text_editor/modules/content_search/models/search_mode.dart'; class SearchSettings extends StatelessWidget { - SearchSettings({super.key}); + const SearchSettings({super.key}); @override Widget build(BuildContext context) { diff --git a/win_text_editor/lib/app/modules/base_view.dart b/win_text_editor/lib/shared/base/base_view.dart similarity index 93% rename from win_text_editor/lib/app/modules/base_view.dart rename to win_text_editor/lib/shared/base/base_view.dart index a6282fc..a8d3e1b 100644 --- a/win_text_editor/lib/app/modules/base_view.dart +++ b/win_text_editor/lib/shared/base/base_view.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import 'package:win_text_editor/app/core/tab_manager.dart'; +import 'package:win_text_editor/frame/tab_manager.dart'; // 修改后的base_view.dart abstract class BaseView extends StatefulWidget { diff --git a/win_text_editor/lib/app/components/editor_toolbar.dart b/win_text_editor/lib/shared/components/editor_toolbar.dart similarity index 100% rename from win_text_editor/lib/app/components/editor_toolbar.dart rename to win_text_editor/lib/shared/components/editor_toolbar.dart diff --git a/win_text_editor/lib/app/components/file_explorer.dart b/win_text_editor/lib/shared/components/file_explorer.dart similarity index 98% rename from win_text_editor/lib/app/components/file_explorer.dart rename to win_text_editor/lib/shared/components/file_explorer.dart index 48018d4..8b409e6 100644 --- a/win_text_editor/lib/app/components/file_explorer.dart +++ b/win_text_editor/lib/shared/components/file_explorer.dart @@ -2,8 +2,8 @@ import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; -import '../models/file_node.dart'; -import '../providers/file_provider.dart'; +import '../../frame/models/file_node.dart'; +import '../../frame/providers/file_provider.dart'; import 'dart:math'; diff --git a/win_text_editor/lib/app/components/text_editor.dart b/win_text_editor/lib/shared/components/text_editor.dart similarity index 100% rename from win_text_editor/lib/app/components/text_editor.dart rename to win_text_editor/lib/shared/components/text_editor.dart diff --git a/win_text_editor/lib/app/utils/file_utils.dart b/win_text_editor/lib/shared/utils/file_utils.dart similarity index 96% rename from win_text_editor/lib/app/utils/file_utils.dart rename to win_text_editor/lib/shared/utils/file_utils.dart index f8b7ef1..a791acb 100644 --- a/win_text_editor/lib/app/utils/file_utils.dart +++ b/win_text_editor/lib/shared/utils/file_utils.dart @@ -3,7 +3,7 @@ import 'dart:async'; import 'dart:io'; import 'package:flutter/material.dart'; import 'package:file_picker/file_picker.dart'; -import 'package:win_text_editor/app/providers/logger.dart'; +import 'package:win_text_editor/frame/providers/logger.dart'; class FileUtils { static Future pickFile(BuildContext context) async {