TF-3189 new option to copy a folder's subaddress

This commit is contained in:
Florent Azavant
2024-11-29 14:29:59 +01:00
committed by Dat H. Pham
parent 89d80fe142
commit f1ec1d7324
12 changed files with 181 additions and 7 deletions
@@ -16,6 +16,7 @@ enum MailboxActions {
markAsRead,
selectForRuleAction,
openInNewTab,
copySubaddress,
disableSpamReport,
enableSpamReport,
disableMailbox,
@@ -50,6 +51,8 @@ extension MailboxActionsExtension on MailboxActions {
switch(this) {
case MailboxActions.openInNewTab:
return AppLocalizations.of(context).openInNewTab;
case MailboxActions.copySubaddress:
return AppLocalizations.of(context).copySubaddress;
case MailboxActions.newSubfolder:
return AppLocalizations.of(context).newSubfolder;
case MailboxActions.disableSpamReport:
@@ -89,6 +92,8 @@ extension MailboxActionsExtension on MailboxActions {
switch(this) {
case MailboxActions.openInNewTab:
return imagePaths.icOpenInNewTab;
case MailboxActions.copySubaddress:
return imagePaths.icCopy;
case MailboxActions.newSubfolder:
return imagePaths.icAddNewFolder;
case MailboxActions.disableSpamReport:
@@ -181,6 +186,7 @@ extension MailboxActionsExtension on MailboxActions {
ContextMenuItemState getContextMenuItemState(PresentationMailbox mailbox) {
switch(this) {
case MailboxActions.openInNewTab:
case MailboxActions.copySubaddress:
case MailboxActions.newSubfolder:
case MailboxActions.disableSpamReport:
case MailboxActions.enableSpamReport:
@@ -121,7 +121,7 @@ class MailboxTree with EquatableMixin {
return false;
}
String? getNodePath(MailboxId mailboxId) {
String? getNodePath(MailboxId mailboxId, String pathSeparator) {
final matchedNode = findNode((node) => node.item.id == mailboxId);
if (matchedNode == null) {
return null;
@@ -141,9 +141,9 @@ class MailboxTree with EquatableMixin {
break;
}
if (currentContext != null) {
path = '${parentNode.item.getDisplayName(currentContext!)}/$path';
path = '${parentNode.item.getDisplayName(currentContext!)}$pathSeparator$path';
} else {
path = '${parentNode.item.name?.name}/$path';
path = '${parentNode.item.name?.name}$pathSeparator$path';
}
parentId = parentNode.item.parentId;
}