diff --git a/example/select_image/lib/main.dart b/example/select_image/lib/main.dart index d7371ef..b79cf7c 100644 --- a/example/select_image/lib/main.dart +++ b/example/select_image/lib/main.dart @@ -9,8 +9,18 @@ import 'package:file_picker/file_picker.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart' hide MenuItem; import 'package:image/image.dart' as img; +import 'package:window_manager/window_manager.dart'; + +void main() async { + WidgetsFlutterBinding.ensureInitialized(); + await windowManager.ensureInitialized(); + + WindowOptions windowOptions = WindowOptions( + backgroundColor: Colors.green, + skipTaskbar: false, + ); + windowManager.waitUntilReadyToShow(windowOptions, windowManager.show); -void main() { runApp(const MyApp()); } @@ -156,11 +166,15 @@ class _HomeScreenState extends State { final name = element.name ?? element.key.toString(); _icon.setTooltip(name); _icon.setImage(delegate: element.delegate); + _icon.onTap = (_) => windowManager.show(); _icon.onSecondaryTap = (_) => popUpContextualMenu( Menu(items: [ MenuItem(label: "select_image example app", sublabel: name), MenuItem.separator(), - MenuItem(label: "Exit") + MenuItem( + label: "Exit", + toolTip: "Closes the App", + onClick: (_) => windowManager.close()) ]), placement: Placement.bottomLeft); _icon.show(); diff --git a/example/select_image/pubspec.lock b/example/select_image/pubspec.lock index 6d0b821..c5baf37 100644 --- a/example/select_image/pubspec.lock +++ b/example/select_image/pubspec.lock @@ -266,6 +266,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.5.0" + window_manager: + dependency: "direct main" + description: + name: window_manager + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.3" xml: dependency: transitive description: diff --git a/example/select_image/pubspec.yaml b/example/select_image/pubspec.yaml index 0eed714..a6d2acd 100644 --- a/example/select_image/pubspec.yaml +++ b/example/select_image/pubspec.yaml @@ -20,6 +20,7 @@ dependencies: file_picker: ^4.5.1 image: ^3.1.3 contextual_menu: ^0.1.1 + window_manager: ^0.2.3 dev_dependencies: flutter_test: diff --git a/example/select_image/windows/flutter/generated_plugin_registrant.cc b/example/select_image/windows/flutter/generated_plugin_registrant.cc index ddb2cc8..4c023f3 100644 --- a/example/select_image/windows/flutter/generated_plugin_registrant.cc +++ b/example/select_image/windows/flutter/generated_plugin_registrant.cc @@ -8,10 +8,13 @@ #include #include +#include void RegisterPlugins(flutter::PluginRegistry* registry) { BetrayalPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("BetrayalPlugin")); ContextualMenuPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("ContextualMenuPlugin")); + WindowManagerPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("WindowManagerPlugin")); } diff --git a/example/select_image/windows/flutter/generated_plugins.cmake b/example/select_image/windows/flutter/generated_plugins.cmake index a6354f6..f66a67e 100644 --- a/example/select_image/windows/flutter/generated_plugins.cmake +++ b/example/select_image/windows/flutter/generated_plugins.cmake @@ -5,6 +5,7 @@ list(APPEND FLUTTER_PLUGIN_LIST betrayal contextual_menu + window_manager ) list(APPEND FLUTTER_FFI_PLUGIN_LIST