From c2be43745c792be4ac501d9e2d187d784318d95d Mon Sep 17 00:00:00 2001 From: vednig Date: Thu, 31 Oct 2024 10:16:06 +0530 Subject: [PATCH] MacOS UI and Support Add --- Frontend/.DS_Store | Bin 0 -> 6148 bytes Frontend/searchlight_gui/.fvmrc | 2 +- .../ios/Flutter/Debug.xcconfig | 1 + .../ios/Flutter/Release.xcconfig | 1 + Frontend/searchlight_gui/ios/Podfile | 41 ++++ Frontend/searchlight_gui/lib/main.dart | 198 ++++++++++++------ .../macos/Flutter/Flutter-Debug.xcconfig | 1 + .../macos/Flutter/Flutter-Release.xcconfig | 1 + .../Flutter/GeneratedPluginRegistrant.swift | 4 + Frontend/searchlight_gui/macos/Podfile | 40 ++++ Frontend/searchlight_gui/macos/Podfile.lock | 78 +++++++ .../macos/Runner.xcodeproj/project.pbxproj | 71 ++++++- .../contents.xcworkspacedata | 3 + .../macos/Runner/DebugProfile.entitlements | 7 +- .../macos/Runner/Release.entitlements | 7 +- Frontend/searchlight_gui/pubspec.yaml | 11 +- 16 files changed, 385 insertions(+), 81 deletions(-) create mode 100644 Frontend/.DS_Store create mode 100644 Frontend/searchlight_gui/ios/Podfile create mode 100644 Frontend/searchlight_gui/macos/Podfile create mode 100644 Frontend/searchlight_gui/macos/Podfile.lock diff --git a/Frontend/.DS_Store b/Frontend/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..944a494c78cdbe6eb75bf01ce57b665f1c6fea71 GIT binary patch literal 6148 zcmeHK%}T>S5T0$T-BQFJ6nYGJEtvX;;w9Aj0!H+p5))f&FlI}W(nBfatS{t~_&m<+ zZVS<#1!V?izuBFc-RuY1-2nj6n-01FEdY?Hgo2DULc?oa6&oxNQE`qZ7(oItJR|-M zp>N-Y42BTGr1bqc1h|hW#L+ApM~R9s@*^52ahAL8r>InG8=G}mmreQLkJQZ1!+e_c z!pR-=u9Zrnr5#2$@o*Njb}m$!hjBWb=!AGM#E|>jI31{2PfgQ7rgMGckPX=gTJ8D# z*mXP3(P?+lapq?SWFMX^77e+(w|{;Wyd!N7~wH{0`X|=UFTa(kwKt R(-HY0pb6oI8TbVTz5p6pNHG8a literal 0 HcmV?d00001 diff --git a/Frontend/searchlight_gui/.fvmrc b/Frontend/searchlight_gui/.fvmrc index 6bc531f..c6ace93 100644 --- a/Frontend/searchlight_gui/.fvmrc +++ b/Frontend/searchlight_gui/.fvmrc @@ -1,4 +1,4 @@ { - "flutter": "3.1.0", + "flutter": "3.7.0", "flavors": {} } \ No newline at end of file diff --git a/Frontend/searchlight_gui/ios/Flutter/Debug.xcconfig b/Frontend/searchlight_gui/ios/Flutter/Debug.xcconfig index 592ceee..ec97fc6 100644 --- a/Frontend/searchlight_gui/ios/Flutter/Debug.xcconfig +++ b/Frontend/searchlight_gui/ios/Flutter/Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/Frontend/searchlight_gui/ios/Flutter/Release.xcconfig b/Frontend/searchlight_gui/ios/Flutter/Release.xcconfig index 592ceee..c4855bf 100644 --- a/Frontend/searchlight_gui/ios/Flutter/Release.xcconfig +++ b/Frontend/searchlight_gui/ios/Flutter/Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/Frontend/searchlight_gui/ios/Podfile b/Frontend/searchlight_gui/ios/Podfile new file mode 100644 index 0000000..88359b2 --- /dev/null +++ b/Frontend/searchlight_gui/ios/Podfile @@ -0,0 +1,41 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '11.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/Frontend/searchlight_gui/lib/main.dart b/Frontend/searchlight_gui/lib/main.dart index c638951..830d258 100755 --- a/Frontend/searchlight_gui/lib/main.dart +++ b/Frontend/searchlight_gui/lib/main.dart @@ -9,39 +9,42 @@ import 'package:fluent_ui/fluent_ui.dart' as fluent_ui; import 'package:fluent_ui/fluent_ui.dart'; import 'package:flutter/material.dart'; import 'package:flutter_acrylic/flutter_acrylic.dart'; -import 'package:hotkey_manager/hotkey_manager.dart'; +// import 'package:hotkey_manager/hotkey_manager.dart'; import 'package:window_manager/window_manager.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:macos_ui/macos_ui.dart' as macos_ui; + // import 'package:flutter_window_close/flutter_window_close.dart' as fwc; //import 'bg.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); - await hotKeyManager.unregisterAll(); - HotKey _hotKey = HotKey( - KeyCode.keyZ, - modifiers: [KeyModifier.alt], - - //-------- Set hotkey scope (default is HotKeyScope.system)-------- - scope: HotKeyScope.inapp, //------- Set as inapp-wide hotkey------- - ); - await hotKeyManager.register( - _hotKey, - keyDownHandler: (hotKey) { - //--------<>------------- - //Enable when in Production - //--------<>-------------- - if (appWindow.isVisible) { - exit(0); - } else { - appWindow.show(); - } - }, + // await hotKeyManager.unregisterAll(); + // HotKey _hotKey = HotKey( + // KeyCode.keyZ, + // modifiers: [KeyModifier.alt], + + // //-------- Set hotkey scope (default is HotKeyScope.system)-------- + // scope: HotKeyScope.inapp, //------- Set as inapp-wide hotkey------- + // ); + // await hotKeyManager.register( + // _hotKey, + // keyDownHandler: (hotKey) { + // //--------<>------------- + // //Enable when in Production + // //--------<>-------------- + // if (appWindow.isVisible) { + // exit(0); + // } else { + // appWindow.show(); + // } + // }, //----- Only works on macOS -------- //keyUpHandler: (hotKey){ //print('onKeyUp+${hotKey.toJson()}'); //} , //---------------------------------- - ); + // ); await Window.initialize(); if (Platform.isWindows) { @@ -64,16 +67,32 @@ void main() async { await windowManager.setTitleBarStyle(TitleBarStyle.hidden); await windowManager.setAsFrameless(); await windowManager.maximize(); - - + + // windowManager.waitUntilReadyToShow(windowOptions, () async { // await windowManager.show(); // await windowManager.focus(); - // }); + // }); // windowManager.waitUntilReadyToShow().then((_) async{ // await windowManager.setAsFrameless(); // }); + } + if(Platform.isMacOS){ + print('Build Type: MacOS'); + // final Directory tempDir = await getTemporaryDirectory(); + + // final Directory appDocumentsDir = await getApplicationDocumentsDirectory(); + + final Directory? downloadsDir = await getDownloadsDirectory(); + var normalTempDir = Directory('./Downloads'); + + // List? contents = downloadsDir?.listSync(recursive: false).map((e) => e.toString()).toList(); + // if(contents!=null){ + // contents.forEach((element) { + // print(element); + // }); + // } } runApp(const MyApp()); // focus @@ -104,9 +123,10 @@ class MyApp extends StatelessWidget { // or simply save your changes to "hot reload" in a Flutter IDE). // Notice that the counter didn't reset back to zero; the application // is not restarted. - accentColor: fluent_ui.Colors.blue, + // accentColor: fluent_ui.Colors.blue, //works with ScaffoldPage - scaffoldBackgroundColor: fluent_ui.Colors.transparent), + // scaffoldBackgroundColor: fluent_ui.Colors.black + ), home: MyHomePage(title: 'Flutter Demo Home Page'), ); } @@ -131,16 +151,33 @@ class MyHomePage extends StatefulWidget { } class _MyHomePageState extends State { - var systemTempDir = - Directory((Platform.environment['HOME'] ?? Platform.environment['USERPROFILE']).toString() + '/Downloads'); + Directory? systemTempDir = Directory('.'); + // get contents => + // systemTempDir.listSync(recursive: false).map((e) => e.toString()).toList(); + final FocusNode _focusNode = FocusNode(); + // Directory? downloadsDir; +// Directory((Platform.environment['HOME'] ?? Platform.environment['USERPROFILE']).toString() + '/Downloads'); + +Future _fetchData() async { + + Directory? downloadsDir = await getDownloadsDirectory(); + systemTempDir = Directory('/Users/vednig/Downloads'); + // List? contents = downloadsDir?.listSync(recursive: true).map((e) => e.toString()).toList(); + // if(contents!=null){ + // contents.forEach((element) { + // print(element); + // }); + // } +} + +// List? contents = downloadsDir?.listSync(recursive: false).map((e) => e.toString()).toList(); + get contents => systemTempDir?.listSync(recursive: false).map((e) => macos_ui.SearchResultItem(e.toString())).toList(); - get contents => - systemTempDir.listSync(recursive: true).map((e) => e.toString()).toList(); - final FocusNode _focusNode = FocusNode(); @override void initState() { super.initState(); + _fetchData(); WidgetsBinding.instance.addPostFrameCallback( (_) => FocusScope.of(context).requestFocus(_focusNode)); @@ -162,7 +199,7 @@ class _MyHomePageState extends State { return Scaffold( //------------- Base Layout Of App -------------- - backgroundColor: fluent_ui.Colors.transparent, + backgroundColor:fluent_ui.Colors.black, //bottomNavigationBar: , body: fluent_ui.Column( @@ -172,46 +209,73 @@ class _MyHomePageState extends State { flex: 0, child: fluent_ui.Center( child: fluent_ui.Container( + decoration: BoxDecoration( + color: fluent_ui.Colors.black, + borderRadius: BorderRadius.circular(4.0), + ), // mainAxisAlignment: fluent_ui.MainAxisAlignment.center, child: fluent_ui.Center( - child: fluent_ui.FractionallySizedBox( - widthFactor: 0.30, + + child: // mainAxisAlignment: fluent_ui.MainAxisAlignment.center, - child: fluent_ui.AutoSuggestBox( - leadingIcon: fluent_ui.Icon( - fluent_ui.FluentIcons.search), + macos_ui.MacosTheme( + // themeMode: ThemeMode.system, // or ThemeMode.light, ThemeMode.dark + data:macos_ui.MacosThemeData.light(), + + child:macos_ui.MacosSearchField( + placeholder: 'Search', - items: contents, - onChanged: (text, reason) async { - var re = RegExp( - r"File: '(([A-Z]:)?[\.]?[\\{1,2}/]?.*[\\{1,2}/])*(.+)\.(.+)'"); - - if (re.hasMatch('$text')) { - String txt = text - .replaceFirst('File: ', '') - .replaceAll("'", ""); - print(txt); - if (Platform.isLinux) { - appWindow.hide(); - await Process.run("xdg-open", [ - txt, - ]); - exit(0);; - - } else if (Platform.isWindows) { - appWindow.hide(); - await Process.run(txt, [], - runInShell: true); - } - } else { - print('No Match'); - } - }, - onSelected: (breed) { - // print(breed); + results: contents, + // onChanged: (text, reason) async { + // print(reason); + // var re = RegExp( + // r"File: '(([A-Z]:)?[\.]?[\\{1,2}/]?.*[\\{1,2}/])*(.+)\.(.+)'"); + // // appWindow.hide(); + // print("Opening $text"); + // await Process.run("open", [ + // "$text", + // ]); + // if (re.hasMatch('$text')) { + // String txt = text + // .replaceFirst('File: ', '') + // .replaceAll("'", ""); + // print(txt); + // if (Platform.isLinux) { + // appWindow.hide(); + // await Process.run("xdg-open", [ + // txt, + // ]); + // exit(0);; + + // } else if (Platform.isWindows) { + // appWindow.hide(); + // await Process.run(txt, [], + // runInShell: true); + // } + + // } else { + // print('No Match'); + // } + + + // }, + // onSelected: (String selection) { + // debugPrint('$selection selected'); + // }, + onResultSelected: (resultItem) { + debugPrint(resultItem.searchKey); }, - )))))), + + + ) + + ) + ) + + ) + ) + ), ]), ); } diff --git a/Frontend/searchlight_gui/macos/Flutter/Flutter-Debug.xcconfig b/Frontend/searchlight_gui/macos/Flutter/Flutter-Debug.xcconfig index c2efd0b..4b81f9b 100644 --- a/Frontend/searchlight_gui/macos/Flutter/Flutter-Debug.xcconfig +++ b/Frontend/searchlight_gui/macos/Flutter/Flutter-Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/Frontend/searchlight_gui/macos/Flutter/Flutter-Release.xcconfig b/Frontend/searchlight_gui/macos/Flutter/Flutter-Release.xcconfig index c2efd0b..5caa9d1 100644 --- a/Frontend/searchlight_gui/macos/Flutter/Flutter-Release.xcconfig +++ b/Frontend/searchlight_gui/macos/Flutter/Flutter-Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/Frontend/searchlight_gui/macos/Flutter/GeneratedPluginRegistrant.swift b/Frontend/searchlight_gui/macos/Flutter/GeneratedPluginRegistrant.swift index 6b2b539..c74a79c 100644 --- a/Frontend/searchlight_gui/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/Frontend/searchlight_gui/macos/Flutter/GeneratedPluginRegistrant.swift @@ -10,6 +10,8 @@ import flutter_acrylic import flutter_platform_alert import flutter_window_close import hotkey_manager +import macos_ui +import path_provider_foundation import screen_retriever import window_manager @@ -19,6 +21,8 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FlutterPlatformAlertPlugin.register(with: registry.registrar(forPlugin: "FlutterPlatformAlertPlugin")) FlutterWindowClosePlugin.register(with: registry.registrar(forPlugin: "FlutterWindowClosePlugin")) HotkeyManagerPlugin.register(with: registry.registrar(forPlugin: "HotkeyManagerPlugin")) + MacOSUiPlugin.register(with: registry.registrar(forPlugin: "MacOSUiPlugin")) + PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) ScreenRetrieverPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverPlugin")) WindowManagerPlugin.register(with: registry.registrar(forPlugin: "WindowManagerPlugin")) } diff --git a/Frontend/searchlight_gui/macos/Podfile b/Frontend/searchlight_gui/macos/Podfile new file mode 100644 index 0000000..049abe2 --- /dev/null +++ b/Frontend/searchlight_gui/macos/Podfile @@ -0,0 +1,40 @@ +platform :osx, '10.14' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end diff --git a/Frontend/searchlight_gui/macos/Podfile.lock b/Frontend/searchlight_gui/macos/Podfile.lock new file mode 100644 index 0000000..8ca2a06 --- /dev/null +++ b/Frontend/searchlight_gui/macos/Podfile.lock @@ -0,0 +1,78 @@ +PODS: + - bitsdojo_window_macos (0.0.1): + - FlutterMacOS + - flutter_acrylic (0.1.0): + - FlutterMacOS + - flutter_platform_alert (0.0.1): + - FlutterMacOS + - flutter_window_close (0.0.1): + - FlutterMacOS + - FlutterMacOS (1.0.0) + - HotKey (0.2.0) + - hotkey_manager (0.0.1): + - FlutterMacOS + - HotKey + - macos_ui (0.1.0): + - FlutterMacOS + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS + - screen_retriever (0.0.1): + - FlutterMacOS + - window_manager (0.2.0): + - FlutterMacOS + +DEPENDENCIES: + - bitsdojo_window_macos (from `Flutter/ephemeral/.symlinks/plugins/bitsdojo_window_macos/macos`) + - flutter_acrylic (from `Flutter/ephemeral/.symlinks/plugins/flutter_acrylic/macos`) + - flutter_platform_alert (from `Flutter/ephemeral/.symlinks/plugins/flutter_platform_alert/macos`) + - flutter_window_close (from `Flutter/ephemeral/.symlinks/plugins/flutter_window_close/macos`) + - FlutterMacOS (from `Flutter/ephemeral`) + - hotkey_manager (from `Flutter/ephemeral/.symlinks/plugins/hotkey_manager/macos`) + - macos_ui (from `Flutter/ephemeral/.symlinks/plugins/macos_ui/macos`) + - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/macos`) + - screen_retriever (from `Flutter/ephemeral/.symlinks/plugins/screen_retriever/macos`) + - window_manager (from `Flutter/ephemeral/.symlinks/plugins/window_manager/macos`) + +SPEC REPOS: + trunk: + - HotKey + +EXTERNAL SOURCES: + bitsdojo_window_macos: + :path: Flutter/ephemeral/.symlinks/plugins/bitsdojo_window_macos/macos + flutter_acrylic: + :path: Flutter/ephemeral/.symlinks/plugins/flutter_acrylic/macos + flutter_platform_alert: + :path: Flutter/ephemeral/.symlinks/plugins/flutter_platform_alert/macos + flutter_window_close: + :path: Flutter/ephemeral/.symlinks/plugins/flutter_window_close/macos + FlutterMacOS: + :path: Flutter/ephemeral + hotkey_manager: + :path: Flutter/ephemeral/.symlinks/plugins/hotkey_manager/macos + macos_ui: + :path: Flutter/ephemeral/.symlinks/plugins/macos_ui/macos + path_provider_foundation: + :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/macos + screen_retriever: + :path: Flutter/ephemeral/.symlinks/plugins/screen_retriever/macos + window_manager: + :path: Flutter/ephemeral/.symlinks/plugins/window_manager/macos + +SPEC CHECKSUMS: + bitsdojo_window_macos: 44e3b8fe3dd463820e0321f6256c5b1c16bb6a00 + flutter_acrylic: c3df24ae52ab6597197837ce59ef2a8542640c17 + flutter_platform_alert: b21b2b7d801e71c12ce9ffab618ff114ca9fc903 + flutter_window_close: ee4a6b81ca6fafe93b7cba48b0a18976e3f48e39 + FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 + HotKey: e96d8a2ddbf4591131e2bb3f54e69554d90cdca6 + hotkey_manager: ad673457691f4d39e481be04a61da2ae07d81c62 + macos_ui: 6229a8922cd97bafb7d9636c8eb8dfb0744183ca + path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 + screen_retriever: 59634572a57080243dd1bf715e55b6c54f241a38 + window_manager: 3a1844359a6295ab1e47659b1a777e36773cd6e8 + +PODFILE CHECKSUM: 353c8bcc5d5b0994e508d035b5431cfe18c1dea7 + +COCOAPODS: 1.16.0 diff --git a/Frontend/searchlight_gui/macos/Runner.xcodeproj/project.pbxproj b/Frontend/searchlight_gui/macos/Runner.xcodeproj/project.pbxproj index 9764880..090003f 100644 --- a/Frontend/searchlight_gui/macos/Runner.xcodeproj/project.pbxproj +++ b/Frontend/searchlight_gui/macos/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 51; + objectVersion = 54; objects = { /* Begin PBXAggregateTarget section */ @@ -26,6 +26,7 @@ 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; + 611E752F834FBB022B38DD5F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F801A1161CEAB84C62D62C32 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -52,9 +53,10 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 1D1F51D83F0D9D5C248E8FA5 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* searchlight_gui.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "searchlight_gui.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10ED2044A3C60003C045 /* searchlight_gui.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = searchlight_gui.app; sourceTree = BUILT_PRODUCTS_DIR; }; 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; @@ -68,6 +70,9 @@ 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; + A1A3A84182C81182838BBDC4 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + B273776527D08E00E8271A53 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + F801A1161CEAB84C62D62C32 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -75,6 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 611E752F834FBB022B38DD5F /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -99,6 +105,7 @@ 33CEB47122A05771004F2AC0 /* Flutter */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, + 93D7487FBF8C0AD05D77EA49 /* Pods */, ); sourceTree = ""; }; @@ -145,9 +152,21 @@ path = Runner; sourceTree = ""; }; + 93D7487FBF8C0AD05D77EA49 /* Pods */ = { + isa = PBXGroup; + children = ( + B273776527D08E00E8271A53 /* Pods-Runner.debug.xcconfig */, + 1D1F51D83F0D9D5C248E8FA5 /* Pods-Runner.release.xcconfig */, + A1A3A84182C81182838BBDC4 /* Pods-Runner.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( + F801A1161CEAB84C62D62C32 /* Pods_Runner.framework */, ); name = Frameworks; sourceTree = ""; @@ -159,11 +178,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( + 5AF93A3A3D440AF5B4F3B856 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, + 38D149870AC1FDE7F347B502 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -235,6 +256,7 @@ /* Begin PBXShellScriptBuildPhase section */ 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -270,6 +292,45 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; + 38D149870AC1FDE7F347B502 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 5AF93A3A3D440AF5B4F3B856 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -344,7 +405,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; + MACOSX_DEPLOYMENT_TARGET = 10.14; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; @@ -423,7 +484,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; + MACOSX_DEPLOYMENT_TARGET = 10.14; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -470,7 +531,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; + MACOSX_DEPLOYMENT_TARGET = 10.14; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; diff --git a/Frontend/searchlight_gui/macos/Runner.xcworkspace/contents.xcworkspacedata b/Frontend/searchlight_gui/macos/Runner.xcworkspace/contents.xcworkspacedata index 1d526a1..21a3cc1 100644 --- a/Frontend/searchlight_gui/macos/Runner.xcworkspace/contents.xcworkspacedata +++ b/Frontend/searchlight_gui/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -4,4 +4,7 @@ + + diff --git a/Frontend/searchlight_gui/macos/Runner/DebugProfile.entitlements b/Frontend/searchlight_gui/macos/Runner/DebugProfile.entitlements index dddb8a3..175404a 100644 --- a/Frontend/searchlight_gui/macos/Runner/DebugProfile.entitlements +++ b/Frontend/searchlight_gui/macos/Runner/DebugProfile.entitlements @@ -2,11 +2,14 @@ - com.apple.security.app-sandbox - + com.apple.security.cs.allow-jit com.apple.security.network.server + com.apple.security.files.downloads.read-write + + com.apple.security.files.music.read-only + diff --git a/Frontend/searchlight_gui/macos/Runner/Release.entitlements b/Frontend/searchlight_gui/macos/Runner/Release.entitlements index 852fa1a..1a113d2 100644 --- a/Frontend/searchlight_gui/macos/Runner/Release.entitlements +++ b/Frontend/searchlight_gui/macos/Runner/Release.entitlements @@ -2,7 +2,10 @@ - com.apple.security.app-sandbox - + + com.apple.security.files.downloads.read-write + + com.apple.security.files.music.read-only + diff --git a/Frontend/searchlight_gui/pubspec.yaml b/Frontend/searchlight_gui/pubspec.yaml index b7578be..413669a 100644 --- a/Frontend/searchlight_gui/pubspec.yaml +++ b/Frontend/searchlight_gui/pubspec.yaml @@ -3,7 +3,7 @@ description: A new Flutter project. # The following line prevents the package from being accidentally published to # pub.dev using `flutter pub publish`. This is preferred for private packages. -publish_to: 'none' # Remove this line if you wish to publish to pub.dev +publish_to: "none" # Remove this line if you wish to publish to pub.dev # The following defines the version and build number for your application. # A version number is three numbers separated by dots, like 1.2.43 @@ -34,7 +34,10 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 window_manager: ^0.2.7 - search_engine: ^0.1.0 + path_provider: ^2.1.1 + macos_ui: ^1.2.0 + + # search_engine: ^0.1.0 dev_dependencies: flutter_test: @@ -53,13 +56,13 @@ dev_dependencies: hotkey_manager: ^0.1.7 flutter_window_close: ^0.2.2 flutter_platform_alert: ^0.3.0 - + macos_ui: ^1.2.0 + # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec # The following section is specific to Flutter packages. flutter: - # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class.