phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlaunchercustomlistboxdata.cpp
branchRCL_3
changeset 39 a6539d1e8e43
parent 21 b3431bff8c19
child 64 c1e8ba0c2b16
--- a/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlaunchercustomlistboxdata.cpp	Tue May 25 12:26:45 2010 +0300
+++ b/phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/src/ccappcommlaunchercustomlistboxdata.cpp	Wed Jun 09 09:26:27 2010 +0300
@@ -41,6 +41,9 @@
 #include <AknFontId.h>
 #include <AknLayoutFont.h>
 
+#include <AknIconArray.h>
+#include <avkon.mbg>
+
 #include "ccappcommlaunchercustomlistboxdata.h"
 
 #ifdef RD_UI_TRANSITION_EFFECTS_LIST
@@ -180,6 +183,7 @@
                              TBool aUseLogicalToVisualConversion, 
                              const TRgb &aColor);
     TInt ConvertTextToSmiley( TDes& aText );
+    void LoadMarkingIconsL();
 private:
 	// New internal methods
 	TBool DrawHighlightBackground(CFbsBitGc& aGc);
@@ -275,6 +279,7 @@
 	TBool iKineticScrolling;
     CAknSmileyManager* iSmileyMan;
     TSize iSmileySize; // last set simley size
+    CAknIconArray* iMarkingIconArray;
 	};
 
 /**
@@ -322,6 +327,9 @@
 #endif
 
 	iKineticScrolling = CAknPhysics::FeatureEnabled();
+#ifdef RD_TOUCH2_MARKING
+    LoadMarkingIconsL();
+#endif // RD_TOUCH2_MARKING
 	}
 
 CCCAppCommLauncherCustomListBoxDataExtension::~CCCAppCommLauncherCustomListBoxDataExtension()
@@ -348,6 +356,12 @@
 	delete iAnimation;
 	delete iColorBmp;
 	delete iHiliBmp;
+
+    if ( iMarkingIconArray )
+        {
+        iMarkingIconArray->ResetAndDestroy();
+        }
+    delete iMarkingIconArray;
 	}
 
 void CCCAppCommLauncherCustomListBoxDataExtension::AddRowAndSubCellL(TInt aRow,
@@ -660,6 +674,9 @@
 	DeleteAnim();
 	TryCreateAnimation();
 	TRAP_IGNORE( CreateColorBitmapsL() );
+#ifdef RD_TOUCH2_MARKING
+    TRAP_IGNORE( LoadMarkingIconsL() );
+#endif //  RD_TOUCH2_MARKING
 	}
 
 // -----------------------------------------------------------------------------
@@ -1203,6 +1220,44 @@
     return err == KErrNone ? count : err;
     }
 
+// -----------------------------------------------------------------------------
+// CCCAppCommLauncherCustomListBoxDataExtension::LoadMarkingIconsL
+// -----------------------------------------------------------------------------
+//
+void CCCAppCommLauncherCustomListBoxDataExtension::LoadMarkingIconsL()
+    {
+#ifdef RD_TOUCH2_MARKING
+    if ( !iMarkingIconArray )
+        {
+        iMarkingIconArray = new ( ELeave ) CAknIconArray( 2 );
+        }
+    else
+        {
+        iMarkingIconArray->ResetAndDestroy();
+        }
+
+    CGulIcon* icon = AknsUtils::CreateGulIconL( AknsUtils::SkinInstance(), 
+            KAknsIIDQgnPropCheckboxOn, 
+            AknIconUtils::AvkonIconFileName(), 
+            EMbmAvkonQgn_prop_checkbox_on, 
+            EMbmAvkonQgn_prop_checkbox_on_mask );
+    
+    CleanupStack::PushL( icon );
+    iMarkingIconArray->AppendL( icon );
+    CleanupStack::Pop( icon );
+
+    icon = AknsUtils::CreateGulIconL( AknsUtils::SkinInstance(), 
+            KAknsIIDQgnPropCheckboxOff, 
+            AknIconUtils::AvkonIconFileName(), 
+            EMbmAvkonQgn_prop_checkbox_off, 
+            EMbmAvkonQgn_prop_checkbox_off_mask );
+
+    CleanupStack::PushL( icon );
+    iMarkingIconArray->AppendL( icon );
+    CleanupStack::Pop( icon );
+#endif // RD_TOUCH2_MARKING
+    }
+
  CCoeControl *CCCAppCommLauncherCustomListBoxData::Control() const
 	{
 	return iExtension->iControl;