Skip to content

Commit 6caf25b

Browse files
committed
Add copy to clipboard
1 parent 2165ec7 commit 6caf25b

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

lib/pages/main/package_list.dart

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'package:desktop_adb_file_browser/riverpod/package_list.dart';
22
import 'package:flutter/material.dart';
3+
import 'package:flutter/services.dart';
34
import 'package:flutter_riverpod/flutter_riverpod.dart';
45
import 'package:freezed_annotation/freezed_annotation.dart';
56

@@ -51,6 +52,7 @@ class _PackageListState extends ConsumerState<PackageList> {
5152
return packageMetadataFuture.when(
5253
data: (packageMetadata) => ListTile(
5354
title: Text(packageMetadata.packageName),
55+
subtitle:
5456
Text("${packageMetadata.packageId} - ${packageMetadata.version}"),
5557
leading: const Icon(Icons.apps),
5658
dense: true,
@@ -59,6 +61,18 @@ class _PackageListState extends ConsumerState<PackageList> {
5961
children: [
6062
IconButton(onPressed: () {}, icon: const Icon(Icons.download)),
6163
IconButton(onPressed: () {}, icon: const Icon(Icons.delete)),
64+
IconButton(
65+
onPressed: () async {
66+
await Clipboard.setData(
67+
ClipboardData(text: packageMetadata.packageId));
68+
69+
if (!context.mounted) return;
70+
const snackBar = SnackBar(
71+
content: Text('Copied package id to clipboard'),
72+
);
73+
ScaffoldMessenger.of(context).showSnackBar(snackBar);
74+
},
75+
icon: const Icon(Icons.copy))
6276
],
6377
),
6478
),

0 commit comments

Comments
 (0)