152 // If sorting on date, override sort direction to descending |
152 // If sorting on date, override sort direction to descending |
153 filterProperties.iSortDirection = EGlxFilterSortDirectionOverrideToDescendingIfDate; |
153 filterProperties.iSortDirection = EGlxFilterSortDirectionOverrideToDescendingIfDate; |
154 return CreateCombinedFilterL(filterProperties); |
154 return CreateCombinedFilterL(filterProperties); |
155 } |
155 } |
156 |
156 |
|
157 // --------------------------------------------------------------------------- |
|
158 // Creates a preview TN filter object with one thumbnail |
|
159 // --------------------------------------------------------------------------- |
|
160 // |
|
161 EXPORT_C CMPXFilter* TGlxFilterFactory::CreatePreviewTNFilterL() |
|
162 { |
|
163 TGlxFilterProperties filterProperties; |
|
164 // Exclude empty containers |
|
165 filterProperties.iMinCount = 1; |
|
166 // If sorting on date, override sort direction to descending |
|
167 filterProperties.iSortDirection = EGlxFilterSortDirectionOverrideToDescendingIfDate; |
|
168 // Request only one item |
|
169 filterProperties.iMaxCount = 1; |
|
170 return CreateCombinedFilterL(filterProperties); |
|
171 } |
157 |
172 |
158 // --------------------------------------------------------------------------- |
173 // --------------------------------------------------------------------------- |
159 // Creates a preview filter object for container items (album, tags) |
174 // Creates a preview filter object for container items (album, tags) |
160 // --------------------------------------------------------------------------- |
175 // --------------------------------------------------------------------------- |
161 // |
176 // |
278 if( aOriginalFilter->IsSupported(KGlxFilterGeneralSortDirection) ) |
293 if( aOriginalFilter->IsSupported(KGlxFilterGeneralSortDirection) ) |
279 { |
294 { |
280 if( !aOverrideOriginal || ( EGlxFilterSortDirectionNotUsed == aFilterProperties.iSortDirection ) ) |
295 if( !aOverrideOriginal || ( EGlxFilterSortDirectionNotUsed == aFilterProperties.iSortDirection ) ) |
281 { |
296 { |
282 sortDirection = aOriginalFilter->ValueTObjectL<TGlxFilterSortDirection>(KGlxFilterGeneralSortDirection); |
297 sortDirection = aOriginalFilter->ValueTObjectL<TGlxFilterSortDirection>(KGlxFilterGeneralSortDirection); |
283 TBool descendIfDate = ( EGlxFilterSortDirectionOverrideToDescendingIfDate == sortDirection ) && ( ( EGlxFilterSortOrderCaptureDate == sortFilter ) || ( EGlxFilterSortOrderModifiedDate == sortFilter ) ); |
298 TBool descendIfDate = |
|
299 (EGlxFilterSortDirectionOverrideToDescendingIfDate == sortDirection) && |
|
300 ( (EGlxFilterSortOrderCaptureDate == sortFilter) || |
|
301 (EGlxFilterSortOrderModifiedDate == sortFilter) |
|
302 ); |
284 if( EGlxFilterSortDirectionReverse == sortDirection ) |
303 if( EGlxFilterSortDirectionReverse == sortDirection ) |
285 { |
304 { |
286 if( EGlxFilterSortDirectionDescending == aFilterProperties.iSortDirection ) |
305 if( EGlxFilterSortDirectionDescending == aFilterProperties.iSortDirection ) |
287 { |
306 { |
288 sortDirection = EGlxFilterSortDirectionAscending; |
307 sortDirection = EGlxFilterSortDirectionAscending; |
354 if( !(minCount == 0) ) |
373 if( !(minCount == 0) ) |
355 { |
374 { |
356 filter->SetTObjectValueL<TInt>(KGlxFilterGeneralMinCount, minCount); |
375 filter->SetTObjectValueL<TInt>(KGlxFilterGeneralMinCount, minCount); |
357 } |
376 } |
358 |
377 |
|
378 TInt maxCount = aFilterProperties.iMaxCount; |
|
379 if( aOriginalFilter->IsSupported(KGlxFilterGeneralMaxCount) ) |
|
380 { |
|
381 if( !aOverrideOriginal || ( 0 == aFilterProperties.iMaxCount ) ) |
|
382 { |
|
383 maxCount = aOriginalFilter->ValueTObjectL<TInt>(KGlxFilterGeneralMaxCount); |
|
384 } |
|
385 } |
|
386 if( !(maxCount == 0) ) |
|
387 { |
|
388 filter->SetTObjectValueL<TInt>(KGlxFilterGeneralMaxCount, maxCount); |
|
389 } |
359 |
390 |
360 TGlxMediaId itemId = aFilterProperties.iContainsItem; |
391 TGlxMediaId itemId = aFilterProperties.iContainsItem; |
361 if( aOriginalFilter->IsSupported(KGlxFilterGeneralItemId) ) |
392 if( aOriginalFilter->IsSupported(KGlxFilterGeneralItemId) ) |
362 { |
393 { |
363 if( !aOverrideOriginal || ( TGlxMediaId(0) == aFilterProperties.iContainsItem ) ) |
394 if( !aOverrideOriginal || ( TGlxMediaId(0) == aFilterProperties.iContainsItem ) ) |
513 } |
544 } |
514 if (aFilter->IsSupported(KGlxFilterGeneralMinCount)) |
545 if (aFilter->IsSupported(KGlxFilterGeneralMinCount)) |
515 { |
546 { |
516 filterProperties.iMinCount = aFilter->ValueTObjectL<TInt>(KGlxFilterGeneralMinCount); |
547 filterProperties.iMinCount = aFilter->ValueTObjectL<TInt>(KGlxFilterGeneralMinCount); |
517 } |
548 } |
|
549 if (aFilter->IsSupported(KGlxFilterGeneralMaxCount)) |
|
550 { |
|
551 filterProperties.iMaxCount = aFilter->ValueTObjectL<TInt>(KGlxFilterGeneralMaxCount); |
|
552 } |
518 if (aFilter->IsSupported(KGlxFilterGeneralItemId)) |
553 if (aFilter->IsSupported(KGlxFilterGeneralItemId)) |
519 { |
554 { |
520 filterProperties.iContainsItem = (TGlxMediaId)(TUint32)aFilter->ValueTObjectL<TMPXItemId>(KGlxFilterGeneralItemId); |
555 filterProperties.iContainsItem = (TGlxMediaId)(TUint32)aFilter->ValueTObjectL<TMPXItemId>(KGlxFilterGeneralItemId); |
521 } |
556 } |
522 if (aFilter->IsSupported(KGlxFilterGeneralExcludeAnimation)) |
557 if (aFilter->IsSupported(KGlxFilterGeneralExcludeAnimation)) |