10 * Nokia Corporation - initial contribution. |
10 * Nokia Corporation - initial contribution. |
11 * |
11 * |
12 * Contributors: |
12 * Contributors: |
13 * |
13 * |
14 * Description : A visualizer for data items with plain text. |
14 * Description : A visualizer for data items with plain text. |
15 * Version : %version: tr1sido#18 % |
15 * Version : %version: tr1sido#17 % |
16 * |
16 * |
17 */ |
17 */ |
18 |
18 |
|
19 |
|
20 //<cmail> removed __FS_ALFRED_SUPPORT flag |
|
21 //#include <fsconfig.h> |
|
22 //</cmail> removed __FS_ALFRED_SUPPORT flag |
19 #include "emailtrace.h" |
23 #include "emailtrace.h" |
20 #include <AknsUtils.h> |
24 #include <AknsUtils.h> |
21 #include <touchlogicalfeedback.h> |
25 #include <touchlogicalfeedback.h> |
22 |
26 |
23 #include "fstreeplaintwolineitemvisualizer.h" |
27 #include "fstreeplaintwolineitemvisualizer.h" |
24 #include "fstreeplaintwolineitemdata.h" |
28 #include "fstreeplaintwolineitemdata.h" |
25 #include "fsgenericpanic.h" |
29 #include "fsgenericpanic.h" |
26 #include "fslayoutmanager.h" |
30 #include "fslayoutmanager.h" |
27 #include "fstextstylemanager.h" |
31 #include "fstextstylemanager.h" |
28 #include "fsmarqueeclet.h" |
32 #include "fsmarqueeclet.h" |
29 |
33 // <cmail> SF |
30 #include <alf/alfanchorlayout.h> |
34 #include <alf/alfanchorlayout.h> |
31 #include <alf/alfimagevisual.h> |
35 #include <alf/alfimagevisual.h> |
32 #include <alf/alfviewportlayout.h> |
36 #include <alf/alfviewportlayout.h> |
33 #include <alf/alftextvisual.h> |
37 #include <alf/alftextvisual.h> |
34 #include <alf/alfimage.h> |
38 #include <alf/alfimage.h> |
35 #include <alf/alfenv.h> |
39 #include <alf/alfenv.h> |
36 #include <alf/alfcontrol.h> |
40 #include <alf/alfcontrol.h> |
|
41 |
37 #include <alf/alfevent.h> |
42 #include <alf/alfevent.h> |
38 #include <alf/alfmappingfunctions.h> |
43 #include <alf/alfmappingfunctions.h> |
|
44 // </cmail> |
39 |
45 |
40 // ======== MEMBER FUNCTIONS ======== |
46 // ======== MEMBER FUNCTIONS ======== |
41 |
47 |
42 // --------------------------------------------------------------------------- |
48 // --------------------------------------------------------------------------- |
43 // Two-phased constructor. |
49 // Two-phased constructor. |
264 TAlfTimedPoint tpSubjTextTl, tpSubjTextBr; |
270 TAlfTimedPoint tpSubjTextTl, tpSubjTextBr; |
265 TAlfTimedPoint tpPrevTextTl, tpPrevTextBr; |
271 TAlfTimedPoint tpPrevTextTl, tpPrevTextBr; |
266 |
272 |
267 CFsLayoutManager::TFsLayoutMetrics |
273 CFsLayoutManager::TFsLayoutMetrics |
268 mainIconMetrics = CFsLayoutManager::EFsLmListSingleDycRowPaneG1, |
274 mainIconMetrics = CFsLayoutManager::EFsLmListSingleDycRowPaneG1, |
269 markIconMetrics = CFsLayoutManager::EFsLmListSingleDycRowPaneG1, |
275 markIconMetrics = CFsLayoutManager::EFsLmListSingleDycRowPaneG4, |
270 menuIconMetrics = CFsLayoutManager::EFsLmListSingleDycRowPaneG3, |
276 menuIconMetrics = CFsLayoutManager::EFsLmListSingleDycRowPaneG3, |
271 sizeMetrics = CFsLayoutManager::EFsLmListSingleDycRowPane, |
277 sizeMetrics = CFsLayoutManager::EFsLmListSingleDycRowPane, |
272 exSizeMetrics = CFsLayoutManager::EFsLmListSingleFsDycPane, |
278 exSizeMetrics = CFsLayoutManager::EFsLmListSingleFsDycPane, |
273 preSizeMetrics = CFsLayoutManager::EFsLmListSingleFsDycPane, |
279 preSizeMetrics = CFsLayoutManager::EFsLmListSingleFsDycPane, |
274 flagIconMetrics = CFsLayoutManager::EFsLmListSingleDycRowPaneG1; |
280 flagIconMetrics = CFsLayoutManager::EFsLmListSingleDycRowPaneG1; |
394 } |
400 } |
395 else |
401 else |
396 { |
402 { |
397 //mainIcon + markIcon |
403 //mainIcon + markIcon |
398 mainIconMetrics = |
404 mainIconMetrics = |
399 CFsLayoutManager::EFsLmListSingleDycRowPaneG2; |
405 CFsLayoutManager::EFsLmListSingleDycRowPaneG1; |
400 mainIconVariety = 2; |
406 mainIconVariety = 4; |
401 markIconMetrics = |
407 markIconMetrics = |
402 CFsLayoutManager::EFsLmListSingleDycRowPaneG1; |
408 CFsLayoutManager::EFsLmListSingleDycRowPaneG4; |
403 markIconVariety = 2; |
409 markIconVariety = 3; |
404 firstLineTextParentVariety = 2; |
410 firstLineTextParentVariety = 4; |
405 if (firstLineTextFields==1) |
411 if (firstLineTextFields==1) |
406 { |
412 { |
407 firstLineTextMetrics[0] = |
413 firstLineTextMetrics[0] = |
408 CFsLayoutManager::EFsLmListSingleDycRowTextPaneT1; |
414 CFsLayoutManager::EFsLmListSingleDycRowTextPaneT1; |
409 firstLineTextVarieties[0] = 4; |
415 firstLineTextVarieties[0] = 4; |
410 } |
416 } |
411 else if (firstLineTextFields==2) |
417 else if (firstLineTextFields==2) |
412 { |
418 { |
413 firstLineTextMetrics[0] = |
419 firstLineTextMetrics[0] = |
414 CFsLayoutManager::EFsLmListSingleDycRowTextPaneT1; |
420 CFsLayoutManager::EFsLmListSingleDycRowTextPaneT1; |
415 firstLineTextVarieties[0] = 11; |
421 firstLineTextVarieties[0] = 13; |
416 firstLineTextMetrics[1] = |
422 firstLineTextMetrics[1] = |
417 CFsLayoutManager::EFsLmListSingleDycRowTextPaneT2; |
423 CFsLayoutManager::EFsLmListSingleDycRowTextPaneT2; |
418 firstLineTextVarieties[1] = 2; |
424 firstLineTextVarieties[1] = 4; |
419 } |
425 } |
420 } |
426 } |
421 } |
427 } |
422 else |
428 else |
423 { |
429 { |
1356 opacity.SetValueNow(0.0f); |
1364 opacity.SetValueNow(0.0f); |
1357 iIconFlagVisual->SetOpacity(opacity); |
1365 iIconFlagVisual->SetOpacity(opacity); |
1358 } |
1366 } |
1359 } |
1367 } |
1360 |
1368 |
1361 if ( iFlags & KFsTreeListMarkingMode && iIconMark ) |
1369 if ( IsMarked() && iIconMarked ) |
1362 { |
1370 { |
1363 |
1371 if (iIconMarked) |
1364 TRect iconRowParent = currentSize; |
1372 { |
1365 if (markIconRow > 0) |
1373 TRect iconRowParent = currentSize; |
1366 { |
1374 if (markIconRow > 0) |
1367 CFsLayoutManager::LayoutMetricsRect(currentSize, CFsLayoutManager::EFsLmListSingleDycRowPane, iconRowParent, markIconRow, markIconRow); |
1375 { |
1368 } |
1376 CFsLayoutManager::LayoutMetricsRect(currentSize, CFsLayoutManager::EFsLmListSingleDycRowPane, iconRowParent, markIconRow, markIconRow); |
1369 CFsLayoutManager::LayoutMetricsRect( |
1377 } |
1370 iconRowParent, |
1378 CFsLayoutManager::LayoutMetricsRect( |
1371 markIconMetrics, |
1379 iconRowParent, |
1372 rect, |
1380 markIconMetrics, |
1373 markIconVariety); |
1381 rect, |
1374 |
1382 markIconVariety); |
1375 tpMarkIconTl.SetTarget(TAlfRealPoint(rect.iTl)); |
1383 tpMarkIconTl.SetTarget(TAlfRealPoint(rect.iTl)); |
1376 tpMarkIconBr.SetTarget(TAlfRealPoint(rect.iBr)); |
1384 tpMarkIconBr.SetTarget(TAlfRealPoint(rect.iBr)); |
1377 |
1385 |
1378 TInt iconMarkedVisIndex = iLayout->FindVisual(iIconMark); |
1386 TInt iconMarkedVisIndex = |
1379 |
1387 iLayout->FindVisual(iIconMarked); |
1380 if ( iconMarkedVisIndex != KErrNotFound ) |
1388 if ( iconMarkedVisIndex != KErrNotFound ) |
1381 { |
1389 { |
1382 tpMarkIconTl.SetStyle(EAlfTimedValueStyleSineWave); |
1390 tpMarkIconTl.SetStyle(EAlfTimedValueStyleSineWave); |
1383 iLayout->SetAnchor(EAlfAnchorTopLeft, |
1391 iLayout->SetAnchor(EAlfAnchorTopLeft, |
1384 iconMarkedVisIndex, |
1392 iconMarkedVisIndex, |
1385 EAlfAnchorOriginLeft,EAlfAnchorOriginTop, |
1393 EAlfAnchorOriginLeft,EAlfAnchorOriginTop, |
1386 EAlfAnchorMetricAbsolute,EAlfAnchorMetricAbsolute, |
1394 EAlfAnchorMetricAbsolute,EAlfAnchorMetricAbsolute, |
1387 tpMarkIconTl ); |
1395 tpMarkIconTl ); |
1388 tpMarkIconBr.SetStyle(EAlfTimedValueStyleSineWave); |
1396 tpMarkIconBr.SetStyle(EAlfTimedValueStyleSineWave); |
1389 iLayout->SetAnchor(EAlfAnchorBottomRight, |
1397 iLayout->SetAnchor(EAlfAnchorBottomRight, |
1390 iconMarkedVisIndex, |
1398 iconMarkedVisIndex, |
1391 EAlfAnchorOriginLeft,EAlfAnchorOriginTop, |
1399 EAlfAnchorOriginLeft,EAlfAnchorOriginTop, |
1392 EAlfAnchorMetricAbsolute,EAlfAnchorMetricAbsolute, |
1400 EAlfAnchorMetricAbsolute,EAlfAnchorMetricAbsolute, |
1393 tpMarkIconBr ); |
1401 tpMarkIconBr ); |
1394 opacity.SetValueNow(1.0f); |
1402 } |
1395 iIconMark->SetOpacity(opacity); |
1403 } |
1396 } |
1404 opacity.SetValueNow(1.0f); |
|
1405 iIconMarked->SetOpacity(opacity); |
1397 } |
1406 } |
1398 else |
1407 else |
1399 { |
1408 { |
1400 if (iIconMark) |
1409 if (iIconMarked) |
1401 { |
1410 { |
1402 opacity.SetValueNow(0.0f); |
1411 opacity.SetValueNow(0.0f); |
1403 iIconMark->SetOpacity(opacity); |
1412 iIconMarked->SetOpacity(opacity); |
1404 } |
1413 } |
1405 } |
1414 } |
1406 |
1415 |
1407 if ( iPreviewPaneTextVisual ) |
1416 if ( iPreviewPaneTextVisual ) |
1408 { |
1417 { |
1409 if ( IsPreviewPaneOn() && ((iFlags & KFsTreeListItemAlwaysExtended) || |
1418 if ( IsPreviewPaneOn() && ((iFlags & KFsTreeListItemAlwaysExtended) || |
1494 iSecondaryTextVisual = CAlfTextVisual::AddNewL(iOwnerControl, |
1504 iSecondaryTextVisual = CAlfTextVisual::AddNewL(iOwnerControl, |
1495 iSecViewport); |
1505 iSecViewport); |
1496 iSecondaryTextVisual->SetFlag( EAlfVisualFlagIgnorePointer ); |
1506 iSecondaryTextVisual->SetFlag( EAlfVisualFlagIgnorePointer ); |
1497 } |
1507 } |
1498 |
1508 |
1499 if (!iIconMark) |
1509 if (!iIconMarked) |
1500 { |
1510 { |
1501 iIconMark = CAlfImageVisual::AddNewL( iOwnerControl, iLayout ); |
1511 iIconMarked = CAlfImageVisual::AddNewL( iOwnerControl, iLayout ); |
1502 iIconMark->SetScaleMode( CAlfImageVisual::EScaleFit ); |
1512 iIconMarked->SetScaleMode( CAlfImageVisual::EScaleFit ); |
1503 iIconMark->SetFlag( EAlfVisualFlagIgnorePointer ); |
1513 iIconMarked->SetFlag( EAlfVisualFlagIgnorePointer ); |
1504 } |
1514 } |
1505 |
1515 |
1506 if (!iIconMenu) |
1516 if (!iIconMenu) |
1507 { |
1517 { |
1508 iIconMenu = CAlfImageVisual::AddNewL(iOwnerControl, iLayout); |
1518 iIconMenu = |
|
1519 CAlfImageVisual::AddNewL(iOwnerControl, iLayout); |
1509 iIconMenu->SetScaleMode( CAlfImageVisual::EScaleFit ); |
1520 iIconMenu->SetScaleMode( CAlfImageVisual::EScaleFit ); |
1510 iIconMenu->SetFlag( EAlfVisualFlagIgnorePointer ); |
1521 iIconMenu->SetFlag( EAlfVisualFlagIgnorePointer ); |
1511 } |
1522 } |
1512 |
1523 |
1513 if (!iIconFlagVisual) |
1524 if (!iIconFlagVisual) |
1551 // --------------------------------------------------------------------------- |
1562 // --------------------------------------------------------------------------- |
1552 // |
1563 // |
1553 void CFsTreePlainTwoLineItemVisualizer::UpdateL( const MFsTreeItemData& aData, |
1564 void CFsTreePlainTwoLineItemVisualizer::UpdateL( const MFsTreeItemData& aData, |
1554 TBool aFocused, |
1565 TBool aFocused, |
1555 const TUint aLevel, |
1566 const TUint aLevel, |
1556 CAlfTexture*& aMarkOnIcon, |
1567 CAlfTexture*& aMarkIcon, |
1557 CAlfTexture*& aMarkOffIcon, |
|
1558 CAlfTexture*& aMenuIcon, |
1568 CAlfTexture*& aMenuIcon, |
1559 const TUint aTimeout, |
1569 const TUint aTimeout, |
1560 TBool aUpdateData) |
1570 TBool aUpdateData) |
1561 { |
1571 { |
1562 FUNC_LOG; |
1572 FUNC_LOG; |
1734 iFlags & KFsTreeListItemTextShadow); |
1744 iFlags & KFsTreeListItemTextShadow); |
1735 iDateTimeTextVisual->SetColor( textColor ); |
1745 iDateTimeTextVisual->SetColor( textColor ); |
1736 iDateTimeTextVisual->SetTextStyle( styleId ); |
1746 iDateTimeTextVisual->SetTextStyle( styleId ); |
1737 } |
1747 } |
1738 |
1748 |
1739 if ( IsMarked() && iIconMark && aMarkOnIcon ) |
1749 if ( IsMarked() && iIconMarked && aMarkIcon ) |
1740 { |
1750 { |
1741 iIconMark->SetScaleMode( CAlfImageVisual::EScaleFit ); |
1751 iIconMarked->SetScaleMode( CAlfImageVisual::EScaleFit ); |
1742 iIconMark->SetImage( *aMarkOnIcon ); |
1752 iIconMarked->SetImage( *aMarkIcon ); |
1743 } |
|
1744 else if ( !IsMarked() && iIconMark && aMarkOffIcon ) |
|
1745 { |
|
1746 iIconMark->SetScaleMode( CAlfImageVisual::EScaleFit ); |
|
1747 iIconMark->SetImage( *aMarkOffIcon ); |
|
1748 } |
1753 } |
1749 |
1754 |
1750 //menu icon - visible only when item is focused |
1755 //menu icon - visible only when item is focused |
1751 if ((iFlags & KFsTreeListItemHasMenu) && (iFlags & KFsTreeListItemFocused)) |
1756 if ((iFlags & KFsTreeListItemHasMenu) && (iFlags & KFsTreeListItemFocused)) |
1752 { |
1757 { |