From c898232f6efdaa1a8f604d87561de91bd5ba1bec Mon Sep 17 00:00:00 2001 From: Jerrell Date: Tue, 25 Apr 2023 03:04:33 -0400 Subject: [PATCH] update pubsec, display_qr.dart, addition of button to copy group code via button to share with others. --- project/lib/group/group_home.dart | 11 ++- project/lib/qr/display_qr.dart | 2 +- .../flutter/generated_plugin_registrant.cc | 4 + project/linux/flutter/generated_plugins.cmake | 1 + project/pubspec.lock | 80 +++++++++++++++++++ project/pubspec.yaml | 1 + 6 files changed, 97 insertions(+), 2 deletions(-) diff --git a/project/lib/group/group_home.dart b/project/lib/group/group_home.dart index 288e40bb..2587c2f2 100644 --- a/project/lib/group/group_home.dart +++ b/project/lib/group/group_home.dart @@ -7,6 +7,7 @@ import 'package:flutter/services.dart'; import 'package:groupmeet/calendar/calendar.dart'; import 'package:groupmeet/theme.dart'; import 'package:groupmeet/qr/display_qr.dart'; +import 'package:rich_clipboard/rich_clipboard.dart'; // change to commented out after groupHome is no longer accessible from main.dart (my group is not available in main.dart) class GroupHomePage extends StatefulWidget { @@ -366,7 +367,15 @@ class _GroupHomePageState extends State { style: const TextStyle( color: Colors.white, fontSize: 20), "${widget.myGroup!["gId"]}"), - ], + PlatformIconButton( + color: Colors.lightBlue, + onPressed: () async { + await RichClipboard.setData(RichClipboardData(text: widget.myGroup!["gId"],)); + ScaffoldMessenger.of(context).showSnackBar(const SnackBar(content: Text("Group Code Successfully Copied!")));}, + icon: const Icon(size: 15, + IconData(0xe190, fontFamily: 'MaterialIcons'), + ),) + ], ), ], ), diff --git a/project/lib/qr/display_qr.dart b/project/lib/qr/display_qr.dart index bb9cd829..82140ebe 100644 --- a/project/lib/qr/display_qr.dart +++ b/project/lib/qr/display_qr.dart @@ -11,7 +11,7 @@ class Display extends StatelessWidget{ @override - //I am here + Widget build(BuildContext context){ return SafeArea(child: PlatformScaffold( appBar: PlatformAppBar(title: PlatformText(groupName)), diff --git a/project/linux/flutter/generated_plugin_registrant.cc b/project/linux/flutter/generated_plugin_registrant.cc index e71a16d2..1edbc43f 100644 --- a/project/linux/flutter/generated_plugin_registrant.cc +++ b/project/linux/flutter/generated_plugin_registrant.cc @@ -6,6 +6,10 @@ #include "generated_plugin_registrant.h" +#include void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) rich_clipboard_linux_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "RichClipboardPlugin"); + rich_clipboard_plugin_register_with_registrar(rich_clipboard_linux_registrar); } diff --git a/project/linux/flutter/generated_plugins.cmake b/project/linux/flutter/generated_plugins.cmake index 2e1de87a..1dcc913c 100644 --- a/project/linux/flutter/generated_plugins.cmake +++ b/project/linux/flutter/generated_plugins.cmake @@ -3,6 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST + rich_clipboard_linux ) list(APPEND FLUTTER_FFI_PLUGIN_LIST diff --git a/project/pubspec.lock b/project/pubspec.lock index fb7e9dcd..2ca6c7de 100644 --- a/project/pubspec.lock +++ b/project/pubspec.lock @@ -265,6 +265,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.1" + ffi: + dependency: transitive + description: + name: ffi + sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978 + url: "https://pub.dev" + source: hosted + version: "2.0.1" file: dependency: transitive description: @@ -760,6 +768,70 @@ packages: url: "https://pub.dev" source: hosted version: "3.2.1" + rich_clipboard: + dependency: "direct main" + description: + name: rich_clipboard + sha256: "48bfc84a0d3eeec5692b3afd0277aa658a7c95d1dbda72bb623188fba6a8e253" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + rich_clipboard_android: + dependency: transitive + description: + name: rich_clipboard_android + sha256: "72725b248d5359a7ad6db2fea5aef921015ba9a00af275cbce3721a4fef20356" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + rich_clipboard_ios: + dependency: transitive + description: + name: rich_clipboard_ios + sha256: "9d6bc037463b1b24cb14ae35ee9d7530bd6b2bdb15b30909fb47a1af01bf3233" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + rich_clipboard_linux: + dependency: transitive + description: + name: rich_clipboard_linux + sha256: "0d0ab273afd60cb7314d01fdf3994fa01be2be79528f448241d9d70ea19b3db9" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + rich_clipboard_macos: + dependency: transitive + description: + name: rich_clipboard_macos + sha256: "1aeb409e267576baaced347549e42dabc59895b10b2e09dabd9f753f469deb3e" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + rich_clipboard_platform_interface: + dependency: transitive + description: + name: rich_clipboard_platform_interface + sha256: a1cbf255719cd4e340d33eca02b619d9ffb9cb571f1905e80b9345d4266e893d + url: "https://pub.dev" + source: hosted + version: "1.0.0" + rich_clipboard_web: + dependency: transitive + description: + name: rich_clipboard_web + sha256: c1dd2b75b8ce83fed0027828900bbfd5c33c0f8ff22efb266931db5aa7acffa0 + url: "https://pub.dev" + source: hosted + version: "1.0.2" + rich_clipboard_windows: + dependency: transitive + description: + name: rich_clipboard_windows + sha256: fa2a28e75ce4bcc9efc6d5d0e9788b76716cdaf3b7063c141fe8af12a315f414 + url: "https://pub.dev" + source: hosted + version: "1.0.2" shelf: dependency: transitive description: @@ -925,6 +997,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.4.0" + win32: + dependency: transitive + description: + name: win32 + sha256: dd8f9344bc305ae2923e3d11a2a911d9a4e2c7dd6fe0ed10626d63211a69676e + url: "https://pub.dev" + source: hosted + version: "4.1.3" yaml: dependency: transitive description: diff --git a/project/pubspec.yaml b/project/pubspec.yaml index 3424d87c..e6661bb0 100644 --- a/project/pubspec.yaml +++ b/project/pubspec.yaml @@ -14,6 +14,7 @@ dependencies: firebase_auth: ^4.2.6 firebase_database: ^10.0.10 firebase_core_platform_interface: ^4.5.3 + rich_clipboard: ^1.0.1 mockito: ^5.3.2 firebase_auth_mocks: ^0.11.0 firebase_database_mocks: ^0.6.0