--- a/emailuis/uicomponents/src/fstreevisualizerbase.cpp Wed Sep 15 11:52:37 2010 +0300
+++ b/emailuis/uicomponents/src/fstreevisualizerbase.cpp Wed Oct 13 14:11:15 2010 +0300
@@ -24,6 +24,7 @@
#include <centralrepository.h>
//////TOOLKIT INCLUDES
+// <cmail> SF
#include <alf/alfstatic.h>
#include <alf/alfownership.h>
#include <alf/alfevent.h>
@@ -49,6 +50,7 @@
//visuals
#include <alf/alfvisual.h>
#include <alf/alfimagevisual.h>
+// </cmail>
//////PROJECT INCLUDES
@@ -362,6 +364,8 @@
aItems.Reset();
TInt i(0);
aOffset = 0;
+ aBeginIndex = KErrNotFound;
+
if (aY > Height())
{
aHeight = -1;
@@ -1062,40 +1066,20 @@
// Sets icon for a mark sign.
// ---------------------------------------------------------------------------
//
-void CFsTreeVisualizerBase::SetMarkOnIcon(CAlfTexture& aMarkOnIcon)
+void CFsTreeVisualizerBase::SetMarkIcon(CAlfTexture& aMarkIcon)
{
FUNC_LOG;
- iMarkOnIcon = &aMarkOnIcon;
- }
-
-// ---------------------------------------------------------------------------
-// Sets icon for a unmark sign.
-// ---------------------------------------------------------------------------
-//
-void CFsTreeVisualizerBase::SetMarkOffIcon(CAlfTexture& aMarkOffIcon)
- {
- FUNC_LOG;
- iMarkOffIcon = &aMarkOffIcon;
+ iMarkIcon = &aMarkIcon;
}
// ---------------------------------------------------------------------------
// Returns icon used to mark items.
// ---------------------------------------------------------------------------
//
-CAlfTexture* CFsTreeVisualizerBase::MarkOnIcon()
+CAlfTexture* CFsTreeVisualizerBase::MarkIcon()
{
FUNC_LOG;
- return iMarkOnIcon;
- }
-
-// ---------------------------------------------------------------------------
-// Returns icon used to unmark items.
-// ---------------------------------------------------------------------------
-//
-CAlfTexture* CFsTreeVisualizerBase::MarkOffIcon()
- {
- FUNC_LOG;
- return iMarkOffIcon;
+ return iMarkIcon;
}
// ---------------------------------------------------------------------------
@@ -1127,7 +1111,7 @@
data = &(iTreeData->ItemData(aItemId));
vis->UpdateL(*data, IsItemFocused(aItemId) && IsFocusShown(),
- iTreeData->Level(aItemId), iMarkOnIcon, iMarkOffIcon, iMenuIcon);
+ iTreeData->Level(aItemId), iMarkIcon, iMenuIcon);
}
}
@@ -1287,8 +1271,7 @@
MakeSelectorVisibleL(EFalse);
visualizer->UpdateL(*data, EFalse,
iTreeData->Level(iFocusedItem),
- iMarkOnIcon, iMarkOffIcon,
- iMenuIcon, iCurrentScrollSpeed);
+ iMarkIcon, iMenuIcon, iCurrentScrollSpeed);
}
}
}
@@ -1299,57 +1282,6 @@
}
// ---------------------------------------------------------------------------
-// The functions sets wether all item in the list should be always in
-// extended state or in normal state.
-// ---------------------------------------------------------------------------
-//
-void CFsTreeVisualizerBase::SetMarkingModeL( TBool aMarkingMode )
- {
- FUNC_LOG;
- // Do not change this to: IsMarkingMode() != aAlwaysExtended, because
- // it will not work. TBool is defined as TInt and thus this comparison
- // comes out as TInt != TInt, which always evaluates true in this case.
- if ( ( IsMarkingMode() && !aMarkingMode ) ||
- ( !IsMarkingMode() && aMarkingMode ) )
- {
- iFlags.Assign(EMarkingMode, aMarkingMode);
- TFsTreeIterator treeIter(
- iTreeData->Iterator(KFsTreeRootID, KFsTreeRootID));
- while (treeIter.HasNext())
- {
- TFsTreeItemId itemId(treeIter.Next());
- if (itemId != KFsTreeNoneID && !iTreeData->IsNode(itemId))
- {
- MFsTreeItemVisualizer* itemviz(iTreeData->ItemVisualizer(itemId));
- ApplyListSpecificValuesToItem(itemviz);
- }
- }
- const TBool isUpdating(iWorld.IsUpdating());
- if (!isUpdating)
- {
- iWorld.BeginUpdate();
- }
- iWorld.RemoveAllL();
- treeIter = iTreeData->Iterator(KFsTreeRootID, KFsTreeRootID,
- KFsTreeIteratorSkipCollapsedFlag);
- while (treeIter.HasNext())
- {
- TFsTreeItemId itemId(treeIter.Next());
- if (itemId != KFsTreeNoneID)
- {
- MFsTreeItemVisualizer* itemviz(iTreeData->ItemVisualizer(itemId));
- iWorld.AppendL(itemId, itemviz->Size());
- }
- }
- iViewPort.ClearCache();
- if (!isUpdating)
- {
- iWorld.EndUpdateL();
- }
- }
- }
-
-// ---------------------------------------------------------------------------
// The function sets some properties of the selector like bitmap, type
// of movement.
// ---------------------------------------------------------------------------
@@ -1780,7 +1712,7 @@
if ( visualizer )
{
visualizer->UpdateL( iTreeData->ItemData( iFocusedItem ), EFalse,
- iTreeData->Level( iFocusedItem ), iMarkOnIcon, iMarkOffIcon, iMenuIcon, 0 );
+ iTreeData->Level( iFocusedItem ), iMarkIcon, iMenuIcon, 0 );
}
iFocusedItem = aItemId;
@@ -1791,8 +1723,7 @@
if ( visualizer )
{
visualizer->UpdateL( iTreeData->ItemData( iFocusedItem ), IsFocusShown(),
- iTreeData->Level( iFocusedItem ), iMarkOnIcon,
- iMarkOffIcon, iMenuIcon, 0 );
+ iTreeData->Level( iFocusedItem ), iMarkIcon, iMenuIcon, 0 );
}
if ( iFocusedItem != KFsTreeNoneID )
@@ -1841,6 +1772,7 @@
// Sets an item as first visible one in the list.
// ---------------------------------------------------------------------------
//
+// <cmail>
void CFsTreeVisualizerBase::SetFirstVisibleItemL(const TFsTreeItemId /*aItemId*/)
{
FUNC_LOG;
@@ -1856,6 +1788,9 @@
TFsTreeItemId retId = KFsTreeNoneID;
if (iVisibleItems.Count())
{
+ // <cmail>
+ // TRAP_IGNORE( ClearVisibleItemsListL(EFalse) );
+ // </cmail>
retId = iVisibleItems[0];
}
else
@@ -1889,6 +1824,7 @@
// Displays the list.
// ---------------------------------------------------------------------------
//
+// <cmail>
void CFsTreeVisualizerBase::ShowListL(const TBool aFadeIn,
const TBool aSlideIn)
{
@@ -1897,8 +1833,7 @@
if (iTreeData->Count() == 0)
{
iRootVisualizer->ShowL(*iRootLayout);
- iRootVisualizer->UpdateL(*iRootData, EFalse, 0, iMarkOnIcon,
- iMarkOffIcon, iMenuIcon);
+ iRootVisualizer->UpdateL(*iRootData, EFalse, 0, iMarkIcon, iMenuIcon);
}
else
{
@@ -1913,7 +1848,7 @@
if ( visualizer )
{
visualizer->UpdateL(iTreeData->ItemData(itemId), itemFocused,
- iTreeData->Level(itemId), iMarkOnIcon, iMarkOffIcon, iMenuIcon,
+ iTreeData->Level(itemId), iMarkIcon, iMenuIcon,
0);
}
}
@@ -1990,6 +1925,7 @@
UpdateScrollBarL();
}
+// </cmail>
// ---------------------------------------------------------------------------
// The function assures that the list view is correct.
@@ -2592,7 +2528,7 @@
vis->UpdateL(iTreeData->ItemData(aItemId),
IsItemFocused(aItemId) && IsFocusShown(),
iTreeData->Level(aItemId),
- iMarkOnIcon, iMarkOffIcon, iMenuIcon, 0);
+ iMarkIcon, iMenuIcon, 0);
}
}
}
@@ -2661,16 +2597,6 @@
}
// ---------------------------------------------------------------------------
-// The function returns if marking mode is on or off
-// ---------------------------------------------------------------------------
-//
-TBool CFsTreeVisualizerBase::IsMarkingMode()
- {
- FUNC_LOG;
- return iFlags.IsSet(EMarkingMode);
- }
-
-// ---------------------------------------------------------------------------
// Set the background texture, clears the background color.
// ---------------------------------------------------------------------------
//
@@ -2806,7 +2732,9 @@
iWatermark
= CFsWatermark::NewL(*iOwnerControl, *iWatermarkLayout);
}
+ // <cmail>
iWatermark->SetWatermarkTextureL(*aTexture);
+ // </cmail>
}
else
{
@@ -2918,8 +2846,8 @@
if (!iWorld.IsUpdating())
{
iRootVisualizer->ShowL(*iRootLayout);
- iRootVisualizer->UpdateL(*iRootData, EFalse, 0, iMarkOnIcon,
- iMarkOffIcon, iMenuIcon);
+ iRootVisualizer->UpdateL(*iRootData, EFalse, 0, iMarkIcon,
+ iMenuIcon);
}
iVisibleItems.Reset();
iWorld.RemoveAllL();
@@ -2941,7 +2869,7 @@
{
visualizer->UpdateL(iTreeData->ItemData(itemId),
IsItemFocused(itemId), iTreeData->Level(itemId),
- iMarkOnIcon, iMarkOffIcon, iMenuIcon, 0);
+ iMarkIcon, iMenuIcon, 0);
}
}
break;
@@ -3001,8 +2929,7 @@
if (iTreeData->Count() == 0)
{
iRootVisualizer->ShowL(*iRootLayout);
- iRootVisualizer->UpdateL(*iRootData, EFalse, 0, iMarkOnIcon,
- iMarkOffIcon, iMenuIcon);
+ iRootVisualizer->UpdateL(*iRootData, EFalse, 0, iMarkIcon, iMenuIcon);
}
else
{
@@ -3338,16 +3265,20 @@
if (iVisualizationState == EFsTreeVisible && iVisualizerObserver)
{
- TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
+ // <cmail> Touch
+ TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
MFsTreeVisualizerObserver::EFsTreeListVisualizerShown,
KFsTreeNoneID ));
+ // </cmail>
}
if (iVisualizationState == EFsTreeHidden && iVisualizerObserver)
{
- TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
+ // <cmail> Touch
+ TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
MFsTreeVisualizerObserver::EFsTreeListVisualizerHidden,
KFsTreeNoneID ));
+ // </cmail>
}
}
@@ -3396,7 +3327,8 @@
if (iVisualizationState == EFsTreeVisible && iVisualizerObserver)
{
- TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
+ // <cmail> Touch
+ TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
MFsTreeVisualizerObserver::EFsTreeListVisualizerShown,
KFsTreeNoneID ));
@@ -3404,9 +3336,10 @@
if (iVisualizationState == EFsTreeHidden && iVisualizerObserver)
{
- TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
+ TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
MFsTreeVisualizerObserver::EFsTreeListVisualizerHidden,
KFsTreeNoneID ));
+ // </cmail>
}
}
@@ -3862,8 +3795,7 @@
{
visualizer->UpdateL(iTreeData->ItemData(itemId),
IsItemFocused(itemId) && IsFocusShown(),
- iTreeData->Level(itemId), iMarkOnIcon, iMarkOffIcon,
- iMenuIcon, 0, EFalse);
+ iTreeData->Level(itemId), iMarkIcon, iMenuIcon, 0, EFalse);
}
}
UpdateSelectorVisualL();
@@ -3933,6 +3865,9 @@
border->SetLayer(EAlfBrushLayerBackground);
border->SetBorders(-8, -8, -8, -8);
+ //<cmail>
+ // layout values needed here (not: only used from FS action menu)
+ //</cmail>
iBorderLayout->SetPadding(TPoint(5, 5));
if (iBorderLayout->Brushes()->Count() > 0)
@@ -4614,8 +4549,6 @@
FUNC_LOG;
//list can have all items in extended or in a normal state
aItemVis->SetAlwaysExtended(IsItemsAlwaysExtended());
-
- aItemVis->SetMarkingMode(IsMarkingMode());
//global indentation in pixels for a list component
aItemVis->SetIndentation(iLevelIndentation);
@@ -4716,6 +4649,8 @@
return isFocused;
}
+// <cmail> "Base class modifications for using touch"
+
// ---------------------------------------------------------------------------
// C++ constructor.
// ---------------------------------------------------------------------------
@@ -4761,6 +4696,7 @@
iFlags.Assign( EPopupMode, aPopUpMode );
iFlags.Set( EExpandCollapseOnLongTap );
}
+// </cmail>
// ---------------------------------------------------------------------------
// Second phase constructor.
@@ -4974,6 +4910,7 @@
{
UpdatePhysicsL();
}
+ UpdateScrollBarL();
}
// ---------------------------------------------------------------------------
@@ -5019,8 +4956,8 @@
itemId);
visualizer->UpdateL(iTreeData->ItemData(itemId),
IsItemFocused(itemId) && IsFocusShown(),
- iTreeData->Level(itemId), iMarkOnIcon,
- iMarkOffIcon, iMenuIcon, 0);
+ iTreeData->Level(itemId), iMarkIcon, iMenuIcon,
+ 0);
}
}
CleanupStack::PopAndDestroy();
@@ -5076,7 +5013,7 @@
visualizerLayout.SetSize(tpItemSize);
visualizer->UpdateL(iTreeData->ItemData(itemId),
IsItemFocused(itemId) && IsFocusShown(),
- iTreeData->Level(itemId), iMarkOnIcon, iMarkOffIcon, iMenuIcon,
+ iTreeData->Level(itemId), iMarkIcon, iMenuIcon,
0);
visualizerLayout.PropertySetIntegerL(KPropertyItemId(), itemId);
visualizerLayout.Brushes()->AppendL(iBorderBrush,
@@ -5533,3 +5470,5 @@
return ( iTouchPressed || iFocusVisible ) && iFlags.IsClear( EListPanning );
}
+
+// </cmail>