From bbf74a31b0805bfbabe26cc727d38c44eb46acf0 Mon Sep 17 00:00:00 2001 From: hejl Date: Fri, 16 May 2025 21:52:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=87=E4=BB=B6=E5=8F=8C?= =?UTF-8?q?=E5=87=BB=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/app/components/file_explorer.dart | 83 ++++++---- .../lib/app/core/file_explorer_pane.dart | 14 +- .../lib/app/modules/base_view.dart | 35 +++++ .../content_search/content_search_view.dart | 25 ++- .../template_parser/template_parser_view.dart | 57 +++---- win_text_editor/pubspec.lock | 142 +++++++----------- .../flutter/generated_plugin_registrant.cc | 3 - .../windows/flutter/generated_plugins.cmake | 1 - 8 files changed, 185 insertions(+), 175 deletions(-) create mode 100644 win_text_editor/lib/app/modules/base_view.dart diff --git a/win_text_editor/lib/app/components/file_explorer.dart b/win_text_editor/lib/app/components/file_explorer.dart index 59fe406..48018d4 100644 --- a/win_text_editor/lib/app/components/file_explorer.dart +++ b/win_text_editor/lib/app/components/file_explorer.dart @@ -8,7 +8,10 @@ import '../providers/file_provider.dart'; import 'dart:math'; class FileExplorer extends StatefulWidget { - const FileExplorer({super.key}); + final Function(String)? onFileDoubleTap; + final Function(String)? onFolderDoubleTap; + + const FileExplorer({super.key, this.onFileDoubleTap, this.onFolderDoubleTap}); @override State createState() => _FileExplorerState(); @@ -53,8 +56,15 @@ class _FileExplorerState extends State { final fileProvider = Provider.of(context, listen: false); if (node.isDirectory) { await fileProvider.loadDirectoryContents(node); + // 添加文件夹双击回调 + if (widget.onFolderDoubleTap != null) { + widget.onFolderDoubleTap!(node.path); + } } else { - // Handle file opening + // 添加文件双击回调 + if (widget.onFileDoubleTap != null) { + widget.onFileDoubleTap!(node.path); + } } } @@ -115,6 +125,8 @@ class _FileExplorerState extends State { key: ValueKey(node.path), node: node, onTap: () => _handleNodeTap(context, node), + onFileDoubleTap: widget.onFileDoubleTap, + onFolderDoubleTap: widget.onFolderDoubleTap, ); }, ), @@ -128,51 +140,64 @@ class _FileExplorerState extends State { ), ); } -} -// 辅助方法:计算所有可见节点数量 -int _countVisibleNodes(List nodes) { - int count = 0; - for (final node in nodes) { - count++; - if (node.isDirectory && node.isExpanded) { - count += _countVisibleNodes(node.children); + // 辅助方法:计算所有可见节点数量 + int _countVisibleNodes(List nodes) { + int count = 0; + for (final node in nodes) { + count++; + if (node.isDirectory && node.isExpanded) { + count += _countVisibleNodes(node.children); + } } + return count; } - return count; -} -// 辅助方法:根据索引获取可见节点 -FileNode _getVisibleNode(List nodes, int index) { - int current = 0; - for (final node in nodes) { - if (current == index) return node; - current++; - if (node.isDirectory && node.isExpanded) { - final childCount = _countVisibleNodes(node.children); - if (index - current < childCount) { - return _getVisibleNode(node.children, index - current); + // 辅助方法:根据索引获取可见节点 + FileNode _getVisibleNode(List nodes, int index) { + int current = 0; + for (final node in nodes) { + if (current == index) return node; + current++; + if (node.isDirectory && node.isExpanded) { + final childCount = _countVisibleNodes(node.children); + if (index - current < childCount) { + return _getVisibleNode(node.children, index - current); + } + current += childCount; } - current += childCount; } + throw Exception('Index out of bounds: $index (max: ${current - 1})'); } - throw Exception('Index out of bounds: $index (max: ${current - 1})'); } class _FileNodeWidget extends StatelessWidget { final FileNode node; final VoidCallback onTap; + final Function(String)? onFileDoubleTap; + final Function(String)? onFolderDoubleTap; - const _FileNodeWidget({Key? key, required this.node, required this.onTap}) : super(key: key); + const _FileNodeWidget({ + Key? key, + required this.node, + required this.onTap, + required this.onFileDoubleTap, + required this.onFolderDoubleTap, + }) : super(key: key); @override Widget build(BuildContext context) { - //final editorProvider = Provider.of(context, listen: false); - return InkWell( onTap: onTap, - splashColor: Colors.transparent, // 移除水波纹效果 - highlightColor: Colors.grey.withOpacity(0.1), // 使用更柔和的悬停颜色 + onDoubleTap: () { + if (node.isDirectory && onFolderDoubleTap != null) { + onFolderDoubleTap!(node.path); + } else if (!node.isDirectory && onFileDoubleTap != null) { + onFileDoubleTap!(node.path); + } + }, + splashColor: Colors.transparent, + highlightColor: Colors.grey.withOpacity(0.1), child: Container( padding: const EdgeInsets.symmetric(vertical: 0), child: ListTile( diff --git a/win_text_editor/lib/app/core/file_explorer_pane.dart b/win_text_editor/lib/app/core/file_explorer_pane.dart index e23bf60..b6342bf 100644 --- a/win_text_editor/lib/app/core/file_explorer_pane.dart +++ b/win_text_editor/lib/app/core/file_explorer_pane.dart @@ -5,7 +5,10 @@ import 'package:win_text_editor/app/providers/file_provider.dart'; import 'package:win_text_editor/app/components/file_explorer.dart'; class FileExplorerPane extends StatelessWidget { - const FileExplorerPane({super.key}); + final Function(String)? onFileDoubleTap; + final Function(String)? onFolderDoubleTap; + + const FileExplorerPane({super.key, this.onFileDoubleTap, this.onFolderDoubleTap}); @override Widget build(BuildContext context) { @@ -17,10 +20,13 @@ class FileExplorerPane extends StatelessWidget { width: _calculateWidth(context, fileProvider), child: Column( children: [ - // 标题栏和操作按钮 _buildHeader(context), - // 文件树内容 - const Expanded(child: FileExplorer()), + Expanded( + child: FileExplorer( + onFileDoubleTap: onFileDoubleTap, + onFolderDoubleTap: onFolderDoubleTap, + ), + ), ], ), ), diff --git a/win_text_editor/lib/app/modules/base_view.dart b/win_text_editor/lib/app/modules/base_view.dart new file mode 100644 index 0000000..513c727 --- /dev/null +++ b/win_text_editor/lib/app/modules/base_view.dart @@ -0,0 +1,35 @@ +import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; +import 'package:win_text_editor/app/core/tab_manager.dart'; + +abstract class BaseView extends StatefulWidget { + final String tabId; + + const BaseView({super.key, required this.tabId}); + + @override + State createState() => BaseViewState(); + + // 打开文件夹回调 + void openFolder(String folderPath); + + // 打开文件回调 + void openFile(String filePath); +} + +class BaseViewState extends State { + late TabManager _tabManager; + + TabManager get tabManager => _tabManager; + + @override + void initState() { + super.initState(); + _tabManager = Provider.of(context, listen: false); + } + + @override + Widget build(BuildContext context) { + return Container(); // 具体实现由子类完成 + } +} diff --git a/win_text_editor/lib/app/modules/content_search/content_search_view.dart b/win_text_editor/lib/app/modules/content_search/content_search_view.dart index 6acf130..23be0ca 100644 --- a/win_text_editor/lib/app/modules/content_search/content_search_view.dart +++ b/win_text_editor/lib/app/modules/content_search/content_search_view.dart @@ -1,29 +1,38 @@ 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/app/modules/base_view.dart'; import 'content_search_controller.dart'; import 'directory_settings.dart'; import 'search_settings.dart'; import 'results_view.dart'; -class ContentSearchView extends StatefulWidget { - final String tabId; +class ContentSearchView extends BaseView { + const ContentSearchView({super.key, required String tabId}) : super(tabId: tabId); - const ContentSearchView({super.key, required this.tabId}); + @override + void openFolder(String folderPath) { + // 实现打开文件夹的逻辑 + print('Opening folder: $folderPath'); + } + + @override + void openFile(String filePath) { + // 实现打开文件的逻辑 + print('Opening file: $filePath'); + } @override - State createState() => ContentSearchViewState(); + State createState() => ContentSearchViewState(); } -class ContentSearchViewState extends State { +class ContentSearchViewState extends BaseViewState { late final ContentSearchController _controller; @override void initState() { super.initState(); - _controller = ContentSearchController( - tabManager: Provider.of(context, listen: false), - ); + _controller = ContentSearchController(tabManager: super.tabManager); } @override 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 index 6c700c0..7c2b703 100644 --- 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 @@ -1,24 +1,27 @@ 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/app/components/text_editor.dart'; +import 'package:win_text_editor/app/modules/base_view.dart'; -class TemplateParserView extends StatefulWidget { - final String tabId; +class TemplateParserView extends BaseView { + const TemplateParserView({super.key, required String tabId}) : super(tabId: tabId); - const TemplateParserView({super.key, required this.tabId}); + @override + void openFolder(String folderPath) { + // 实现打开文件夹的逻辑 + print('Opening folder: $folderPath'); + } + + @override + void openFile(String filePath) { + // 实现打开文件的逻辑 + print('Opening file: $filePath'); + } @override - State createState() => TemplateParserViewState(); + State createState() => TemplateParserViewState(); } -class TemplateParserViewState extends State { - late TabManager _provider; - String? _editor1FileName; - String? _editor2FileName; - String _editor1Content = ''; - String _editor2Content = ''; - int _activeEditorIndex = 0; // 0表示第一个编辑器,1表示第二个 +class TemplateParserViewState extends BaseViewState { final GlobalKey _editor1Key = GlobalKey(); final GlobalKey _editor2Key = GlobalKey(); @@ -28,15 +31,7 @@ class TemplateParserViewState extends State { @override void initState() { super.initState(); - _provider = Provider.of(context, listen: false); - _provider.registerTextTabController(widget.tabId, this); - final tab = _provider.getTabById(widget.tabId); - if (tab != null) { - _editor1Content = tab.content; - _editor2Content = tab.content; - _editor1FileName = tab.fileName; - _editor2FileName = tab.fileName; - } + WidgetsBinding.instance.addPostFrameCallback((_) { _setupFocusListeners(); }); @@ -47,11 +42,6 @@ class TemplateParserViewState extends State { @override Widget build(BuildContext context) { - final tab = _provider.getTabById(widget.tabId); - if (tab == null) { - return const Center(child: Text('选项卡不存在')); - } - return SingleChildScrollView( child: ConstrainedBox( constraints: const BoxConstraints(minHeight: 400), @@ -62,17 +52,10 @@ class TemplateParserViewState extends State { child: SizedBox( height: MediaQuery.of(context).size.height / 2 - 100, child: Container( - decoration: BoxDecoration( - border: Border.all( - color: _activeEditorIndex == 0 ? Colors.blue : Colors.transparent, - width: 2.0, - ), - ), child: TextEditor( key: _editor1Key, tabId: '${widget.tabId}_1', title: '源文本', // 可配置的标题 - initialContent: _editor1Content, ), ), ), @@ -82,16 +65,12 @@ class TemplateParserViewState extends State { height: MediaQuery.of(context).size.height / 2 - 100, child: Container( decoration: BoxDecoration( - border: Border.all( - color: _activeEditorIndex == 1 ? Colors.blue : Colors.transparent, - width: 2.0, - ), + border: Border.all(color: Colors.transparent, width: 2.0), ), child: TextEditor( key: _editor2Key, tabId: '${widget.tabId}_2', title: '目标文本', // 可配置的标题 - initialContent: _editor2Content, ), ), ), diff --git a/win_text_editor/pubspec.lock b/win_text_editor/pubspec.lock index ae831e7..c508250 100644 --- a/win_text_editor/pubspec.lock +++ b/win_text_editor/pubspec.lock @@ -6,7 +6,7 @@ packages: description: name: async sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.12.0" bitsdojo_window: @@ -14,7 +14,7 @@ packages: description: name: bitsdojo_window sha256: "88ef7765dafe52d97d7a3684960fb5d003e3151e662c18645c1641c22b873195" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.6" bitsdojo_window_linux: @@ -22,7 +22,7 @@ packages: description: name: bitsdojo_window_linux sha256: "9519c0614f98be733e0b1b7cb15b827007886f6fe36a4fb62cf3d35b9dd578ab" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.4" bitsdojo_window_macos: @@ -30,7 +30,7 @@ packages: description: name: bitsdojo_window_macos sha256: f7c5be82e74568c68c5b8449e2c5d8fd12ec195ecd70745a7b9c0f802bb0268f - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.4" bitsdojo_window_platform_interface: @@ -38,7 +38,7 @@ packages: description: name: bitsdojo_window_platform_interface sha256: "65daa015a0c6dba749bdd35a0f092e7a8ba8b0766aa0480eb3ef808086f6e27c" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.2" bitsdojo_window_windows: @@ -46,7 +46,7 @@ packages: description: name: bitsdojo_window_windows sha256: fa982cf61ede53f483e50b257344a1c250af231a3cdc93a7064dd6dc0d720b68 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.6" boolean_selector: @@ -54,7 +54,7 @@ packages: description: name: boolean_selector sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.2" characters: @@ -62,7 +62,7 @@ packages: description: name: characters sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.4.0" clock: @@ -70,7 +70,7 @@ packages: description: name: clock sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.2" collection: @@ -78,7 +78,7 @@ packages: description: name: collection sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.19.1" cross_file: @@ -86,7 +86,7 @@ packages: description: name: cross_file sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.3.4+2" expandable: @@ -94,7 +94,7 @@ packages: description: name: expandable sha256: "9604d612d4d1146dafa96c6d8eec9c2ff0994658d6d09fed720ab788c7f5afc2" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "5.0.1" fake_async: @@ -102,7 +102,7 @@ packages: description: name: fake_async sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.3.2" ffi: @@ -110,7 +110,7 @@ packages: description: name: ffi sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.4" file_picker: @@ -118,7 +118,7 @@ packages: description: name: file_picker sha256: "77f8e81d22d2a07d0dee2c62e1dda71dc1da73bf43bb2d45af09727406167964" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "10.1.9" flutter: @@ -126,20 +126,12 @@ packages: description: flutter source: sdk version: "0.0.0" - flutter_js: - dependency: "direct main" - description: - name: flutter_js - sha256: "0d22d73a474b5b80c3ab5508e7c3eab6fb20beea9dec45bbd21088cfd27a5e61" - url: "https://pub.flutter-io.cn" - source: hosted - version: "0.8.3" flutter_lints: dependency: "direct dev" description: name: flutter_lints sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.3" flutter_plugin_android_lifecycle: @@ -147,7 +139,7 @@ packages: description: name: flutter_plugin_android_lifecycle sha256: f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.28" flutter_syntax_view: @@ -155,7 +147,7 @@ packages: description: name: flutter_syntax_view sha256: c5017bbedfdcf538daba765e16541fcb26434071655ca00cea7cbc205a70246a - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "4.1.7" flutter_test: @@ -168,28 +160,12 @@ packages: description: flutter source: sdk version: "0.0.0" - http: - dependency: transitive - description: - name: http - sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b" - url: "https://pub.flutter-io.cn" - source: hosted - version: "1.4.0" - http_parser: - dependency: transitive - description: - name: http_parser - sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" - url: "https://pub.flutter-io.cn" - source: hosted - version: "4.1.2" leak_tracker: dependency: transitive description: name: leak_tracker sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "10.0.8" leak_tracker_flutter_testing: @@ -197,7 +173,7 @@ packages: description: name: leak_tracker_flutter_testing sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.9" leak_tracker_testing: @@ -205,7 +181,7 @@ packages: description: name: leak_tracker_testing sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.1" lints: @@ -213,7 +189,7 @@ packages: description: name: lints sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.1" matcher: @@ -221,7 +197,7 @@ packages: description: name: matcher sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.12.17" material_color_utilities: @@ -229,7 +205,7 @@ packages: description: name: material_color_utilities sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.11.1" meta: @@ -237,7 +213,7 @@ packages: description: name: meta sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.16.0" nested: @@ -245,7 +221,7 @@ packages: description: name: nested sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.0" path: @@ -253,7 +229,7 @@ packages: description: name: path sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.9.1" path_provider: @@ -261,7 +237,7 @@ packages: description: name: path_provider sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.5" path_provider_android: @@ -269,7 +245,7 @@ packages: description: name: path_provider_android sha256: d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.2.17" path_provider_foundation: @@ -277,7 +253,7 @@ packages: description: name: path_provider_foundation sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.4.1" path_provider_linux: @@ -285,7 +261,7 @@ packages: description: name: path_provider_linux sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.2.1" path_provider_platform_interface: @@ -293,7 +269,7 @@ packages: description: name: path_provider_platform_interface sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.2" path_provider_windows: @@ -301,7 +277,7 @@ packages: description: name: path_provider_windows sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.3.0" platform: @@ -309,7 +285,7 @@ packages: description: name: platform sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.1.6" plugin_platform_interface: @@ -317,7 +293,7 @@ packages: description: name: plugin_platform_interface sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.8" provider: @@ -325,7 +301,7 @@ packages: description: name: provider sha256: "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "6.1.5" screen_retriever: @@ -333,7 +309,7 @@ packages: description: name: screen_retriever sha256: "6ee02c8a1158e6dae7ca430da79436e3b1c9563c8cf02f524af997c201ac2b90" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.9" sky_engine: @@ -346,7 +322,7 @@ packages: description: name: source_span sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.10.1" stack_trace: @@ -354,7 +330,7 @@ packages: description: name: stack_trace sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.12.1" stream_channel: @@ -362,7 +338,7 @@ packages: description: name: stream_channel sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.4" string_scanner: @@ -370,23 +346,15 @@ packages: description: name: string_scanner sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.4.1" - sync_http: - dependency: transitive - description: - name: sync_http - sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961" - url: "https://pub.flutter-io.cn" - source: hosted - version: "0.3.1" syncfusion_flutter_core: dependency: transitive description: name: syncfusion_flutter_core sha256: "9f0a4593f7642b2f106e329734d0e5fc746baf8d0a59495eec586cd0d9ba7d02" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "22.2.12" syncfusion_flutter_datagrid: @@ -394,7 +362,7 @@ packages: description: name: syncfusion_flutter_datagrid sha256: ae93228333ebed39bc59c90bc40cfd3d5a0361591a330fe551b355d3a49a265c - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "22.2.12" term_glyph: @@ -402,7 +370,7 @@ packages: description: name: term_glyph sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.2.2" test_api: @@ -410,23 +378,15 @@ packages: description: name: test_api sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.7.4" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 - url: "https://pub.flutter-io.cn" - source: hosted - version: "1.4.0" vector_math: dependency: transitive description: name: vector_math sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.4" vm_service: @@ -434,7 +394,7 @@ packages: description: name: vm_service sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "14.3.1" web: @@ -442,7 +402,7 @@ packages: description: name: web sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.1" win32: @@ -450,7 +410,7 @@ packages: description: name: win32 sha256: "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "5.13.0" window_manager: @@ -458,7 +418,7 @@ packages: description: name: window_manager sha256: "8699323b30da4cdbe2aa2e7c9de567a6abd8a97d9a5c850a3c86dcd0b34bbfbf" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.3.9" xdg_directories: @@ -466,7 +426,7 @@ packages: description: name: xdg_directories sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.0" sdks: diff --git a/win_text_editor/windows/flutter/generated_plugin_registrant.cc b/win_text_editor/windows/flutter/generated_plugin_registrant.cc index 760476a..a38b023 100644 --- a/win_text_editor/windows/flutter/generated_plugin_registrant.cc +++ b/win_text_editor/windows/flutter/generated_plugin_registrant.cc @@ -7,15 +7,12 @@ #include "generated_plugin_registrant.h" #include -#include #include #include void RegisterPlugins(flutter::PluginRegistry* registry) { BitsdojoWindowPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("BitsdojoWindowPlugin")); - FlutterJsPluginRegisterWithRegistrar( - registry->GetRegistrarForPlugin("FlutterJsPlugin")); ScreenRetrieverPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("ScreenRetrieverPlugin")); WindowManagerPluginRegisterWithRegistrar( diff --git a/win_text_editor/windows/flutter/generated_plugins.cmake b/win_text_editor/windows/flutter/generated_plugins.cmake index 08bf885..b404ce5 100644 --- a/win_text_editor/windows/flutter/generated_plugins.cmake +++ b/win_text_editor/windows/flutter/generated_plugins.cmake @@ -4,7 +4,6 @@ list(APPEND FLUTTER_PLUGIN_LIST bitsdojo_window_windows - flutter_js screen_retriever window_manager )