Skip to content

Commit ec33cc7

Browse files
bshmarinBoris Shmarin
authored and
Boris Shmarin
committed
[nemo-qml-plugin-email] Add OriginalSubject sorting order. Contributes to JB#6059
1 parent dbb3961 commit ec33cc7

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

src/emailmessagelistmodel.cpp

+6-3
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ EmailMessageListModel::EmailMessageListModel(QObject *parent)
6464
roles[MessageSizeSectionRole] = "sizeSection";
6565
roles[MessageFolderIdRole] = "folderId";
6666
roles[MessageParsedSubject] = "parsedSubject";
67-
roles[MessageTrimmedSubject] = "trimmedSubject";
67+
roles[MessageOriginalSubject] = "originalSubject";
6868
roles[MessageHasCalendarCancellationRole] = "hasCalendarCancellation";
6969

7070
m_key = key();
@@ -237,9 +237,9 @@ QVariant EmailMessageListModel::data(const QModelIndex & index, int role) const
237237
subject.replace(QRegExp("<\\s*img", Qt::CaseInsensitive), "<no-img");
238238
subject.replace(QRegExp("<\\s*a", Qt::CaseInsensitive), "<no-a");
239239
return subject;
240-
} else if (role == MessageTrimmedSubject) {
240+
} else if (role == MessageOriginalSubject) {
241241
QString subject = QMailMessageListModel::data(index, QMailMessageModelBase::MessageSubjectTextRole).toString();
242-
return subject.replace(QRegExp(QStringLiteral("^(re:|fw:|fwd:|\\s*)*"), Qt::CaseInsensitive), QString());
242+
return subject.replace(QRegExp(QStringLiteral("^(re:|fw:|fwd:|\\s*|\\\")*"), Qt::CaseInsensitive), QString());
243243
} else if (role == MessageHasCalendarCancellationRole) {
244244
return (messageMetaData.status() & QMailMessageMetaData::CalendarCancellation) != 0;
245245
}
@@ -446,6 +446,9 @@ void EmailMessageListModel::sortByOrder(Qt::SortOrder sortOrder, EmailMessageLis
446446
case Subject:
447447
m_sortKey = QMailMessageSortKey::subject(sortOrder);
448448
break;
449+
case OriginalSubject:
450+
m_sortKey = QMailMessageSortKey::originalSubject(sortOrder);
451+
break;
449452
case Time:
450453
m_sortKey = QMailMessageSortKey::timeStamp(sortOrder);
451454
break;

src/emailmessagelistmodel.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,13 @@ class Q_DECL_EXPORT EmailMessageListModel : public QMailMessageListModel
7171
MessageSizeSectionRole, // returns size section (0-2)
7272
MessageFolderIdRole, // returns parent folder id for the message
7373
MessageParsedSubject, // returns the message subject parsed against a pre-defined regular expression
74-
MessageTrimmedSubject, // returns the message subject without Re: and Fwd: prefixes
74+
MessageOriginalSubject, // returns the message subject without Re: and Fwd: prefixes
7575
MessageHasCalendarCancellationRole, // returns 1 if message has a calendar cancellation, 0 otherwise
7676
};
7777

7878
enum Priority { LowPriority, NormalPriority, HighPriority };
7979

80-
enum Sort { Time, Sender, Size, ReadStatus, Priority, Attachments, Subject, Recipients };
80+
enum Sort { Time, Sender, Size, ReadStatus, Priority, Attachments, Subject, Recipients, OriginalSubject };
8181

8282
enum SearchOn { LocalAndRemote, Local, Remote };
8383

0 commit comments

Comments
 (0)