Browse Source

目录重构,剩余一个问题,tabview与内容的关联乱了

master
hejl 2 months ago
parent
commit
df4bd48038
  1. 2
      win_text_editor/lib/framework/controllers/editor_provider.dart
  2. 6
      win_text_editor/lib/framework/controllers/file_provider.dart
  3. 0
      win_text_editor/lib/framework/controllers/logger.dart
  4. 4
      win_text_editor/lib/framework/controllers/tab_manager.dart
  5. 0
      win_text_editor/lib/framework/models/file_node.dart
  6. 0
      win_text_editor/lib/framework/models/tab_model.dart
  7. 2
      win_text_editor/lib/framework/services/file_service.dart
  8. 0
      win_text_editor/lib/framework/services/syntax_service.dart
  9. 10
      win_text_editor/lib/framework/widgets/app_scaffold.dart
  10. 2
      win_text_editor/lib/framework/widgets/console_panel.dart
  11. 2
      win_text_editor/lib/framework/widgets/file_explorer_pane.dart
  12. 4
      win_text_editor/lib/framework/widgets/tab_view.dart
  13. 4
      win_text_editor/lib/main.dart
  14. 4
      win_text_editor/lib/menus/menu_actions.dart
  15. 4
      win_text_editor/lib/modules/content_search/controllers/content_search_controller.dart
  16. 2
      win_text_editor/lib/modules/content_search/services/content_search_service.dart
  17. 4
      win_text_editor/lib/modules/content_search/widgets/content_search_view.dart
  18. 54
      win_text_editor/lib/modules/content_search/widgets/directory_settings.dart
  19. 2
      win_text_editor/lib/modules/content_search/widgets/results_view.dart
  20. 2
      win_text_editor/lib/modules/content_search/widgets/search_settings.dart
  21. 4
      win_text_editor/lib/shared/components/file_explorer.dart
  22. 2
      win_text_editor/lib/shared/utils/file_utils.dart
  23. 3
      win_text_editor/windows/flutter/generated_plugin_registrant.cc
  24. 1
      win_text_editor/windows/flutter/generated_plugins.cmake

2
win_text_editor/lib/frame/providers/editor_provider.dart → win_text_editor/lib/framework/controllers/editor_provider.dart

@ -1,7 +1,7 @@
import 'dart:math'; import 'dart:math';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:win_text_editor/frame/providers/logger.dart'; import 'package:win_text_editor/framework/controllers/logger.dart';
class EditorProvider with ChangeNotifier { class EditorProvider with ChangeNotifier {
final List<EditorTab> _tabs = []; final List<EditorTab> _tabs = [];

6
win_text_editor/lib/frame/providers/file_provider.dart → win_text_editor/lib/framework/controllers/file_provider.dart

@ -2,9 +2,9 @@ import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:file_picker/file_picker.dart'; import 'package:file_picker/file_picker.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:win_text_editor/frame/models/file_node.dart'; import 'package:win_text_editor/framework/models/file_node.dart';
import 'package:win_text_editor/frame/providers/logger.dart'; import 'package:win_text_editor/framework/controllers/logger.dart';
import 'package:win_text_editor/frame/services/file_service.dart'; import 'package:win_text_editor/framework/services/file_service.dart';
class FileProvider with ChangeNotifier { class FileProvider with ChangeNotifier {
List<FileNode> _fileNodes = []; List<FileNode> _fileNodes = [];

0
win_text_editor/lib/frame/providers/logger.dart → win_text_editor/lib/framework/controllers/logger.dart

4
win_text_editor/lib/frame/widgets/tab_manager.dart → win_text_editor/lib/framework/controllers/tab_manager.dart

@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:win_text_editor/frame/models/tab_model.dart'; import 'package:win_text_editor/framework/models/tab_model.dart';
import 'package:win_text_editor/shared/base/base_view.dart'; import 'package:win_text_editor/shared/base/base_view.dart';
import 'package:win_text_editor/frame/providers/logger.dart'; import 'package:win_text_editor/framework/controllers/logger.dart';
class TabManager with ChangeNotifier { class TabManager with ChangeNotifier {
final List<AppTab> _tabs = []; final List<AppTab> _tabs = [];

0
win_text_editor/lib/frame/models/file_node.dart → win_text_editor/lib/framework/models/file_node.dart

0
win_text_editor/lib/frame/models/tab_model.dart → win_text_editor/lib/framework/models/tab_model.dart

2
win_text_editor/lib/frame/services/file_service.dart → win_text_editor/lib/framework/services/file_service.dart

@ -1,5 +1,5 @@
import 'dart:io'; import 'dart:io';
import 'package:win_text_editor/frame/models/file_node.dart'; import 'package:win_text_editor/framework/models/file_node.dart';
class FileService { class FileService {
/// ///

0
win_text_editor/lib/frame/services/syntax_service.dart → win_text_editor/lib/framework/services/syntax_service.dart

10
win_text_editor/lib/frame/widgets/app_scaffold.dart → win_text_editor/lib/framework/widgets/app_scaffold.dart

@ -1,11 +1,11 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:win_text_editor/frame/widgets/file_explorer_pane.dart'; import 'package:win_text_editor/framework/widgets/file_explorer_pane.dart';
import 'package:win_text_editor/frame/widgets/tab_manager.dart'; import 'package:win_text_editor/framework/controllers/tab_manager.dart';
import 'package:win_text_editor/frame/widgets/tab_view.dart'; import 'package:win_text_editor/framework/widgets/tab_view.dart';
import 'package:win_text_editor/menus/app_menu.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/framework/controllers/file_provider.dart';
import 'package:win_text_editor/frame/widgets/console_panel.dart'; import 'package:win_text_editor/framework/widgets/console_panel.dart';
class AppScaffold extends StatelessWidget { class AppScaffold extends StatelessWidget {
const AppScaffold({super.key}); const AppScaffold({super.key});

2
win_text_editor/lib/frame/widgets/console_panel.dart → win_text_editor/lib/framework/widgets/console_panel.dart

@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:flutter/services.dart'; // import 'package:flutter/services.dart'; //
import 'package:win_text_editor/frame/providers/logger.dart'; import 'package:win_text_editor/framework/controllers/logger.dart';
class ConsolePanel extends StatefulWidget { class ConsolePanel extends StatefulWidget {
const ConsolePanel({super.key}); const ConsolePanel({super.key});

2
win_text_editor/lib/frame/widgets/file_explorer_pane.dart → win_text_editor/lib/framework/widgets/file_explorer_pane.dart

@ -1,7 +1,7 @@
import 'package:file_picker/file_picker.dart'; import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:win_text_editor/frame/providers/file_provider.dart'; import 'package:win_text_editor/framework/controllers/file_provider.dart';
import 'package:win_text_editor/shared/components/file_explorer.dart'; import 'package:win_text_editor/shared/components/file_explorer.dart';
class FileExplorerPane extends StatelessWidget { class FileExplorerPane extends StatelessWidget {

4
win_text_editor/lib/frame/widgets/tab_view.dart → win_text_editor/lib/framework/widgets/tab_view.dart

@ -1,8 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:win_text_editor/shared/components/text_editor.dart'; import 'package:win_text_editor/shared/components/text_editor.dart';
import 'package:win_text_editor/frame/widgets/tab_manager.dart'; import 'package:win_text_editor/framework/controllers/tab_manager.dart';
import 'package:win_text_editor/frame/models/tab_model.dart'; import 'package:win_text_editor/framework/models/tab_model.dart';
import 'package:win_text_editor/modules/content_search/widgets/content_search_view.dart'; import 'package:win_text_editor/modules/content_search/widgets/content_search_view.dart';
class TabView extends StatelessWidget { class TabView extends StatelessWidget {

4
win_text_editor/lib/main.dart

@ -1,8 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:win_text_editor/frame/widgets/app_scaffold.dart'; import 'package:win_text_editor/framework/widgets/app_scaffold.dart';
import 'package:window_manager/window_manager.dart'; import 'package:window_manager/window_manager.dart';
import 'frame/providers/logger.dart'; // import 'framework/controllers/logger.dart'; //
void main() async { void main() async {
WidgetsFlutterBinding.ensureInitialized(); WidgetsFlutterBinding.ensureInitialized();

4
win_text_editor/lib/menus/menu_actions.dart

@ -1,9 +1,9 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:file_picker/file_picker.dart'; import 'package:file_picker/file_picker.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:win_text_editor/frame/widgets/tab_manager.dart'; import 'package:win_text_editor/framework/controllers/tab_manager.dart';
import 'package:win_text_editor/menus/menu_constants.dart'; import 'package:win_text_editor/menus/menu_constants.dart';
import 'package:win_text_editor/frame/providers/file_provider.dart'; import 'package:win_text_editor/framework/controllers/file_provider.dart';
import 'package:collection/collection.dart'; import 'package:collection/collection.dart';
import 'dart:io'; import 'dart:io';

4
win_text_editor/lib/modules/content_search/providers/content_search_controller.dart → win_text_editor/lib/modules/content_search/controllers/content_search_controller.dart

@ -7,8 +7,8 @@ import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:file_picker/file_picker.dart'; import 'package:file_picker/file_picker.dart';
import 'package:path/path.dart' as path; import 'package:path/path.dart' as path;
import 'package:win_text_editor/frame/widgets/tab_manager.dart'; import 'package:win_text_editor/framework/controllers/tab_manager.dart';
import 'package:win_text_editor/frame/providers/logger.dart'; import 'package:win_text_editor/framework/controllers/logger.dart';
import 'package:win_text_editor/modules/content_search/models/search_mode.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 'package:win_text_editor/modules/content_search/models/search_result.dart';
import '../services/content_search_service.dart'; import '../services/content_search_service.dart';

2
win_text_editor/lib/modules/content_search/services/content_search_service.dart

@ -4,7 +4,7 @@ import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'package:flutter_js/flutter_js.dart'; import 'package:flutter_js/flutter_js.dart';
import 'package:path/path.dart' as path; import 'package:path/path.dart' as path;
import 'package:win_text_editor/frame/providers/logger.dart'; import 'package:win_text_editor/framework/controllers/logger.dart';
import 'package:win_text_editor/modules/content_search/models/match_result.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_mode.dart';
import 'package:win_text_editor/modules/content_search/models/search_result.dart'; import 'package:win_text_editor/modules/content_search/models/search_result.dart';

4
win_text_editor/lib/modules/content_search/widgets/content_search_view.dart

@ -1,8 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:win_text_editor/shared/base/base_view.dart'; import 'package:win_text_editor/shared/base/base_view.dart';
import 'package:win_text_editor/frame/providers/logger.dart'; import 'package:win_text_editor/framework/controllers/logger.dart';
import '../providers/content_search_controller.dart'; import '../controllers/content_search_controller.dart';
import 'directory_settings.dart'; import 'directory_settings.dart';
import 'search_settings.dart'; import 'search_settings.dart';
import 'results_view.dart'; import 'results_view.dart';

54
win_text_editor/lib/modules/content_search/widgets/directory_settings.dart

@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:win_text_editor/modules/content_search/providers/content_search_controller.dart'; import 'package:win_text_editor/modules/content_search/controllers/content_search_controller.dart';
class DirectorySettings extends StatefulWidget { class DirectorySettings extends StatefulWidget {
const DirectorySettings({super.key}); const DirectorySettings({super.key});
@ -41,46 +41,46 @@ class _DirectorySettingsState extends State<DirectorySettings> {
_fileTypeController.text = controller.fileType; _fileTypeController.text = controller.fileType;
} }
return Card( return Card(
child: Padding( child: Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
child: Row( child: Row(
children: [ children: [
Expanded( Expanded(
child: TextField( child: TextField(
controller: _searchDirectoryController, controller: _searchDirectoryController,
decoration: const InputDecoration( decoration: const InputDecoration(
labelText: '搜索目录', labelText: '搜索目录',
border: OutlineInputBorder(), border: OutlineInputBorder(),
), ),
onChanged: (value) => controller.searchDirectory = value, onChanged: (value) => controller.searchDirectory = value,
), ),
), ),
const SizedBox(width: 8), const SizedBox(width: 8),
SizedBox( SizedBox(
width: 100, width: 100,
child: TextField( child: TextField(
controller: _fileTypeController, controller: _fileTypeController,
decoration: const InputDecoration( decoration: const InputDecoration(
labelText: '文件类型', labelText: '文件类型',
border: OutlineInputBorder(), border: OutlineInputBorder(),
), ),
onChanged: (value) => controller.fileType = value, onChanged: (value) => controller.fileType = value,
), ),
), ),
const SizedBox(width: 8), const SizedBox(width: 8),
IconButton( IconButton(
icon: const Icon(Icons.folder_open), icon: const Icon(Icons.folder_open),
onPressed: () async { onPressed: () async {
await controller.pickDirectory(); await controller.pickDirectory();
// _searchDirectoryController.text // _searchDirectoryController.text
// Consumer // Consumer
}, },
),
],
), ),
], ),
), );
),
);
}, },
); );
} }

2
win_text_editor/lib/modules/content_search/widgets/results_view.dart

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:syncfusion_flutter_datagrid/datagrid.dart'; import 'package:syncfusion_flutter_datagrid/datagrid.dart';
import 'package:path/path.dart' as path; import 'package:path/path.dart' as path;
import 'package:win_text_editor/modules/content_search/providers/content_search_controller.dart'; import 'package:win_text_editor/modules/content_search/controllers/content_search_controller.dart';
import 'package:file_picker/file_picker.dart'; import 'package:file_picker/file_picker.dart';
import 'dart:io'; import 'dart:io';

2
win_text_editor/lib/modules/content_search/widgets/search_settings.dart

@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:win_text_editor/shared/components/text_editor.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/controllers/content_search_controller.dart';
import 'package:win_text_editor/modules/content_search/models/search_mode.dart'; import 'package:win_text_editor/modules/content_search/models/search_mode.dart';
class SearchSettings extends StatelessWidget { class SearchSettings extends StatelessWidget {

4
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:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../frame/models/file_node.dart'; import '../../framework/models/file_node.dart';
import '../../frame/providers/file_provider.dart'; import '../../framework/controllers/file_provider.dart';
import 'dart:math'; import 'dart:math';

2
win_text_editor/lib/shared/utils/file_utils.dart

@ -3,7 +3,7 @@ import 'dart:async';
import 'dart:io'; import 'dart:io';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:file_picker/file_picker.dart'; import 'package:file_picker/file_picker.dart';
import 'package:win_text_editor/frame/providers/logger.dart'; import 'package:win_text_editor/framework/controllers/logger.dart';
class FileUtils { class FileUtils {
static Future<String?> pickFile(BuildContext context) async { static Future<String?> pickFile(BuildContext context) async {

3
win_text_editor/windows/flutter/generated_plugin_registrant.cc

@ -7,12 +7,15 @@
#include "generated_plugin_registrant.h" #include "generated_plugin_registrant.h"
#include <bitsdojo_window_windows/bitsdojo_window_plugin.h> #include <bitsdojo_window_windows/bitsdojo_window_plugin.h>
#include <flutter_js/flutter_js_plugin.h>
#include <screen_retriever/screen_retriever_plugin.h> #include <screen_retriever/screen_retriever_plugin.h>
#include <window_manager/window_manager_plugin.h> #include <window_manager/window_manager_plugin.h>
void RegisterPlugins(flutter::PluginRegistry* registry) { void RegisterPlugins(flutter::PluginRegistry* registry) {
BitsdojoWindowPluginRegisterWithRegistrar( BitsdojoWindowPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("BitsdojoWindowPlugin")); registry->GetRegistrarForPlugin("BitsdojoWindowPlugin"));
FlutterJsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("FlutterJsPlugin"));
ScreenRetrieverPluginRegisterWithRegistrar( ScreenRetrieverPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("ScreenRetrieverPlugin")); registry->GetRegistrarForPlugin("ScreenRetrieverPlugin"));
WindowManagerPluginRegisterWithRegistrar( WindowManagerPluginRegisterWithRegistrar(

1
win_text_editor/windows/flutter/generated_plugins.cmake

@ -4,6 +4,7 @@
list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_PLUGIN_LIST
bitsdojo_window_windows bitsdojo_window_windows
flutter_js
screen_retriever screen_retriever
window_manager window_manager
) )

Loading…
Cancel
Save