From a5446b8417e91489fd3d9da18b12ccda3a4ad1c7 Mon Sep 17 00:00:00 2001 From: dab246 Date: Wed, 28 Feb 2024 08:50:34 +0700 Subject: [PATCH] TF-2520 Add print icon in email view Signed-off-by: dab246 --- assets/images/ic_printer.svg | 8 ++++++++ core/lib/presentation/resources/image_paths.dart | 1 + .../widgets/email_view_app_bar_widget.dart | 12 ++++++++++++ lib/l10n/intl_messages.arb | 8 +++++++- lib/main/localizations/app_localizations.dart | 6 ++++++ model/lib/email/email_action_type.dart | 3 ++- 6 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 assets/images/ic_printer.svg diff --git a/assets/images/ic_printer.svg b/assets/images/ic_printer.svg new file mode 100644 index 000000000..6124111b1 --- /dev/null +++ b/assets/images/ic_printer.svg @@ -0,0 +1,8 @@ + + + + diff --git a/core/lib/presentation/resources/image_paths.dart b/core/lib/presentation/resources/image_paths.dart index 73c0b545f..d45c429c9 100644 --- a/core/lib/presentation/resources/image_paths.dart +++ b/core/lib/presentation/resources/image_paths.dart @@ -209,6 +209,7 @@ class ImagePaths { String get icFilterSB => _getImagePath('ic_filter_sb.svg'); String get icUnsubscribe => _getImagePath('ic_unsubscribe.svg'); String get icRecoverDeletedMessages => _getImagePath('ic_recover_deleted_messages.svg'); + String get icPrinter => _getImagePath('ic_printer.svg'); String _getImagePath(String imageName) { return AssetsPaths.images + imageName; diff --git a/lib/features/email/presentation/widgets/email_view_app_bar_widget.dart b/lib/features/email/presentation/widgets/email_view_app_bar_widget.dart index 9d079036e..3d4eed998 100644 --- a/lib/features/email/presentation/widgets/email_view_app_bar_widget.dart +++ b/lib/features/email/presentation/widgets/email_view_app_bar_widget.dart @@ -100,6 +100,18 @@ class EmailViewAppBarWidget extends StatelessWidget { ) ), const SizedBox(width: EmailViewAppBarWidgetStyles.space), + TMailButtonWidget.fromIcon( + icon: _imagePaths.icPrinter, + iconSize: EmailViewAppBarWidgetStyles.deleteButtonIconSize, + backgroundColor: Colors.transparent, + padding: EmailViewAppBarWidgetStyles.buttonPadding, + tooltipMessage: AppLocalizations.of(context).printAll, + onTapActionCallback: () => onEmailActionClick?.call( + presentationEmail, + EmailActionType.printAll + ) + ), + const SizedBox(width: EmailViewAppBarWidgetStyles.space), TMailButtonWidget.fromIcon( icon: _imagePaths.icDeleteComposer, iconSize: EmailViewAppBarWidgetStyles.deleteButtonIconSize, diff --git a/lib/l10n/intl_messages.arb b/lib/l10n/intl_messages.arb index 6a71f4b9f..a912532cd 100644 --- a/lib/l10n/intl_messages.arb +++ b/lib/l10n/intl_messages.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2024-02-29T15:17:25.888801", + "@@last_modified": "2024-02-28T08:48:33.734928", "initializing_data": "Initializing data...", "@initializing_data": { "type": "text", @@ -3653,5 +3653,11 @@ "type": "text", "placeholders_order": [], "placeholders": {} + }, + "printAll": "Print all", + "@printAll": { + "type": "text", + "placeholders_order": [], + "placeholders": {} } } \ No newline at end of file diff --git a/lib/main/localizations/app_localizations.dart b/lib/main/localizations/app_localizations.dart index 07b228856..66e3ea8fd 100644 --- a/lib/main/localizations/app_localizations.dart +++ b/lib/main/localizations/app_localizations.dart @@ -3806,4 +3806,10 @@ class AppLocalizations { 'External domain', name: 'externalDomain'); } + + String get printAll { + return Intl.message( + 'Print all', + name: 'printAll'); + } } \ No newline at end of file diff --git a/model/lib/email/email_action_type.dart b/model/lib/email/email_action_type.dart index 2b3b646cc..e9a7b4460 100644 --- a/model/lib/email/email_action_type.dart +++ b/model/lib/email/email_action_type.dart @@ -26,5 +26,6 @@ enum EmailActionType { createRule, unsubscribe, composeFromUnsubscribeMailtoLink, - archiveMessage + archiveMessage, + printAll } \ No newline at end of file