TF-4066 Display Unread, Starred in list quick search button in dashboard view
This commit is contained in:
@@ -17,6 +17,7 @@ enum QuickSearchFilter {
|
||||
last7Days,
|
||||
fromMe,
|
||||
starred,
|
||||
unread,
|
||||
sortBy,
|
||||
dateTime,
|
||||
from,
|
||||
@@ -58,6 +59,8 @@ enum QuickSearchFilter {
|
||||
return AppLocalizations.of(context).to_email_address_prefix;
|
||||
case QuickSearchFilter.starred:
|
||||
return AppLocalizations.of(context).starred;
|
||||
case QuickSearchFilter.unread:
|
||||
return AppLocalizations.of(context).unread;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,7 +83,9 @@ enum QuickSearchFilter {
|
||||
case QuickSearchFilter.folder:
|
||||
return imagePaths.icFolderMailbox;
|
||||
case QuickSearchFilter.starred:
|
||||
return isSelected ? imagePaths.icSelectedSB : imagePaths.icStar;
|
||||
return isSelected ? imagePaths.icSelectedSB : imagePaths.icUnStar;
|
||||
case QuickSearchFilter.unread:
|
||||
return isSelected ? imagePaths.icSelectedSB : imagePaths.icUnread;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,11 +117,7 @@ enum QuickSearchFilter {
|
||||
if (isSelected) {
|
||||
return AppColor.primaryColor;
|
||||
} else {
|
||||
if (this == QuickSearchFilter.starred) {
|
||||
return AppColor.colorStarredSearchFilterIcon;
|
||||
} else {
|
||||
return AppColor.colorSearchFilterIcon;
|
||||
}
|
||||
return AppColor.colorSearchFilterIcon;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,6 +150,8 @@ enum QuickSearchFilter {
|
||||
return searchFilter.mailbox != null;
|
||||
case QuickSearchFilter.starred:
|
||||
return searchFilter.hasKeyword.contains(KeyWordIdentifier.emailFlagged.value) == true;
|
||||
case QuickSearchFilter.unread:
|
||||
return searchFilter.unread;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ class SearchEmailFilter with EquatableMixin, OptionParamMixin {
|
||||
final PresentationMailbox? mailbox;
|
||||
final EmailReceiveTimeType emailReceiveTimeType;
|
||||
final bool hasAttachment;
|
||||
final bool unread;
|
||||
final UTCDate? before;
|
||||
final UTCDate? startDate;
|
||||
final UTCDate? endDate;
|
||||
@@ -52,6 +53,7 @@ class SearchEmailFilter with EquatableMixin, OptionParamMixin {
|
||||
Set<String>? to,
|
||||
EmailReceiveTimeType? emailReceiveTimeType,
|
||||
bool? hasAttachment,
|
||||
bool? unread,
|
||||
Set<String>? notKeyword,
|
||||
Set<String>? hasKeyword,
|
||||
EmailSortOrderType? sortOrderType,
|
||||
@@ -60,6 +62,7 @@ class SearchEmailFilter with EquatableMixin, OptionParamMixin {
|
||||
notKeyword = notKeyword ?? <String>{},
|
||||
hasKeyword = hasKeyword ?? <String>{},
|
||||
hasAttachment = hasAttachment ?? false,
|
||||
unread = unread ?? false,
|
||||
emailReceiveTimeType =
|
||||
emailReceiveTimeType ?? EmailReceiveTimeType.allTime,
|
||||
sortOrderType = sortOrderType ?? defaultSortOrder;
|
||||
@@ -74,6 +77,7 @@ class SearchEmailFilter with EquatableMixin, OptionParamMixin {
|
||||
Option<PresentationMailbox>? mailboxOption,
|
||||
Option<EmailReceiveTimeType>? emailReceiveTimeTypeOption,
|
||||
Option<bool>? hasAttachmentOption,
|
||||
Option<bool>? unreadOption,
|
||||
Option<UTCDate>? beforeOption,
|
||||
Option<UTCDate>? startDateOption,
|
||||
Option<UTCDate>? endDateOption,
|
||||
@@ -90,6 +94,7 @@ class SearchEmailFilter with EquatableMixin, OptionParamMixin {
|
||||
mailbox: getOptionParam(mailboxOption, mailbox),
|
||||
emailReceiveTimeType: getOptionParam(emailReceiveTimeTypeOption, emailReceiveTimeType),
|
||||
hasAttachment: getOptionParam(hasAttachmentOption, hasAttachment),
|
||||
unread: getOptionParam(unreadOption, unread),
|
||||
before: getOptionParam(beforeOption, before),
|
||||
startDate: getOptionParam(startDateOption, startDate),
|
||||
endDate: getOptionParam(endDateOption, endDate),
|
||||
@@ -118,6 +123,7 @@ class SearchEmailFilter with EquatableMixin, OptionParamMixin {
|
||||
hasKeyword: hasKeyword.length == 1
|
||||
? hasKeyword.first
|
||||
: null,
|
||||
notKeyword: unread ? KeyWordIdentifier.emailSeen.value : null,
|
||||
);
|
||||
|
||||
final listEmailCondition = {
|
||||
@@ -197,7 +203,8 @@ class SearchEmailFilter with EquatableMixin, OptionParamMixin {
|
||||
emailReceiveTimeType != EmailReceiveTimeType.allTime ||
|
||||
sortOrderType != SearchEmailFilter.defaultSortOrder ||
|
||||
(mailbox != null && mailbox?.id != PresentationMailbox.unifiedMailbox.id) ||
|
||||
hasAttachment;
|
||||
hasAttachment ||
|
||||
unread;
|
||||
|
||||
bool get isContainFlagged => hasKeyword.contains(KeyWordIdentifier.emailFlagged.value);
|
||||
|
||||
@@ -212,6 +219,7 @@ class SearchEmailFilter with EquatableMixin, OptionParamMixin {
|
||||
mailbox,
|
||||
emailReceiveTimeType,
|
||||
hasAttachment,
|
||||
unread,
|
||||
before,
|
||||
startDate,
|
||||
endDate,
|
||||
|
||||
Reference in New Issue
Block a user