Fix copy to clipboard for icon message
This commit is contained in:
parent
45a6e88b3c
commit
7bc24603b2
|
|
@ -8,12 +8,14 @@ class IconMessage extends StatelessWidget {
|
|||
this.iconData,
|
||||
this.color,
|
||||
this.trailing,
|
||||
this.copyToClipboard = false,
|
||||
});
|
||||
|
||||
final String text;
|
||||
final IconData iconData;
|
||||
final Color color;
|
||||
final Widget trailing;
|
||||
final bool copyToClipboard;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
|
@ -30,7 +32,8 @@ class IconMessage extends StatelessWidget {
|
|||
),
|
||||
SizedBox(width: 16),
|
||||
Expanded(
|
||||
child: CopyToClipboard(
|
||||
child: copyToClipboard
|
||||
? CopyToClipboard(
|
||||
value: text,
|
||||
child: Text(
|
||||
text,
|
||||
|
|
@ -39,6 +42,13 @@ class IconMessage extends StatelessWidget {
|
|||
color: Colors.white,
|
||||
),
|
||||
),
|
||||
)
|
||||
: Text(
|
||||
text,
|
||||
maxLines: null,
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
),
|
||||
),
|
||||
),
|
||||
if (trailing != null) ...[
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ class ClientOverview extends StatelessWidget {
|
|||
.present(localization.active, localization.archived),
|
||||
),
|
||||
if ((client.publicNotes ?? '').isNotEmpty) ...[
|
||||
IconMessage(client.publicNotes),
|
||||
IconMessage(client.publicNotes, copyToClipboard: true),
|
||||
ListDivider()
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -184,7 +184,8 @@ class ExpenseOverview extends StatelessWidget {
|
|||
),
|
||||
ListDivider(),
|
||||
if ((expense.privateNotes ?? '').isNotEmpty) ...[
|
||||
IconMessage(expense.privateNotes, iconData: Icons.lock),
|
||||
IconMessage(expense.privateNotes,
|
||||
iconData: Icons.lock, copyToClipboard: true),
|
||||
ListDivider(),
|
||||
],
|
||||
FieldGrid(fields),
|
||||
|
|
@ -217,7 +218,7 @@ class ExpenseOverview extends StatelessWidget {
|
|||
),
|
||||
..._buildDetailsList(),
|
||||
if ((expense.publicNotes ?? '').isNotEmpty) ...[
|
||||
IconMessage(expense.publicNotes),
|
||||
IconMessage(expense.publicNotes, copyToClipboard: true),
|
||||
ListDivider()
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -139,10 +139,8 @@ class InvoiceOverview extends StatelessWidget {
|
|||
|
||||
if ((invoice.privateNotes ?? '').isNotEmpty) {
|
||||
widgets.addAll([
|
||||
IconMessage(
|
||||
invoice.privateNotes,
|
||||
iconData: Icons.lock,
|
||||
),
|
||||
IconMessage(invoice.privateNotes,
|
||||
iconData: Icons.lock, copyToClipboard: true),
|
||||
ListDivider(),
|
||||
]);
|
||||
}
|
||||
|
|
@ -510,7 +508,7 @@ class InvoiceOverview extends StatelessWidget {
|
|||
if ((invoice.publicNotes ?? '').isNotEmpty) {
|
||||
widgets.addAll([
|
||||
ListDivider(),
|
||||
IconMessage(invoice.publicNotes),
|
||||
IconMessage(invoice.publicNotes, copyToClipboard: true),
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -166,7 +166,8 @@ class _PaymentViewState extends State<PaymentView> {
|
|||
payment.privateNotes.isNotEmpty
|
||||
? Column(
|
||||
children: <Widget>[
|
||||
IconMessage(payment.privateNotes),
|
||||
IconMessage(payment.privateNotes,
|
||||
copyToClipboard: true),
|
||||
Container(
|
||||
color: Theme.of(context).cardColor,
|
||||
height: 12.0,
|
||||
|
|
|
|||
|
|
@ -108,7 +108,8 @@ class _ProjectOverviewState extends State<ProjectOverview> {
|
|||
),
|
||||
ListDivider(),
|
||||
if ((project.privateNotes ?? '').isNotEmpty) ...[
|
||||
IconMessage(project.privateNotes, iconData: Icons.lock),
|
||||
IconMessage(project.privateNotes,
|
||||
iconData: Icons.lock, copyToClipboard: true),
|
||||
ListDivider()
|
||||
],
|
||||
EntityListTile(
|
||||
|
|
@ -156,7 +157,10 @@ class _ProjectOverviewState extends State<ProjectOverview> {
|
|||
]);
|
||||
|
||||
if ((project.publicNotes ?? '').isNotEmpty) {
|
||||
widgets.addAll([IconMessage(project.publicNotes), ListDivider()]);
|
||||
widgets.addAll([
|
||||
IconMessage(project.publicNotes, copyToClipboard: true),
|
||||
ListDivider()
|
||||
]);
|
||||
}
|
||||
|
||||
return widgets;
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ class _TaskOverviewState extends State<TaskOverview> {
|
|||
|
||||
if (task.description.isNotEmpty) {
|
||||
widgets.addAll([
|
||||
IconMessage(task.description),
|
||||
IconMessage(task.description, copyToClipboard: true),
|
||||
ListDivider(),
|
||||
]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ class _TransactionViewState extends State<TransactionView> {
|
|||
],
|
||||
if (transaction.isConverted) ...[
|
||||
if (transaction.description.isNotEmpty) ...[
|
||||
IconMessage(transaction.description),
|
||||
IconMessage(transaction.description, copyToClipboard: true),
|
||||
ListDivider(),
|
||||
],
|
||||
EntityListTile(
|
||||
|
|
|
|||
|
|
@ -93,7 +93,8 @@ class VendorOverview extends StatelessWidget {
|
|||
),
|
||||
ListDivider(),
|
||||
if ((vendor.privateNotes ?? '').isNotEmpty) ...[
|
||||
IconMessage(vendor.privateNotes, iconData: Icons.lock),
|
||||
IconMessage(vendor.privateNotes,
|
||||
iconData: Icons.lock, copyToClipboard: true),
|
||||
ListDivider()
|
||||
],
|
||||
if (vendor.hasUser)
|
||||
|
|
@ -143,7 +144,7 @@ class VendorOverview extends StatelessWidget {
|
|||
.present(localization.active, localization.archived),
|
||||
),
|
||||
if ((vendor.publicNotes ?? '').isNotEmpty) ...[
|
||||
IconMessage(vendor.publicNotes),
|
||||
IconMessage(vendor.publicNotes, copyToClipboard: true),
|
||||
ListDivider()
|
||||
],
|
||||
],
|
||||
|
|
|
|||
Loading…
Reference in New Issue