13 * |
13 * |
14 * Description: Key class for message sorting |
14 * Description: Key class for message sorting |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 // <qmail> Are AknUtils available in 10.1? |
|
19 // <cmail> |
18 // <cmail> |
20 #include <AknUtils.h> |
19 #include <AknUtils.h> |
21 // </cmail> |
20 // </cmail> |
22 // </qmail> |
|
23 |
21 |
24 #include "emailtrace.h" |
22 #include "emailtrace.h" |
25 #include "ipsplgheaders.h" |
23 #include "ipsplgheaders.h" |
26 |
24 |
27 const TInt KLessThan = -1; |
25 const TInt KLessThan = -1; |
28 const TInt KMoreThan = 1; |
26 const TInt KMoreThan = 1; |
29 const TInt KEqual = 0; |
27 const TInt KEqual = 0; |
30 |
28 |
31 _LIT(KDefaultSubjectPrefixSeparator,": "); |
29 _LIT(KDefaultSubjectPrefixSeparator,": "); |
32 // <cmail> |
30 // <cmail> |
33 // <qmail> Cmail bugfix uses AknUtils (available in 10.1?) - commented out until it is clear |
31 _LIT( KCharsToReplace, "\r\n\t\x2028\x2029" ); |
34 //_LIT( KCharsToReplace, "\r\n\t\x2028\x2029" ); |
|
35 // <qmail> |
|
36 // </cmail> |
32 // </cmail> |
37 |
33 |
38 // --------------------------------------------------------------------------- |
34 // --------------------------------------------------------------------------- |
39 // Basic sonstructor |
35 // Basic sonstructor |
40 // --------------------------------------------------------------------------- |
36 // --------------------------------------------------------------------------- |
214 const TDesC& aLeft, |
210 const TDesC& aLeft, |
215 const TDesC& aRight ) const |
211 const TDesC& aRight ) const |
216 { |
212 { |
217 FUNC_LOG; |
213 FUNC_LOG; |
218 TInt result( KEqual ); |
214 TInt result( KEqual ); |
219 TPtrC leftPtr( aLeft ); |
215 const TInt leftOffset = FindSubjectStart( aLeft ); |
220 TPtrC rightPtr( aRight ); |
216 const TInt rightOffset = FindSubjectStart( aRight ); |
221 TInt leftOffset( FindSubjectStart( aLeft ) ); |
217 TPtrC leftPtr( aLeft.Ptr() + leftOffset, aLeft.Length() - leftOffset ); |
222 TInt rightOffset( FindSubjectStart( aRight ) ); |
218 TPtrC rightPtr( aRight.Ptr() + rightOffset, aRight.Length() - rightOffset ); |
223 |
219 |
224 leftPtr.Set( |
220 // for unifying with UI - remove all white spaces |
225 leftPtr.Ptr() + leftOffset, leftPtr.Length() - leftOffset ); |
221 HBufC* croppedLeft = leftPtr.Alloc(); |
226 rightPtr.Set( |
222 HBufC* croppedRight = rightPtr.Alloc(); |
227 rightPtr.Ptr() + rightOffset, rightPtr.Length() - rightOffset ); |
223 |
228 |
224 // Comparison is done only when allocation succeeds |
229 // <qmail> Are AknUtils available in 10.1? |
225 if ( croppedLeft && croppedRight ) |
230 // <cmail> for unifying with UI - remove all white spaces |
226 { |
231 /*HBufC* croppedLeft = leftPtr.AllocLC(); |
227 TPtr croppedLeftPtr = croppedLeft->Des(); |
232 TPtr croppedLeftPtr = croppedLeft->Des(); |
228 TPtr croppedRightPtr = croppedRight->Des(); |
233 HBufC* croppedRight = rightPtr.AllocLC(); |
229 |
234 TPtr croppedRightPtr = croppedRight->Des(); |
230 AknTextUtils::ReplaceCharacters( croppedLeftPtr, KCharsToReplace, ' ' ); |
235 |
231 croppedLeftPtr.TrimAll(); |
236 AknTextUtils::ReplaceCharacters( croppedLeftPtr, KCharsToReplace, ' ' ); |
232 AknTextUtils::ReplaceCharacters( croppedRightPtr, KCharsToReplace, ' ' ); |
237 croppedLeftPtr.TrimAll(); |
233 croppedRightPtr.TrimAll(); |
238 AknTextUtils::ReplaceCharacters( croppedRightPtr, KCharsToReplace, ' ' ); |
234 |
239 croppedRightPtr.TrimAll(); |
235 result = croppedLeftPtr.CompareC( croppedRightPtr ); |
240 |
236 } |
241 result = croppedLeftPtr.CompareC( croppedRightPtr ); |
237 |
242 |
238 delete croppedRight; |
243 CleanupStack::PopAndDestroy( croppedRight ); |
239 delete croppedLeft; |
244 CleanupStack::PopAndDestroy( croppedLeft );*/ |
|
245 // </cmail> |
|
246 // </qmail> |
|
247 |
|
248 // <qmail> Remove line if above code is valid in 10.1 |
|
249 result = leftPtr.CompareC( rightPtr ); |
|
250 // </qmail> |
|
251 |
240 |
252 return result; |
241 return result; |
253 } |
242 } |
254 |
243 |
255 // --------------------------------------------------------------------------- |
244 // --------------------------------------------------------------------------- |