Skip to content

Commit e3cc4c5

Browse files
committed
feat(quill_native_bridge): extend the support for macOS.
1 parent 9397b6c commit e3cc4c5

40 files changed

+1617
-35
lines changed

example/macos/Flutter/GeneratedPluginRegistrant.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import flutter_inappwebview_macos
1212
import gal
1313
import irondash_engine_context
1414
import path_provider_foundation
15+
import quill_native_bridge
1516
import share_plus
1617
import sqflite
1718
import super_native_extensions
@@ -26,6 +27,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
2627
GalPlugin.register(with: registry.registrar(forPlugin: "GalPlugin"))
2728
IrondashEngineContextPlugin.register(with: registry.registrar(forPlugin: "IrondashEngineContextPlugin"))
2829
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
30+
QuillNativeBridgePlugin.register(with: registry.registrar(forPlugin: "QuillNativeBridgePlugin"))
2931
SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin"))
3032
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
3133
SuperNativeExtensionsPlugin.register(with: registry.registrar(forPlugin: "SuperNativeExtensionsPlugin"))

example/macos/Podfile.lock

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ PODS:
1818
- path_provider_foundation (0.0.1):
1919
- Flutter
2020
- FlutterMacOS
21+
- quill_native_bridge (0.0.1):
22+
- FlutterMacOS
2123
- share_plus (0.0.1):
2224
- FlutterMacOS
2325
- sqflite (0.0.3):
@@ -40,6 +42,7 @@ DEPENDENCIES:
4042
- gal (from `Flutter/ephemeral/.symlinks/plugins/gal/darwin`)
4143
- irondash_engine_context (from `Flutter/ephemeral/.symlinks/plugins/irondash_engine_context/macos`)
4244
- path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`)
45+
- quill_native_bridge (from `Flutter/ephemeral/.symlinks/plugins/quill_native_bridge/macos`)
4346
- share_plus (from `Flutter/ephemeral/.symlinks/plugins/share_plus/macos`)
4447
- sqflite (from `Flutter/ephemeral/.symlinks/plugins/sqflite/darwin`)
4548
- super_native_extensions (from `Flutter/ephemeral/.symlinks/plugins/super_native_extensions/macos`)
@@ -67,6 +70,8 @@ EXTERNAL SOURCES:
6770
:path: Flutter/ephemeral/.symlinks/plugins/irondash_engine_context/macos
6871
path_provider_foundation:
6972
:path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin
73+
quill_native_bridge:
74+
:path: Flutter/ephemeral/.symlinks/plugins/quill_native_bridge/macos
7075
share_plus:
7176
:path: Flutter/ephemeral/.symlinks/plugins/share_plus/macos
7277
sqflite:
@@ -88,6 +93,7 @@ SPEC CHECKSUMS:
8893
irondash_engine_context: da62996ee25616d2f01bbeb85dc115d813359478
8994
OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c
9095
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
96+
quill_native_bridge: 1a3a4bfab7cbe4ed0232a17d8aae201a3ce6d302
9197
share_plus: 36537c04ce0c3e3f5bd297ce4318b6d5ee5fd6cf
9298
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
9399
super_native_extensions: 85efee3a7495b46b04befcfc86ed12069264ebf3

lib/src/editor_toolbar_controller_shared/clipboard/default_clipboard_service.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1+
import 'package:flutter/foundation.dart' show defaultTargetPlatform;
12
import 'package:flutter/services.dart' show Clipboard, Uint8List;
23
import 'package:quill_native_bridge/quill_native_bridge.dart'
34
show QuillNativeBridge;
45

5-
import '../../common/utils/platform.dart';
66
import 'clipboard_service.dart';
77

88
/// Default implementation
99
class DefaultClipboardService implements ClipboardService {
1010
@override
11-
Future<bool> canProvideHtmlText() async => isAndroidApp || isIosApp;
11+
Future<bool> canProvideHtmlText() async =>
12+
QuillNativeBridge.supportedHtmlClipboardPlatforms
13+
.contains(defaultTargetPlatform);
1214

1315
@override
1416
Future<String?> getHtmlText() => QuillNativeBridge.getClipboardHTML();

quill_native_bridge/.metadata

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ migration:
2121
- platform: ios
2222
create_revision: 4cf269e36de2573851eaef3c763994f8f9be494d
2323
base_revision: 4cf269e36de2573851eaef3c763994f8f9be494d
24+
- platform: macos
25+
create_revision: 4cf269e36de2573851eaef3c763994f8f9be494d
26+
base_revision: 4cf269e36de2573851eaef3c763994f8f9be494d
2427

2528
# User provided section
2629

quill_native_bridge/example/ios/RunnerTests/RunnerTests.swift

Lines changed: 0 additions & 27 deletions
This file was deleted.

quill_native_bridge/example/lib/main.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,10 @@ class Buttons extends StatelessWidget {
6464
);
6565
return;
6666
}
67-
if (!{TargetPlatform.android, TargetPlatform.iOS}
67+
if (!QuillNativeBridge.supportedHtmlClipboardPlatforms
6868
.contains(defaultTargetPlatform)) {
6969
scaffoldMessenger.showText(
70-
'Currently, this functionality is only supported on Android and iOS.',
70+
'Currently, this functionality is only supported on Android, iOS and macOS.',
7171
);
7272
return;
7373
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Flutter-related
2+
**/Flutter/ephemeral/
3+
**/Pods/
4+
5+
# Xcode-related
6+
**/dgph
7+
**/xcuserdata/
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2+
#include "ephemeral/Flutter-Generated.xcconfig"
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2+
#include "ephemeral/Flutter-Generated.xcconfig"
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
//
2+
// Generated file. Do not edit.
3+
//
4+
5+
import FlutterMacOS
6+
import Foundation
7+
8+
import quill_native_bridge
9+
10+
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
11+
QuillNativeBridgePlugin.register(with: registry.registrar(forPlugin: "QuillNativeBridgePlugin"))
12+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
platform :osx, '10.14'
2+
3+
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
4+
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
5+
6+
project 'Runner', {
7+
'Debug' => :debug,
8+
'Profile' => :release,
9+
'Release' => :release,
10+
}
11+
12+
def flutter_root
13+
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__)
14+
unless File.exist?(generated_xcode_build_settings_path)
15+
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first"
16+
end
17+
18+
File.foreach(generated_xcode_build_settings_path) do |line|
19+
matches = line.match(/FLUTTER_ROOT\=(.*)/)
20+
return matches[1].strip if matches
21+
end
22+
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\""
23+
end
24+
25+
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
26+
27+
flutter_macos_podfile_setup
28+
29+
target 'Runner' do
30+
use_frameworks!
31+
use_modular_headers!
32+
33+
flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))
34+
target 'RunnerTests' do
35+
inherit! :search_paths
36+
end
37+
end
38+
39+
post_install do |installer|
40+
installer.pods_project.targets.each do |target|
41+
flutter_additional_macos_build_settings(target)
42+
end
43+
end
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
PODS:
2+
- FlutterMacOS (1.0.0)
3+
- quill_native_bridge (0.0.1):
4+
- FlutterMacOS
5+
6+
DEPENDENCIES:
7+
- FlutterMacOS (from `Flutter/ephemeral`)
8+
- quill_native_bridge (from `Flutter/ephemeral/.symlinks/plugins/quill_native_bridge/macos`)
9+
10+
EXTERNAL SOURCES:
11+
FlutterMacOS:
12+
:path: Flutter/ephemeral
13+
quill_native_bridge:
14+
:path: Flutter/ephemeral/.symlinks/plugins/quill_native_bridge/macos
15+
16+
SPEC CHECKSUMS:
17+
FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
18+
quill_native_bridge: 1a3a4bfab7cbe4ed0232a17d8aae201a3ce6d302
19+
20+
PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367
21+
22+
COCOAPODS: 1.15.2

0 commit comments

Comments
 (0)