--- a/classicui_plat/avkon_settings_api/inc/AvkonInternalCRKeys.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_plat/avkon_settings_api/inc/AvkonInternalCRKeys.h Mon Mar 15 12:41:34 2010 +0200
@@ -299,6 +299,18 @@
*/
const TUint32 KAknServiceCallNumber = 0x00000018;
+/**
+ * Value indicates the feature replacing 3.5G icon with 3G icon,
+ * required by ATT, is enabled.
+ *
+ * Possible values are:
+ *
+ * 0: 3.5G signal icon is replaced by 3G signal icon while in hsdpa network.
+ * 1: 3.5G signal icon is used in hsdpa network.
+ *
+ */
+const TUint32 KAknATTSignalIconEnable = 0x00000019;
+
const TUid KCRUidLeaveAppsInMemory = { 0x102858F2 };
/**
--- a/classicui_plat/extended_editors_api/inc/aknedwincustomdrawbase.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_plat/extended_editors_api/inc/aknedwincustomdrawbase.h Mon Mar 15 12:41:34 2010 +0200
@@ -25,6 +25,7 @@
class CTextView;
class CTextLayout;
+class MAknsSkinInstance;
#include <lafmain.h>
#include <AknPictographDrawerInterface.h>
@@ -192,6 +193,7 @@
CWindowGc* iSysGc;
CAknPictographInterface* iPictographDrawer; // owned
TInt iWsBufferRequestId;
+ MAknsSkinInstance* iSkinInstance;
};
#endif
--- a/classicui_plat/ganes_api/inc/ganes/HgDoubleGraphicList.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_plat/ganes_api/inc/ganes/HgDoubleGraphicList.h Mon Mar 15 12:41:34 2010 +0200
@@ -62,6 +62,7 @@
protected: // CHgScroller
void HandleSizeChanged();
+ void HandleScrollbarVisibilityChange(TBool aVisible);
protected: // CHgList
void DrawItem(TInt aIndex, const TRect& aRect) const;
--- a/classicui_plat/ganes_api/inc/ganes/HgDoubleTextList.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_plat/ganes_api/inc/ganes/HgDoubleTextList.h Mon Mar 15 12:41:34 2010 +0200
@@ -53,6 +53,7 @@
protected: // CHgScroller
void HandleSizeChanged();
+ void HandleScrollbarVisibilityChange(TBool aVisible);
protected: // CHgList
void DrawItem(TInt aIndex, const TRect& aRect) const;
--- a/classicui_plat/ganes_api/inc/ganes/HgGrid.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_plat/ganes_api/inc/ganes/HgGrid.h Mon Mar 15 12:41:34 2010 +0200
@@ -77,6 +77,7 @@
void FitTopItemToView( TInt aIndex );
TInt CurrentIndex();
TBool IsDisplayed( TInt aIndex );
+ void HandleScrollbarVisibilityChange(TBool aVisible);
private: // Constructors
CHgGrid( TInt aItemCount,
--- a/classicui_plat/ganes_api/inc/ganes/HgScroller.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_plat/ganes_api/inc/ganes/HgScroller.h Mon Mar 15 12:41:34 2010 +0200
@@ -348,6 +348,7 @@
virtual TInt CurrentIndex() = 0;
virtual TBool IsDisplayed( TInt aIndex ) = 0;
virtual void FitTopItemToView( TInt aIndex ) = 0;
+ virtual void HandleScrollbarVisibilityChange(TBool aVisible) = 0;
protected: // Constructors
CHgScroller( TInt aItemCount,
--- a/classicui_plat/ganes_api/inc/ganes/HgSingleGraphicList.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_plat/ganes_api/inc/ganes/HgSingleGraphicList.h Mon Mar 15 12:41:34 2010 +0200
@@ -53,6 +53,7 @@
protected: // CHgScroller
void HandleSizeChanged();
+ void HandleScrollbarVisibilityChange(TBool aVisible);
protected: // CHgList
void DrawItem(TInt aIndex, const TRect& aRect) const;
--- a/classicui_plat/ganes_api/inc/ganes/HgSingleLargeList.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_plat/ganes_api/inc/ganes/HgSingleLargeList.h Mon Mar 15 12:41:34 2010 +0200
@@ -53,6 +53,7 @@
protected: // CHgScroller
void HandleSizeChanged();
+ void HandleScrollbarVisibilityChange(TBool aVisible);
protected: // CHgList
void DrawItem(TInt aIndex, const TRect& aRect) const;
--- a/classicui_plat/ganes_api/inc/ganes/HgSingleTextList.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_plat/ganes_api/inc/ganes/HgSingleTextList.h Mon Mar 15 12:41:34 2010 +0200
@@ -47,8 +47,8 @@
IMPORT_C virtual ~CHgSingleTextList( );
protected: // CHgScroller
-
void HandleSizeChanged();
+ void HandleScrollbarVisibilityChange(TBool aVisible);
protected: // CHgList
--- a/classicui_plat/ganes_api/inc/ganes/HgSingleTextListWithIcon.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_plat/ganes_api/inc/ganes/HgSingleTextListWithIcon.h Mon Mar 15 12:41:34 2010 +0200
@@ -47,8 +47,8 @@
IMPORT_C virtual ~CHgSingleTextListWithIcon( );
protected: // CHgScroller
-
void HandleSizeChanged();
+ void HandleScrollbarVisibilityChange(TBool aVisible);
protected: // CHgList
--- a/classicui_plat/ganes_api/inc/ganes/HgVgMediaWall.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_plat/ganes_api/inc/ganes/HgVgMediaWall.h Mon Mar 15 12:41:34 2010 +0200
@@ -666,8 +666,16 @@
*/
void InitPopupL(TInt aLayoutVariant);
+ /**
+ *
+ */
static TInt DelayedInit( TAny* aSelf);
+ /**
+ *
+ */
+ void FillSystemGcWithSkin( ) const;
+
protected:
CHgScrollBufferManager* iManager; // Own
@@ -780,6 +788,15 @@
CFbsBitmap* iSurfaceBitmap;
CPeriodic* iDelayedInit;
+
+
+ TBool iFirstTime;
+
+ TReal iSpringDragVel;
+ TReal iSpringVelAtDragStart;
+ TInt iDragFrames;
+ TBool iObserverNotified;
+
};
--- a/classicui_pub/common_file_dialogs_api/inc/caknmemoryselectionsettingitemmultidrive.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_pub/common_file_dialogs_api/inc/caknmemoryselectionsettingitemmultidrive.h Mon Mar 15 12:41:34 2010 +0200
@@ -88,6 +88,16 @@
*/
void UpdateSettingItemContentL();
+ /**
+ * Set which medias are included in the dialog.
+ * NOTE: DO NOT call this function when settingitem is being edited.
+ *
+ * @param aIncludedMedias bit flag definition of which medias are
+ * included in the dialog. See AknCommonDialogsDynMem::TMemoryTypes.
+ * Value -1 indicates the default dialog value will be used.
+ */
+ IMPORT_C void SetIncludedMediasL( TInt aIncludedMedias );
+
protected: // Data
// Ref: External data
--- a/classicui_pub/editors_api/inc/EIKEDWIN.H Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_pub/editors_api/inc/EIKEDWIN.H Mon Mar 15 12:41:34 2010 +0200
@@ -65,6 +65,7 @@
class CSmileyCustomWrap;
class CAknEdwinPhysicsHandler;
class CEdwinAsyncFormat;
+class MAknsSkinInstance;
// Forward declaration of now removed (Series 60 2.0) custom drawer class for CEikEdwin
class CEikAvkonCustomDraw;
@@ -482,6 +483,12 @@
* Record formatted height of layout
*/
TInt iRecordFormattedHeight;
+
+ /**
+ * Skins instance.
+ * Not own.
+ */
+ MAknsSkinInstance* iSkinInstance;
};
public:
@@ -2337,14 +2344,11 @@
public:
void EnableSmileySupportL( TBool aEnableSmiley );
TBool IsSmileyEnabled() const;
- void DrawSmileyInTextL( CBitmapContext& aGc, CFont& aFont,
- const TDesC& aText, const TPoint& aPt );
- void ConvertVisibleTextForSmileyL( TBool aTextToCode );
- void HandleScrollForSmileyL();
+ void DrawSmileyInTextL( RRegion& rgn, const TRect& aDrawRect,
+ CBitmapContext& aGc, CFont& aFont, const TDesC& aText, const TPoint& aPt );
+ void ConvertVisibleTextForSmileyL( TBool aTextToCode );
TBool AdjustCursorForSmileyL( TInt aOldCursor, TCursorSelection& aSelect );
TRect AdjustDrawRectForSmiley( const TRect& aRect ) const;
- void GetClipRegionForSmiley( RRegion& rgn, CFont& aFont, const TDesC& aText,
- const TPoint& aPt, const TRect& aRect ) const;
HBufC* ExtractTextLC( TCursorSelection aSelect );
void ConvertSmileyIconToTextL( TInt aStartPos, TDes& aText );
@@ -2740,7 +2744,7 @@
void ScrollViewToCursorLineL();
void PerformRecordedOperationL();
void ScrollIfAtTopOrBottomL();
- void SetSelectionVisibilityL(TBool isVisable);
+ void SetSelectionVisibilityL( TBool aIsVisable );
/**
* Sets scrollbars with kinetic scrolling.
@@ -3030,7 +3034,18 @@
*/
TBool KineticScrollingEnabled() const;
-
+ /**
+ * Draws background to the whole view area. Call with parameter value ETrue
+ * must be followed by a call with EFalse or otherwise window's redraw
+ * isn't ended properly and graphics context is not deactivated.
+ *
+ * @param aStart If true then window area occupied by editor's view is
+ * invalidated and redraw is began. Also graphics context is
+ * activated. EFalse ends the redraw and deactivates graphics
+ * context.
+ */
+ void DrawViewBackground( TBool aStart ) const;
+
protected:
/**
--- a/classicui_pub/editors_api/inc/EikCcpu.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_pub/editors_api/inc/EikCcpu.h Mon Mar 15 12:41:34 2010 +0200
@@ -28,7 +28,7 @@
class CEikButtonGroupContainer;
class CEikMenuBar;
-
+class CAknCcpuSupportExtension;
/**
* Interface for cut, copy, paste and undo functionality.
@@ -218,15 +218,11 @@
IMPORT_C void* ExtensionInterface( TUid aInterface );
private:
TBitFlags iFlags;
- TBool isCbaEmded;
// Owned
- CEikButtonGroupContainer* iCba;
-
-
+ CAknCcpuSupportExtension* iExtention;//put isCbaEmded,iCba,iDialogCba in extension
// Not owned
CEikMenuBar* iMenu;
MEikCcpuEditor* iEditor;
- CEikButtonGroupContainer* iDialogCba;
};
#endif // EIKCCPU_H
--- a/classicui_pub/indicators_api/inc/AknIndicatorContainer.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_pub/indicators_api/inc/AknIndicatorContainer.h Mon Mar 15 12:41:34 2010 +0200
@@ -290,6 +290,8 @@
void SetIncallBubbleDisabled( TBool aDisabled );
void ResetAnimTicker( TBool bForeground );
+
+ TInt CountShownIndicator() const;
public:
--- a/classicui_pub/ui_framework_definitions_api/inc/avkon.hrh Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_pub/ui_framework_definitions_api/inc/avkon.hrh Mon Mar 15 12:41:34 2010 +0200
@@ -366,6 +366,7 @@
EPenInputCmdVITUT,
EPeninputCmdFSQ,
+ EPeninputCmdHwr,
/**
* Command id for dealing with discreet popup's close
--- a/classicui_pub/ui_framework_utilities_api/inc/AknUtils.h Fri Mar 12 15:43:43 2010 +0200
+++ b/classicui_pub/ui_framework_utilities_api/inc/AknUtils.h Mon Mar 15 12:41:34 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -81,6 +81,7 @@
class TAknWindowLineLayout;
class TAknMultiLineTextLayout;
class TAknTextLineLayout;
+class MAknsSkinInstance;
/**
* Egul library had methods to clip text from right side, this class includes methods to clip from both sides.
@@ -2716,9 +2717,13 @@
* @param aRect Rectangle occupied by the item that is separated.
* @param aColor Text color used in item. Separator is drawn with this
* color and additional alpha mask.
+ * @param aSkin Skin instance used to get the alpha value
+ * for the separator line color.
*/
IMPORT_C static void DrawSeparator( CGraphicsContext& aGc,
- const TRect& aRect, const TRgb& aColor );
+ const TRect& aRect,
+ const TRgb& aColor,
+ MAknsSkinInstance* aSkin = NULL );
};
#endif // __AKNUTILS_H__
--- a/commonuis/CommonDialogs/BWINS/COMMONDIALOGSU.DEF Fri Mar 12 15:43:43 2010 +0200
+++ b/commonuis/CommonDialogs/BWINS/COMMONDIALOGSU.DEF Mon Mar 15 12:41:34 2010 +0200
@@ -113,26 +113,28 @@
?RunSelectDlgLD@AknCommonDialogsDynMem@@SAHHAAVTDes16@@HHPAVMAknFileSelectionObserver@@@Z @ 112 NONAME ; int AknCommonDialogsDynMem::RunSelectDlgLD(int, class TDes16 &, int, int, class MAknFileSelectionObserver *)
?RunSelectDlgLD@AknCommonDialogsDynMem@@SAHHAAVTDes16@@HPAVMAknFileFilter@@PAVMAknFileSelectionObserver@@@Z @ 113 NONAME ; int AknCommonDialogsDynMem::RunSelectDlgLD(int, class TDes16 &, int, class MAknFileFilter *, class MAknFileSelectionObserver *)
?RunSelectDlgLD@AknCommonDialogsDynMem@@SAHHAAVTDes16@@HPAVMAknFileSelectionObserver@@@Z @ 114 NONAME ; int AknCommonDialogsDynMem::RunSelectDlgLD(int, class TDes16 &, int, class MAknFileSelectionObserver *)
- ?RenameL@CAknFileNamePromptDialog@@QAEHAAVTDes16@@@Z @ 115 NONAME ; int CAknFileNamePromptDialog::RenameL(class TDes16 &)
- ??0CAknMemorySelectionSettingItemMultiDrive@@QAE@HAAW4TDriveNumber@@@Z @ 116 NONAME ; CAknMemorySelectionSettingItemMultiDrive::CAknMemorySelectionSettingItemMultiDrive(int, enum TDriveNumber &)
- ??1CAknMemorySelectionDialogMultiDrive@@UAE@XZ @ 117 NONAME ; CAknMemorySelectionDialogMultiDrive::~CAknMemorySelectionDialogMultiDrive(void)
- ??1CAknMemorySelectionSettingItemMultiDrive@@UAE@XZ @ 118 NONAME ; CAknMemorySelectionSettingItemMultiDrive::~CAknMemorySelectionSettingItemMultiDrive(void)
- ?AddDrivePathsL@CAknMemorySelectionDialogMultiDrive@@QAEHABVTDesC16@@0@Z @ 119 NONAME ; int CAknMemorySelectionDialogMultiDrive::AddDrivePathsL(class TDesC16 const &, class TDesC16 const &)
- ?CompleteConstructionL@CAknMemorySelectionSettingItemMultiDrive@@UAEXXZ @ 120 NONAME ; void CAknMemorySelectionSettingItemMultiDrive::CompleteConstructionL(void)
- ?EditItemL@CAknMemorySelectionSettingItemMultiDrive@@UAEXH@Z @ 121 NONAME ; void CAknMemorySelectionSettingItemMultiDrive::EditItemL(int)
- ?ExecuteL@CAknMemorySelectionDialogMultiDrive@@UAE?AW4TReturnKey@CAknCommonDialogsBase@@AAW4TDriveNumber@@@Z @ 122 NONAME ; enum CAknCommonDialogsBase::TReturnKey CAknMemorySelectionDialogMultiDrive::ExecuteL(enum TDriveNumber &)
- ?ExecuteL@CAknMemorySelectionDialogMultiDrive@@UAE?AW4TReturnKey@CAknCommonDialogsBase@@AAW4TDriveNumber@@PAVTDes16@@1@Z @ 123 NONAME ; enum CAknCommonDialogsBase::TReturnKey CAknMemorySelectionDialogMultiDrive::ExecuteL(enum TDriveNumber &, class TDes16 *, class TDes16 *)
- ?FindIndexByDrive@CAknMemorySelectionDialogMultiDrive@@QAEHABW4TDriveNumber@@@Z @ 124 NONAME ; int CAknMemorySelectionDialogMultiDrive::FindIndexByDrive(enum TDriveNumber const &)
- ?GetItem@CAknMemorySelectionDialogMultiDrive@@QAEXHAAVTDes16@@@Z @ 125 NONAME ; void CAknMemorySelectionDialogMultiDrive::GetItem(int, class TDes16 &)
- ?LoadL@CAknMemorySelectionSettingItemMultiDrive@@UAEXXZ @ 126 NONAME ; void CAknMemorySelectionSettingItemMultiDrive::LoadL(void)
- ?NewL@CAknMemorySelectionDialogMultiDrive@@SAPAV1@W4TCommonDialogType@@H@Z @ 127 NONAME ; class CAknMemorySelectionDialogMultiDrive * CAknMemorySelectionDialogMultiDrive::NewL(enum TCommonDialogType, int)
- ?NewL@CAknMemorySelectionDialogMultiDrive@@SAPAV1@W4TCommonDialogType@@HH@Z @ 128 NONAME ; class CAknMemorySelectionDialogMultiDrive * CAknMemorySelectionDialogMultiDrive::NewL(enum TCommonDialogType, int, int)
- ?NewL@CAknMemorySelectionDialogMultiDrive@@SAPAV1@W4TCommonDialogType@@HHH@Z @ 129 NONAME ; class CAknMemorySelectionDialogMultiDrive * CAknMemorySelectionDialogMultiDrive::NewL(enum TCommonDialogType, int, int, int)
- ?RunDlgLD@CAknMemorySelectionDialogMultiDrive@@SAHAAW4TDriveNumber@@@Z @ 130 NONAME ; int CAknMemorySelectionDialogMultiDrive::RunDlgLD(enum TDriveNumber &)
- ?RunDlgLD@CAknMemorySelectionDialogMultiDrive@@SAHAAW4TDriveNumber@@ABVTDesC16@@@Z @ 131 NONAME ; int CAknMemorySelectionDialogMultiDrive::RunDlgLD(enum TDriveNumber &, class TDesC16 const &)
- ?RunDlgLD@CAknMemorySelectionDialogMultiDrive@@SAHAAW4TDriveNumber@@HPAVTDes16@@1@Z @ 132 NONAME ; int CAknMemorySelectionDialogMultiDrive::RunDlgLD(enum TDriveNumber &, int, class TDes16 *, class TDes16 *)
- ?SetLeftSoftkeyL@CAknMemorySelectionDialogMultiDrive@@QAEXABVTDesC16@@@Z @ 133 NONAME ; void CAknMemorySelectionDialogMultiDrive::SetLeftSoftkeyL(class TDesC16 const &)
- ?SetRightSoftkeyL@CAknMemorySelectionDialogMultiDrive@@QAEXABVTDesC16@@@Z @ 134 NONAME ; void CAknMemorySelectionDialogMultiDrive::SetRightSoftkeyL(class TDesC16 const &)
- ?SetTitleL@CAknMemorySelectionDialogMultiDrive@@QAEXABVTDesC16@@@Z @ 135 NONAME ; void CAknMemorySelectionDialogMultiDrive::SetTitleL(class TDesC16 const &)
- ?SettingTextL@CAknMemorySelectionSettingItemMultiDrive@@UAEABVTDesC16@@XZ @ 136 NONAME ; class TDesC16 const & CAknMemorySelectionSettingItemMultiDrive::SettingTextL(void)
- ?StoreL@CAknMemorySelectionSettingItemMultiDrive@@UAEXXZ @ 137 NONAME ; void CAknMemorySelectionSettingItemMultiDrive::StoreL(void)
+ ?RenameL@CAknFileNamePromptDialog@@QAEHAAVTDes16@@@Z @ 115 NONAME ; int CAknFileNamePromptDialog::RenameL(class TDes16 &)
+ ??0CAknMemorySelectionSettingItemMultiDrive@@QAE@HAAW4TDriveNumber@@@Z @ 116 NONAME ; CAknMemorySelectionSettingItemMultiDrive::CAknMemorySelectionSettingItemMultiDrive(int, enum TDriveNumber &)
+ ??1CAknMemorySelectionDialogMultiDrive@@UAE@XZ @ 117 NONAME ; CAknMemorySelectionDialogMultiDrive::~CAknMemorySelectionDialogMultiDrive(void)
+ ??1CAknMemorySelectionSettingItemMultiDrive@@UAE@XZ @ 118 NONAME ; CAknMemorySelectionSettingItemMultiDrive::~CAknMemorySelectionSettingItemMultiDrive(void)
+ ?AddDrivePathsL@CAknMemorySelectionDialogMultiDrive@@QAEHABVTDesC16@@0@Z @ 119 NONAME ; int CAknMemorySelectionDialogMultiDrive::AddDrivePathsL(class TDesC16 const &, class TDesC16 const &)
+ ?CompleteConstructionL@CAknMemorySelectionSettingItemMultiDrive@@UAEXXZ @ 120 NONAME ; void CAknMemorySelectionSettingItemMultiDrive::CompleteConstructionL(void)
+ ?EditItemL@CAknMemorySelectionSettingItemMultiDrive@@UAEXH@Z @ 121 NONAME ; void CAknMemorySelectionSettingItemMultiDrive::EditItemL(int)
+ ?ExecuteL@CAknMemorySelectionDialogMultiDrive@@UAE?AW4TReturnKey@CAknCommonDialogsBase@@AAW4TDriveNumber@@@Z @ 122 NONAME ; enum CAknCommonDialogsBase::TReturnKey CAknMemorySelectionDialogMultiDrive::ExecuteL(enum TDriveNumber &)
+ ?ExecuteL@CAknMemorySelectionDialogMultiDrive@@UAE?AW4TReturnKey@CAknCommonDialogsBase@@AAW4TDriveNumber@@PAVTDes16@@1@Z @ 123 NONAME ; enum CAknCommonDialogsBase::TReturnKey CAknMemorySelectionDialogMultiDrive::ExecuteL(enum TDriveNumber &, class TDes16 *, class TDes16 *)
+ ?FindIndexByDrive@CAknMemorySelectionDialogMultiDrive@@QAEHABW4TDriveNumber@@@Z @ 124 NONAME ; int CAknMemorySelectionDialogMultiDrive::FindIndexByDrive(enum TDriveNumber const &)
+ ?GetItem@CAknMemorySelectionDialogMultiDrive@@QAEXHAAVTDes16@@@Z @ 125 NONAME ; void CAknMemorySelectionDialogMultiDrive::GetItem(int, class TDes16 &)
+ ?LoadL@CAknMemorySelectionSettingItemMultiDrive@@UAEXXZ @ 126 NONAME ; void CAknMemorySelectionSettingItemMultiDrive::LoadL(void)
+ ?NewL@CAknMemorySelectionDialogMultiDrive@@SAPAV1@W4TCommonDialogType@@H@Z @ 127 NONAME ; class CAknMemorySelectionDialogMultiDrive * CAknMemorySelectionDialogMultiDrive::NewL(enum TCommonDialogType, int)
+ ?NewL@CAknMemorySelectionDialogMultiDrive@@SAPAV1@W4TCommonDialogType@@HH@Z @ 128 NONAME ; class CAknMemorySelectionDialogMultiDrive * CAknMemorySelectionDialogMultiDrive::NewL(enum TCommonDialogType, int, int)
+ ?NewL@CAknMemorySelectionDialogMultiDrive@@SAPAV1@W4TCommonDialogType@@HHH@Z @ 129 NONAME ; class CAknMemorySelectionDialogMultiDrive * CAknMemorySelectionDialogMultiDrive::NewL(enum TCommonDialogType, int, int, int)
+ ?RunDlgLD@CAknMemorySelectionDialogMultiDrive@@SAHAAW4TDriveNumber@@@Z @ 130 NONAME ; int CAknMemorySelectionDialogMultiDrive::RunDlgLD(enum TDriveNumber &)
+ ?RunDlgLD@CAknMemorySelectionDialogMultiDrive@@SAHAAW4TDriveNumber@@ABVTDesC16@@@Z @ 131 NONAME ; int CAknMemorySelectionDialogMultiDrive::RunDlgLD(enum TDriveNumber &, class TDesC16 const &)
+ ?RunDlgLD@CAknMemorySelectionDialogMultiDrive@@SAHAAW4TDriveNumber@@HPAVTDes16@@1@Z @ 132 NONAME ; int CAknMemorySelectionDialogMultiDrive::RunDlgLD(enum TDriveNumber &, int, class TDes16 *, class TDes16 *)
+ ?SetLeftSoftkeyL@CAknMemorySelectionDialogMultiDrive@@QAEXABVTDesC16@@@Z @ 133 NONAME ; void CAknMemorySelectionDialogMultiDrive::SetLeftSoftkeyL(class TDesC16 const &)
+ ?SetRightSoftkeyL@CAknMemorySelectionDialogMultiDrive@@QAEXABVTDesC16@@@Z @ 134 NONAME ; void CAknMemorySelectionDialogMultiDrive::SetRightSoftkeyL(class TDesC16 const &)
+ ?SetTitleL@CAknMemorySelectionDialogMultiDrive@@QAEXABVTDesC16@@@Z @ 135 NONAME ; void CAknMemorySelectionDialogMultiDrive::SetTitleL(class TDesC16 const &)
+ ?SettingTextL@CAknMemorySelectionSettingItemMultiDrive@@UAEABVTDesC16@@XZ @ 136 NONAME ; class TDesC16 const & CAknMemorySelectionSettingItemMultiDrive::SettingTextL(void)
+ ?StoreL@CAknMemorySelectionSettingItemMultiDrive@@UAEXXZ @ 137 NONAME ; void CAknMemorySelectionSettingItemMultiDrive::StoreL(void)
+ ?SetIncludedMediasL@CAknMemorySelectionSettingItemMultiDrive@@QAEXH@Z @ 138 NONAME ; void CAknMemorySelectionSettingItemMultiDrive::SetIncludedMediasL(int)
+
--- a/commonuis/CommonDialogs/EABI/COMMONDIALOGSU.DEF Fri Mar 12 15:43:43 2010 +0200
+++ b/commonuis/CommonDialogs/EABI/COMMONDIALOGSU.DEF Mon Mar 15 12:41:34 2010 +0200
@@ -166,4 +166,5 @@
_ZN40CAknMemorySelectionSettingItemMultiDriveD2Ev @ 165 NONAME
_ZTI40CAknMemorySelectionSettingItemMultiDrive @ 166 NONAME ; #<TI>#
_ZTV40CAknMemorySelectionSettingItemMultiDrive @ 167 NONAME ; #<VT>#
+ _ZN40CAknMemorySelectionSettingItemMultiDrive18SetIncludedMediasLEi @ 168 NONAME
--- a/commonuis/CommonDialogs/src/CAknFileSelectionEventHandler.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/commonuis/CommonDialogs/src/CAknFileSelectionEventHandler.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -288,17 +288,17 @@
{
case ERightSoftkeyPress: // USER HAS HIT RIGHT SOFTKEY
{
+ while( iModel->DirectoryLevel() > 0 ) // Find until existing contents
+ {
+ entries = iModel->GotoParentFolderL();
+ PopIndices( aTopItemIndex, aFocusedItemIndex );
+ if( entries > 0 || entries < KErrNotFound )
+ {
+ break;
+ }
+ }
if( iModel->DirectoryLevel() > 0 ) // We are not in the root folder
{
- while( ETrue ) // Find until existing contents
- {
- entries = iModel->GotoParentFolderL();
- PopIndices( aTopItemIndex, aFocusedItemIndex );
- if( entries > 0 || entries < KErrNotFound )
- {
- break;
- }
- }
if( entries > 0 )
{
if (aFocusedItemIndex >= entries)
--- a/commonuis/CommonDialogs/src/caknmemoryselectiondialogmultidrive.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/commonuis/CommonDialogs/src/caknmemoryselectiondialogmultidrive.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -115,11 +115,11 @@
layout = MAknMemorySelectionModel::ELayoutDoublePopup;
}
+ // Create model of listbox listing the drives in iRootPathArray:
iModel = CAknMemorySelectionModelMultiDrive::NewL(
iCoeEnv, &iRootPathArray, &iDefaultFolderArray,
iIncludedMedias, aShowUnavailableDrives, layout );
- // Create model of listbox listing the drives in iRootPathArray:
GetSystemDrivesL( userDefinedId );
iEventHandler = CAknMemorySelectionEventHandler::NewL(
--- a/commonuis/CommonDialogs/src/caknmemoryselectionsettingitemmultidrive.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/commonuis/CommonDialogs/src/caknmemoryselectionsettingitemmultidrive.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -26,26 +26,45 @@
#include "MAknCFDFileSystemObserver.h"
-NONSHARABLE_CLASS(CAknMemorySelectionSettingItemExtension) : public CBase,
- public MAknCFDFileSystemObserver
+NONSHARABLE_CLASS(CAknMemorySelectionSettingItemExtension)
+ : public CBase,
+ public MAknCFDFileSystemObserver
{
public:
- CAknMemorySelectionSettingItemExtension(CAknMemorySelectionSettingItemMultiDrive* aSettingItem);
+ CAknMemorySelectionSettingItemExtension(
+ CAknMemorySelectionSettingItemMultiDrive* aSettingItem );
~CAknMemorySelectionSettingItemExtension();
- // second phase construct
- void ConstructL();
+ /**
+ * second phase construct
+ *
+ * @param aIncludedMedias bit flag definition of which medias are
+ * included in the dialog. See AknCommonDialogsDynMem::TMemoryTypes.
+ */
+ void ConstructL( TInt aIncludedMedias );
/**
* Static constructor.
*
* @since S60 5.0
* @param aSettingItem defines a pointer to the setting item.
+ * @param aIncludedMedias bit flag definition of which medias are
+ * included in the dialog. See AknCommonDialogsDynMem::TMemoryTypes.
+ * if not set, use dialog default value.
* @return Returns a pointer to an instance of itself.
*/
- static CAknMemorySelectionSettingItemExtension* NewL(CAknMemorySelectionSettingItemMultiDrive* aSettingItem);
+ static CAknMemorySelectionSettingItemExtension* NewL(
+ CAknMemorySelectionSettingItemMultiDrive* aSettingItem,
+ TInt aIncludedMedias = -1 );
+ /**
+ * Construct memory selection dialog
+ *
+ * @param aIncludedMedias bit flag definition of which medias are
+ * included in the dialog. See AknCommonDialogsDynMem::TMemoryTypes.
+ */
+ void ConstructDialogL( TInt aIncludedMedias );
// Functions from base interface MAknCFDFileSystemObserver
/**
@@ -61,6 +80,9 @@
// Own: The extension of setting item
CAknCFDFileSystemEvent* iFSEvent;
+
+ // Own: Indicate which media types of drives could be visible.
+ TInt iIncludedMedias;
};
// ======== MEMBER FUNCTIONS ========
@@ -94,7 +116,10 @@
//
EXPORT_C void CAknMemorySelectionSettingItemMultiDrive::CompleteConstructionL()
{
- iExtension = CAknMemorySelectionSettingItemExtension::NewL(this);
+ if ( !iExtension )
+ {
+ iExtension = CAknMemorySelectionSettingItemExtension::NewL( this );
+ }
}
@@ -119,28 +144,30 @@
else
{
// Changed with selection key
- if( ( iExtension->iDialog->NumberOfItems() == 2 ) &&
- ( !iExtension->iDialog->HasUnavailbleMMC() ) )
+ if( ( iExtension->iDialog->NumberOfItems() == 2 ) )
{
// Two items in list, function as binary pop-up setting page
TInt selectedIndex =
- iExtension->iDialog->FindIndexByDrive(
- iInternalData );
+ iExtension->iDialog->FindIndexByDrive( iInternalData );
if ( selectedIndex == KErrNotFound )
{
selectedIndex = 0;
}
else
{
- selectedIndex = 1 - selectedIndex; // switch to another one.
+ TDriveNumber driveNum =
+ iExtension->iDialog->FindDriveByIndex( 1 - selectedIndex );
+ if ( AknCFDUtility::DriveStatusL( driveNum ) == EDriveOK )
+ {
+ selectedIndex = 1 - selectedIndex; // switch to another one.
+ }
}
iInternalData =
iExtension->iDialog->FindDriveByIndex( selectedIndex );
}
else
{
- iExtension->iDialog->ExecuteL(
- iInternalData, NULL, NULL );
+ iExtension->iDialog->ExecuteL( iInternalData, NULL, NULL );
}
}
@@ -182,25 +209,46 @@
CompleteConstructionL();
}
- TInt memoryIndex = iExtension->iDialog->FindIndexByDrive(
- iInternalData );
- if ( AknCFDUtility::DriveStatusL( iInternalData )
- != EDriveOK )
+ TInt memoryIndex = iExtension->iDialog->FindIndexByDrive( iInternalData );
+ if ( AknCFDUtility::DriveStatusL( iInternalData ) != EDriveOK )
{
- TInt drive;
- User::LeaveIfError( DriveInfo::GetDefaultDrive(
- DriveInfo::EDefaultSystem, drive ) );
- memoryIndex = iExtension->iDialog->FindIndexByDrive(
- TDriveNumber( drive ) );
+ // Find the first proper drive in the dialog list.
+ memoryIndex = 0;
+ while ( memoryIndex < iExtension->iDialog->NumberOfItems() )
+ {
+ iInternalData = iExtension->iDialog->FindDriveByIndex( memoryIndex );
+ if ( AknCFDUtility::DriveStatusL( iInternalData ) == EDriveOK )
+ {
+ break;
+ }
+ memoryIndex++;
+ }
+ // Not find the proper drive.
+ if ( memoryIndex == iExtension->iDialog->NumberOfItems() )
+ {
+ iInternalData = EDriveC;
+ memoryIndex = KErrNotFound;
+ }
}
+
+ if ( memoryIndex == KErrNotFound )
+ {
+ return KNullDesC;
+ }
+
if( !iSettingText )
iSettingText = HBufC::NewL( KMaxName );
TPtr ptrSettingText( iSettingText->Des() );
iExtension->iDialog->GetItem( memoryIndex, ptrSettingText );
+
return *iSettingText;
}
+// ---------------------------------------------------------------------------
+// CAknMemorySelectionSettingItemMultiDrive::UpdateSettingItemContentL
+// ---------------------------------------------------------------------------
+//
void CAknMemorySelectionSettingItemMultiDrive::UpdateSettingItemContentL()
{
if ( iExtension->iDialog != NULL )
@@ -210,22 +258,37 @@
// Update setting item value.
TInt selectedIndex = iExtension->iDialog->
- FindIndexByDrive(iInternalData);
+ FindIndexByDrive( iInternalData );
- if (selectedIndex == KErrNotFound)
+ if ( selectedIndex == KErrNotFound )
{
- iInternalData = EDriveC;
+ // If the selected index is not found, set it to the first one
+ selectedIndex = 0;
}
- else
- {
- iInternalData = iExtension->iDialog->
- FindDriveByIndex(selectedIndex);
- }
+ iInternalData = iExtension->iDialog->FindDriveByIndex( selectedIndex );
UpdateListBoxTextL();
}
}
+// ---------------------------------------------------------------------------
+// CAknMemorySelectionSettingItemMultiDrive::SetIncludedMediasL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CAknMemorySelectionSettingItemMultiDrive::SetIncludedMediasL(
+ TInt aIncludedMedias )
+ {
+ if ( !iExtension )
+ {
+ iExtension = CAknMemorySelectionSettingItemExtension::NewL(
+ this, aIncludedMedias );
+ }
+ else if ( iExtension->iIncludedMedias != aIncludedMedias )
+ {
+ iExtension->ConstructDialogL( aIncludedMedias );
+ }
+ }
+
// ---------------------------------------------------------------------------
// CAknMemorySelectionSettingItemExtension
@@ -233,7 +296,8 @@
// ---------------------------------------------------------------------------
//
CAknMemorySelectionSettingItemExtension::
- CAknMemorySelectionSettingItemExtension(CAknMemorySelectionSettingItemMultiDrive* aSettingItem)
+ CAknMemorySelectionSettingItemExtension(
+ CAknMemorySelectionSettingItemMultiDrive* aSettingItem )
: iSettingItem( aSettingItem )
{
}
@@ -276,16 +340,43 @@
// ---------------------------------------------------------------------------
// CAknMemorySelectionSettingItemExtension
+// ConstructDialogL
+// ---------------------------------------------------------------------------
+//
+void CAknMemorySelectionSettingItemExtension::ConstructDialogL(
+ TInt aIncludedMedias )
+ {
+ if ( iDialog )
+ {
+ delete iDialog;
+ iDialog = NULL;
+ }
+
+ iIncludedMedias = aIncludedMedias;
+
+ if ( aIncludedMedias == -1 )
+ {
+ iDialog = CAknMemorySelectionDialogMultiDrive::NewL(
+ ECFDDialogTypeNormal, ETrue );
+ }
+ else
+ {
+ iDialog = CAknMemorySelectionDialogMultiDrive::NewL(
+ ECFDDialogTypeNormal, 0, ETrue, aIncludedMedias );
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CAknMemorySelectionSettingItemExtension
// ConstructL
// ---------------------------------------------------------------------------
//
-void CAknMemorySelectionSettingItemExtension::ConstructL()
+void CAknMemorySelectionSettingItemExtension::ConstructL( TInt aIncludedMedias )
{
+ ConstructDialogL( aIncludedMedias );
- iDialog = CAknMemorySelectionDialogMultiDrive::NewL(
- ECFDDialogTypeNormal, ETrue);
-
- iFSEvent = CAknCFDFileSystemEvent::NewL(CCoeEnv::Static()->FsSession(), *this, ENotifyDisk);
+ iFSEvent = CAknCFDFileSystemEvent::NewL(
+ CCoeEnv::Static()->FsSession(), *this, ENotifyDisk );
}
// ---------------------------------------------------------------------------
@@ -293,13 +384,16 @@
// NewL
// ---------------------------------------------------------------------------
//
-CAknMemorySelectionSettingItemExtension* CAknMemorySelectionSettingItemExtension::NewL(CAknMemorySelectionSettingItemMultiDrive* aSettingItem)
+CAknMemorySelectionSettingItemExtension*
+ CAknMemorySelectionSettingItemExtension::NewL(
+ CAknMemorySelectionSettingItemMultiDrive* aSettingItem,
+ TInt aIncludedMedias )
{
CAknMemorySelectionSettingItemExtension* self =
- new( ELeave ) CAknMemorySelectionSettingItemExtension(aSettingItem);
+ new( ELeave ) CAknMemorySelectionSettingItemExtension( aSettingItem );
CleanupStack::PushL( self );
- self->ConstructL();
+ self->ConstructL( aIncludedMedias );
CleanupStack::Pop( self );
return self;
--- a/commonuis/CommonUi/src/DocumentHandler.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/commonuis/CommonUi/src/DocumentHandler.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -1396,7 +1396,7 @@
TInt err = aSharableFile.Open(iSharableFS,aFileName,EFileShareReadersOnly);
if (err == KErrInUse)
{
- User::LeaveIfError(aSharableFile.Open(iSharableFS,aFileName,EFileShareReadersOrWriters));
+ err = aSharableFile.Open( iSharableFS,aFileName,EFileShareReadersOrWriters );
}
else if ( err == KErrTooBig )
{
@@ -1407,7 +1407,7 @@
err = file64->Open(iSharableFS,aFileName,EFileShareReadersOnly);
if( err == KErrInUse )
{
- User::LeaveIfError(aSharableFile.Open(iSharableFS,aFileName,EFileShareReadersOrWriters));
+ err = aSharableFile.Open( iSharableFS,aFileName,EFileShareReadersOrWriters );
}
}
}
--- a/commonuis/CommonUi/src/FindItemDialog.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/commonuis/CommonUi/src/FindItemDialog.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -1968,6 +1968,18 @@
iTappingOffset = iEdwin->Rect().iTl - Rect().iTl;
+ CFindItemEngine::SFoundItem item;
+ TBool anyFound = iController->Item( item );
+ if( anyFound )
+ {
+ TInt pos = 0;
+ TInt length = iEdwin->TextLayout()->PosRangeInBand( pos );
+ if( item.iStartPos >= pos + length )
+ {
+ TRAP_IGNORE( iEdwin->MoveDisplayL( TCursorPosition::EFPageDown ) );
+ }
+ }
+
TRAP_IGNORE( UpdateScrollIndicatorL() );
}
--- a/commonuisupport/uikon/srvsrc/EIKNFYSV.CPP Fri Mar 12 15:43:43 2010 +0200
+++ b/commonuisupport/uikon/srvsrc/EIKNFYSV.CPP Mon Mar 15 12:41:34 2010 +0200
@@ -19,6 +19,7 @@
#include <eikenv.h>
#include <eikmsg.h>
#include <e32uid.h>
+#include <e32notif.h>
#include "EIKSRV.PAN"
#include "eiknotapi.h"
#include <bafindf.h>
--- a/lafagnosticuifoundation/cone/inc/COECNTRL.H Fri Mar 12 15:43:43 2010 +0200
+++ b/lafagnosticuifoundation/cone/inc/COECNTRL.H Mon Mar 15 12:41:34 2010 +0200
@@ -1,4 +1,4 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
@@ -359,9 +359,10 @@
inline CWindowGc* GetGc() const;
private:
friend class CCoeRedrawer;
- void DrawComponents(const TRect& aRect) const;
+ void Constructor(CCoeEnv* aCoeEnv);
+ void DrawComponents(const TRect& aRect) const;
void DrawWindowOwningComponentsNow() const;
- void DrawWindowOwningComponentsNow(const TRect &aRect) const;
+ void DrawWindowOwningComponentsNow(const TRect& aRect) const;
void SetGrabbed(TBool aGrabbed, TInt aPointerNumber);
TBool IsGrabbed(TInt aPointerNumber = 0) const;
void DoMakeVisible(TBool aVisible);
--- a/lafagnosticuifoundation/cone/inc/CoeDynamicStorage.inl Fri Mar 12 15:43:43 2010 +0200
+++ b/lafagnosticuifoundation/cone/inc/CoeDynamicStorage.inl Mon Mar 15 12:41:34 2010 +0200
@@ -1,4 +1,4 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
@@ -57,7 +57,7 @@
{
public:
RCoeDynamicDataStorage();
- void Open();
+ TInt Open();
void Close();
TInt Count() const;
void ResetCount();
@@ -98,17 +98,22 @@
ResetCount();
}
-void RCoeDynamicDataStorage::Open()
+TInt RCoeDynamicDataStorage::Open()
{
ASSERT(!iDynamicData);
- ReserveData();
-
+ TInt err = ReserveData();
+
#ifdef PROFILE_MEMORY
- MEMORY_SAVED += KCurrentNumberOfOptionalVaraiblesInCCoeControl*sizeof(TAny*);
- MEMORY_SAVED -= sizeof(RCoeDynamicDataStorage);
-#endif
+ if (err==KErrNone)
+ {
+ MEMORY_SAVED += KCurrentNumberOfOptionalVaraiblesInCCoeControl*sizeof(TAny*);
+ MEMORY_SAVED -= sizeof(RCoeDynamicDataStorage);
+ }
+#endif
+
+ return err;
}
-
+
void RCoeDynamicDataStorage::Close()
{
#ifdef PROFILE_MEMORY
@@ -181,14 +186,14 @@
inline TAny* RCoeDynamicDataStorage::Data(TInt aSlotIndex, TAny* aDefaultValue) const
{
- if(!this)
+ if (!this)
return aDefaultValue;
-
+
const TInt dataIndex = DataIndex(aSlotIndex);
- if(dataIndex != KUndefinedIndex)
+ if (dataIndex!=KUndefinedIndex && iDynamicData!=NULL) //Defensive Code
return iDynamicData[dataIndex];
else
- return aDefaultValue;
+ return aDefaultValue;
}
inline TInt RCoeDynamicDataStorage::DataIndex(TInt aSlotIndex) const
--- a/lafagnosticuifoundation/cone/src/COECNTRL.CPP Fri Mar 12 15:43:43 2010 +0200
+++ b/lafagnosticuifoundation/cone/src/COECNTRL.CPP Mon Mar 15 12:41:34 2010 +0200
@@ -1,4 +1,4 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
@@ -69,12 +69,12 @@
inline CCoeControlStorage();
inline RCoeDynamicDataStorage& DynamicDataStorage();
inline const RCoeDynamicDataStorage& DynamicDataStorage() const;
- inline void Open();
+ inline TInt Open();
inline void Close();
inline void AttemptCompress();
void SetPointerGrab(TUint aSet, TUint aClear);
TUint8& PointerGrab();
-
+
private:
RCoeDynamicDataStorage iDynamicDataStorage;
TUint8 iPointerGrabFlags; // The grab-status of each of the supported pointers
@@ -103,8 +103,8 @@
inline const RCoeDynamicDataStorage& CCoeControlStorage::DynamicDataStorage() const
{ return iDynamicDataStorage; }
-inline void CCoeControlStorage::Open()
- { iDynamicDataStorage.Open(); }
+inline TInt CCoeControlStorage::Open()
+ { return iDynamicDataStorage.Open(); }
inline void CCoeControlStorage::Close()
{ iDynamicDataStorage.Close(); }
@@ -121,19 +121,7 @@
control classes are derived. However, it can also be instantiated as a concrete
class. */
{
- iCoeEnv = TheCoe();
-
- iData = new CCoeControlStorage; // Non-leaving allocation
- if (iData)
- {
- iData->Open();
- }
- else
- {
- iFlags |= EMemoryAllocationFailed; // Handle OOM later
- }
-
- SetFocusing(CCoeControlStaticSettings::FocusedByDefault(iCoeEnv));
+ Constructor(TheCoe());
}
EXPORT_C CCoeControl::CCoeControl(CCoeEnv* aCoeEnv)
@@ -147,14 +135,17 @@
@param aCoeEnv The control environment.*/
{
+ Constructor(aCoeEnv);
+ }
+
+void CCoeControl::Constructor(CCoeEnv* aCoeEnv)
+ {
iCoeEnv = aCoeEnv;
-
+
iData = new CCoeControlStorage; // Non-leaving allocation
- if(iData)
- iData->Open();
- else
+ if (!iData || iData->Open()!=KErrNone)
iFlags |= EMemoryAllocationFailed; // Handle OOM later
-
+
SetFocusing(CCoeControlStaticSettings::FocusedByDefault(iCoeEnv));
}
--- a/lafagnosticuifoundation/cone/tef/TCONE2STEP.CPP Fri Mar 12 15:43:43 2010 +0200
+++ b/lafagnosticuifoundation/cone/tef/TCONE2STEP.CPP Mon Mar 15 12:41:34 2010 +0200
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
@@ -49,22 +49,31 @@
Creates a control's window.\n
The created window is the child of the application's window group.\n
iDisplayed is set to ETrue to make the control visible.\n
-*/
+*/
void CTestCone2Control::ConstructL()
- {
+ {
CreateWindowL();
iDisplayed = ETrue;
- }
+ }
+/**
+ Function to give access to the CCoeControl's protected CreateWindowL function.
+ This is intended for use only with Low Memory tests.
+*/
+TInt CTestCone2Control::CreateWindow()
+ {
+ TRAPD(err,CreateWindowL());
+ return err;
+ }
/**
Sets this control as visible or invisible.\n
This causes the control to disappear or reappear.\n
When a control is created, it is made visible by default.\n
-*/
+*/
void CTestCone2Control::MakeVisible(TBool aVisible)
- {
+ {
iDisplayed = aVisible;
DrawNow();
- }
+ }
/**
Destructor for the container control.\n
Deletes the component control "CTestCone2Control".\n
@@ -604,7 +613,7 @@
__UHEAP_MARKEND;
}
-
+
/**
@SYMTestCaseID UIF-TCone2Step-TestSetandGetCCoeControlAPIsL
@@ -624,26 +633,92 @@
and retrieved correctly.
*/
-
void CTestDriver::TestSetandGetCCoeControlAPIsL()
{
- // Create a new CCoeControl object
+ // Create a new CCoeControl object
CCoeControl* testCtrl = new (ELeave) CCoeControl();
CleanupStack::PushL(testCtrl);
-
+
// Part 1: Check that a default value of 0 is returned when no
- // max width value has been set yet.
+ // max width value has been set yet.
iStep->TEST(testCtrl->MaximumWidth() == 0);
-
+
// Part 2: Set the maximum width to a new value.
TInt newMaxWidth = 5;
iStep->TEST(testCtrl->SetMaximumWidth(newMaxWidth) == KErrNone);
-
- // Part 3: Access maximum width. Test that it equals the
- // value previously set.
- iStep->TEST(testCtrl->MaximumWidth() == newMaxWidth);
-
- CleanupStack::PopAndDestroy(testCtrl);
+
+ // Part 3: Access maximum width. Test that it equals the
+ // value previously set.
+ iStep->TEST(testCtrl->MaximumWidth() == newMaxWidth);
+
+ CleanupStack::PopAndDestroy(testCtrl);
+ }
+
+/**
+ @SYMTestCaseID UIF-TCone2Step-TestSetandGetCCoeControlAPIsL
+
+ @SYMDEF ou1cimx1#261261
+
+ @SYMTestCaseDesc Tests creating a CCoeControl in low memory conditions.
+ In particular it tries to trip up the RCoeDynamicDataStorage mechanism.
+
+ @SYMTestPriority High
+
+ @SYMTestStatus Implemented
+
+ @SYMTestActions The test creates a CCoeControl object in an OOM loop with different burst values.
+ And sets and reads back a property that is stored in the DynamicDataStoreage.
+ Note: This test didn't actually suceed in producing the crash reported in the defect.
+ I couldn't see anyway to get to the crashing line with things in a bad state.
+
+ @SYMTestExpectedResults. The code doesn't crash.
+ */
+void CTestDriver::TestLowMemoryCoeControl()
+ {
+ CCoeControl* const parentVal=NULL;
+ CTestCone2Control* cnt;
+ CCoeControl* parent;
+ TInt burst;
+ TInt failRate;
+ TInt sucesses;
+ TBool sucess=EFalse;
+ TInt setErr;
+ TInt creErr;
+ for (burst=1;burst<15;++burst)
+ {
+ failRate=burst>1 ? 1:0;
+ sucesses=0;
+ do {
+ cnt=NULL;
+ parent=reinterpret_cast<CCoeControl*>(KMaxTUint);
+ setErr=99;
+ creErr=99;
+ __UHEAP_BURSTFAILNEXT(failRate,burst);
+ __UHEAP_MARK;
+ cnt=new CTestCone2Control();
+ if (cnt)
+ {
+ setErr=cnt->SetParent(parentVal);
+ parent=cnt->Parent();
+ creErr=cnt->CreateWindow();
+ if (parent==parentVal && setErr==KErrNone && creErr==KErrNone)
+ sucess=ETrue;
+ delete cnt;
+ }
+ __UHEAP_MARKEND;
+ __UHEAP_RESET;
+ if (sucess)
+ {
+ ++sucesses;
+ sucess=EFalse;
+ }
+ else
+ sucesses=0;
+ //Useful logging to see more details of what this code does
+ //INFO_PRINTF7(_L("FR=% 2d S=% 2d C=0x%x SE=%d WCE=%d PAR=0x%x"),failRate,sucesses,cnt,setErr,creErr,parent);
+ ++failRate;
+ } while (sucesses<10);
+ }
}
/**
@@ -693,121 +768,113 @@
8. TestConeInputCapabilitiesAPIs
9. TestSetAndGetSystemDefaultViewAPIsL
10. TestSetandGetCCoeControlAPIsL
+ 11. TestLowMemoryCoeControl
*/
void CCone2TestAppUi::RunTestStepL(TInt aStepNum)
{
+ _LIT(KTest11Name,"UIF-TCone2Step-LowMemoryCoeControlConstruction");
+ _LIT(KTest11Desc,"Test creating CCoeControl in low memory");
+ _LIT(KReturn,"...completed with return value '%d'\n");
+ _LIT(KFinished,"Test Finished\n");
+ TInt ret;
switch(aStepNum)
- {
- case 1:
- {
- SetTestStepID(_L("UIF-TCone2Step-TestIsDisplayingDialogAndRemoveFromStackAPIsL"));
- INFO_PRINTF1(_L("Test IsDisplayingDialog() and RemoveFromStack() APIs"));
- TRAPD(ret, iDriver->TestIsDisplayingDialogAndRemoveFromStackAPIsL());
- INFO_PRINTF2(_L("...completed with return value '%d'\n"), ret);
- TEST(ret==KErrNone);
- RecordTestResultL();
- break;
- }
- case 2:
- {
- SetTestStepID(_L("UIF-TCone2Step-TestMakeVisibleOnChildControlsL"));
- INFO_PRINTF1(_L("Test makevisible on its child controls"));
- TRAPD(ret, iDriver->TestMakeVisibleOnChildControlsL());
- INFO_PRINTF2(_L("...completed with return value '%d'\n"), ret);
- TEST(ret==KErrNone);
- RecordTestResultL();
- break;
- }
- case 3:
- {
- SetTestStepID(_L("UIF-TCone2Step-TestAppHelpContextAPIL"));
- INFO_PRINTF1(_L("Test AppHelpContext API"));
- TRAPD(ret, iDriver->TestAppHelpContextAPIL());
- INFO_PRINTF2(_L("...completed with return value '%d'\n"), ret);
- TEST(ret==KErrNone);
- RecordTestResultL();
- break;
- }
- case 4:
- {
- SetTestStepID(_L("UIF-TCone2Step-TestReadResourceAPIsL"));
- INFO_PRINTF1(_L("Test ReadResource APIs"));
- TRAPD(ret, iDriver->TestReadResourceAPIsL());
- INFO_PRINTF2(_L("...completed with return value '%d'\n"), ret);
- TEST(ret==KErrNone);
- RecordTestResultL();
- break;
- }
- case 5:
- {
- SetTestStepID(_L("UIF-TCone2Step-TestCoeControlAPIsL"));
- INFO_PRINTF1(_L("Test SetContainerWindow APIs"));
- TRAPD(ret, iDriver->TestCoeControlAPIsL());
- INFO_PRINTF2(_L("...completed with return value '%d'\n"), ret);
- TEST(ret==KErrNone);
- RecordTestResultL();
- break;
- }
- case 6:
- {
- SetTestStepID(_L("UIF-TCone2Step-TestColorUseAPIsL"));
- INFO_PRINTF1(_L("Test ColorUse APIs"));
- TRAPD(ret, iDriver->TestColorUseAPIsL());
- INFO_PRINTF2(_L("...completed with return value '%d'\n"), ret);
- TEST(ret==KErrNone);
- RecordTestResultL();
- break;
- }
- case 7:
- {
- SetTestStepID(_L("UIF-TCone2Step-TestConeAppUiSimpleAndMiscAPIsL"));
- INFO_PRINTF1(_L("Test Cone Misc APIs"));
- TRAPD(ret, iDriver->TestConeMiscAPIsL());
- INFO_PRINTF2(_L("...completed with return value '%d'\n"), ret);
- TEST(ret==KErrNone);
- RecordTestResultL();
- break;
- }
- case 8:
- {
- SetTestStepID(_L("UIF-TCone2Step-TestConeInputCapabilitiesAPIs"));
- INFO_PRINTF1(_L("Test InputCapabilities APIs"));
- TRAPD(ret, iDriver->TestConeInputCapabilitiesAPIs());
- INFO_PRINTF2(_L("...completed with return value '%d'\n"), ret);
- TEST(ret==KErrNone);
- RecordTestResultL();
- break;
- }
- case 9:
- {
- SetTestStepID(_L("UIF-TCone2Step-TestSetAndGetSystemDefaultViewAPIsL"));
- INFO_PRINTF1(_L("Test Set and Get system default view APIs"));
- TRAPD(ret, iDriver->TestSetAndGetSystemDefaultViewAPIsL());
- INFO_PRINTF2(_L("...completed with return value '%d'\n"), ret);
- TEST(ret==KErrNone);
- RecordTestResultL();
- break;
- }
- case 10:
- {
- SetTestStepID(_L("UIF-TCone2Step-TestSetandGetCCoeControlAPIsL"));
- INFO_PRINTF1(_L("Test Set and Get APIs for CCoeControl"));
- TRAPD(ret, iDriver->TestSetandGetCCoeControlAPIsL());
- INFO_PRINTF2(_L("...completed with return value '%d'\n"), ret);
- TEST(ret==KErrNone);
- RecordTestResultL();
- CloseTMSGraphicsStep();
- break;
- }
- case 11:
- AutoTestManager().FinishAllTestCases(CAutoTestManager::EPass);
- break;
- default:
- break;
+ {
+ case 1:
+ SetTestStepID(_L("UIF-TCone2Step-TestIsDisplayingDialogAndRemoveFromStackAPIsL"));
+ INFO_PRINTF1(_L("Test IsDisplayingDialog() and RemoveFromStack() APIs"));
+ TRAP(ret,iDriver->TestIsDisplayingDialogAndRemoveFromStackAPIsL());
+ INFO_PRINTF2(KReturn,ret);
+ TEST(ret==KErrNone);
+ RecordTestResultL();
+ break;
+ case 2:
+ SetTestStepID(_L("UIF-TCone2Step-TestMakeVisibleOnChildControlsL"));
+ INFO_PRINTF1(_L("Test makevisible on its child controls"));
+ TRAP(ret,iDriver->TestMakeVisibleOnChildControlsL());
+ INFO_PRINTF2(KReturn,ret);
+ TEST(ret==KErrNone);
+ RecordTestResultL();
+ break;
+ case 3:
+ SetTestStepID(_L("UIF-TCone2Step-TestAppHelpContextAPIL"));
+ INFO_PRINTF1(_L("Test AppHelpContext API"));
+ TRAP(ret,iDriver->TestAppHelpContextAPIL());
+ INFO_PRINTF2(KReturn,ret);
+ TEST(ret==KErrNone);
+ RecordTestResultL();
+ break;
+ case 4:
+ SetTestStepID(_L("UIF-TCone2Step-TestReadResourceAPIsL"));
+ INFO_PRINTF1(_L("Test ReadResource APIs"));
+ TRAP(ret,iDriver->TestReadResourceAPIsL());
+ INFO_PRINTF2(KReturn,ret);
+ TEST(ret==KErrNone);
+ RecordTestResultL();
+ break;
+ case 5:
+ SetTestStepID(_L("UIF-TCone2Step-TestCoeControlAPIsL"));
+ INFO_PRINTF1(_L("Test SetContainerWindow APIs"));
+ TRAP(ret,iDriver->TestCoeControlAPIsL());
+ INFO_PRINTF2(KReturn,ret);
+ TEST(ret==KErrNone);
+ RecordTestResultL();
+ break;
+ case 6:
+ SetTestStepID(_L("UIF-TCone2Step-TestColorUseAPIsL"));
+ INFO_PRINTF1(_L("Test ColorUse APIs"));
+ TRAP(ret,iDriver->TestColorUseAPIsL());
+ INFO_PRINTF2(KReturn,ret);
+ TEST(ret==KErrNone);
+ RecordTestResultL();
+ break;
+ case 7:
+ SetTestStepID(_L("UIF-TCone2Step-TestConeAppUiSimpleAndMiscAPIsL"));
+ INFO_PRINTF1(_L("Test Cone Misc APIs"));
+ TRAP(ret,iDriver->TestConeMiscAPIsL());
+ INFO_PRINTF2(KReturn,ret);
+ TEST(ret==KErrNone);
+ RecordTestResultL();
+ break;
+ case 8:
+ SetTestStepID(_L("UIF-TCone2Step-TestConeInputCapabilitiesAPIs"));
+ INFO_PRINTF1(_L("Test InputCapabilities APIs"));
+ TRAP(ret,iDriver->TestConeInputCapabilitiesAPIs());
+ INFO_PRINTF2(KReturn,ret);
+ TEST(ret==KErrNone);
+ RecordTestResultL();
+ break;
+ case 9:
+ SetTestStepID(_L("UIF-TCone2Step-TestSetAndGetSystemDefaultViewAPIsL"));
+ INFO_PRINTF1(_L("Test Set and Get system default view APIs"));
+ TRAP(ret,iDriver->TestSetAndGetSystemDefaultViewAPIsL());
+ INFO_PRINTF2(KReturn,ret);
+ TEST(ret==KErrNone);
+ RecordTestResultL();
+ break;
+ case 10:
+ SetTestStepID(_L("UIF-TCone2Step-TestSetandGetCCoeControlAPIsL"));
+ INFO_PRINTF1(_L("Test Set and Get APIs for CCoeControl"));
+ TRAP(ret,iDriver->TestSetandGetCCoeControlAPIsL());
+ INFO_PRINTF2(KReturn,ret);
+ TEST(ret==KErrNone);
+ RecordTestResultL();
+ break;
+ case 11:
+ SetTestStepID(KTest11Name);
+ INFO_PRINTF1(KTest11Desc);
+ iDriver->TestLowMemoryCoeControl();
+ INFO_PRINTF1(KFinished);
+ RecordTestResultL();
+ CloseTMSGraphicsStep();
+ break;
+ case 12:
+ AutoTestManager().FinishAllTestCases(CAutoTestManager::EPass);
+ break;
+ default:
+ break;
}
-
}
/**
--- a/lafagnosticuifoundation/cone/tef/TCone2Step.h Fri Mar 12 15:43:43 2010 +0200
+++ b/lafagnosticuifoundation/cone/tef/TCone2Step.h Mon Mar 15 12:41:34 2010 +0200
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
@@ -48,12 +48,13 @@
{
public:
DECLARE_TYPE_ID(0x10004C77)
- void ConstructL();
+ void ConstructL();
+ TInt CreateWindow();
private: // from CCoeControl
void MakeVisible(TBool aVisible);
public:
- TBool iDisplayed;
- };
+ TBool iDisplayed;
+ };
//! A CCoeControl Derived Class.\n
@@ -97,7 +98,8 @@
void TestConeInputCapabilitiesAPIs();
void TestReadResourceAPIsL();
void TestSetandGetCCoeControlAPIsL();
- CTestExecuteLogger& Logger(){return iStep->Logger();};
+ void TestLowMemoryCoeControl();
+ inline CTestExecuteLogger& Logger() {return iStep->Logger();}
private:
//! Handle to AppUi Class.\n
CCoeAppUi& iAppUi;
--- a/uifw/AknGlobalUI/AknCapServer/src/AknMemoryCardDialogImpl.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AknGlobalUI/AknCapServer/src/AknMemoryCardDialogImpl.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -19,7 +19,7 @@
#include <aknmemorycardui.rsg>
#include <StringLoader.h>
#include <aknsoundsystem.h>
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
#include "AknCapServerEntry.h"
#include "AknCapServerDefs.h"
#include "AknMemoryCardDialogImpl.h"
--- a/uifw/AknGlobalUI/NotifierWrapper/src/AknNotiferAppServerApplication.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AknGlobalUI/NotifierWrapper/src/AknNotiferAppServerApplication.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -33,7 +33,7 @@
#include "AknNotiferAppServerApplicationInterface.h"
#include <AknMediatorFacade.h>
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
#include <aknglobalpopupprioritycontroller.h>
//---- Awkward, but declaring base classes otherwise in Akncapserver entry would break app fw.
--- a/uifw/AknGlobalUI/OldStyleNotif/Inc/AknNotifyPlugin.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Inc/AknNotifyPlugin.h Mon Mar 15 12:41:34 2010 +0200
@@ -28,7 +28,7 @@
#include <AknPanic.h>
#include <MediatorEventProvider.h>
#include <MediatorDomainUIDs.h>
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
class CAknIndicatorData;
--- a/uifw/AknGlobalUI/OldStyleNotif/Inc/AknSoftNotificationPlugin.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Inc/AknSoftNotificationPlugin.h Mon Mar 15 12:41:34 2010 +0200
@@ -27,7 +27,7 @@
#include <aknstaticnotedialog.h>
#include <AknNotifyStd.h>
#include <AknMediatorFacade.h> // Not the best for the purpose but will do just fine.
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
#include <AknNotify.h>
#include "AknSystemPopup.h"
#include "AknGroupedNotifierNote.h"
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/AknSystemListMsgPopup.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/AknSystemListMsgPopup.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -35,7 +35,7 @@
#include <AknMediatorFacade.h>
#include <aknSDData.h>
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
#include "AknAppsKeyCleanup.inl"
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/AknSystemListPopup.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/AknSystemListPopup.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -32,7 +32,7 @@
#include <AknMediatorFacade.h>
#include <aknSDData.h>
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
#include "AknAppsKeyCleanup.inl"
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/AknSystemPopup.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/AknSystemPopup.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -49,7 +49,7 @@
#include <AknMediatorFacade.h>
#include <aknSDData.h>
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
#include <AknsUtils.h>
#include <aknglobalpopupprioritycontroller.h>
#include "GlobalWindowPriorities.h"
@@ -1445,7 +1445,7 @@
void CAknGlobalNoteSubject::TryDisplayNextNoteL(TBool aShowAsynch)
{
- if ( iGlobalNoteList && iGlobalNoteList->Count() == 0 )
+ if ( !iGlobalNoteList || iGlobalNoteList->Count() == 0 )
{
return;
}
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/aknkeylocknotifier.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/aknkeylocknotifier.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -33,7 +33,7 @@
#include <aknnotecontrol.h>
#include <aknlayoutscalable_avkon.cdl.h>
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
#include <avkondomainpskeys.h> // KPSUidAvkonDomain, KAknKeyguardStatus, TAknKeyguardStatus
#include <startupdomainpskeys.h> // KStartupSecurityCodeQueryStatus
#include <coreapplicationuisdomainpskeys.h> // KCoreAppUIsAutolockStatus
@@ -1383,8 +1383,6 @@
{
if ( !iAutolockEnabled )
{
- iKeypadLockedNote->ShowNote( KKeyLockCustomShortTimeout,
- CAknNoteDialog::ENoTone );
}
}
@@ -1397,8 +1395,6 @@
{
if ( !iAutolockEnabled )
{
- iKeypadUnlockedNote->ShowNote( KKeyLockCustomShortTimeout,
- CAknNoteDialog::ENoTone );
}
}
@@ -1849,9 +1845,6 @@
{
if ( !iAutolockEnabled )
{
- iLockedNote->ShowNote( KKeyLockDisplayLockedTimeout,
- CAknNoteDialog::ENoTone );
- iLockedNoteDisplayed = ETrue;
}
}
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/aknsystemconfirmationpopup.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/aknsystemconfirmationpopup.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -35,7 +35,7 @@
#include <AknMediatorFacade.h>
#include <aknSDData.h>
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
const TInt KCharsInTInt = 4; // TInt32 takes 4 chars.
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/aknsystemmsgpopup.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/aknsystemmsgpopup.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -34,7 +34,7 @@
#include <aknSDData.h>
#include <AknMediatorFacade.h>
#include <aknnoteattributes.h>
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
#include "AknAppsKeyCleanup.inl"
const TInt KCharsInTInt = 4; // TInt32 takes 4 chars.
--- a/uifw/AknGlobalUI/OldStyleNotif/Src/aknsystemprogresspopup.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AknGlobalUI/OldStyleNotif/Src/aknsystemprogresspopup.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -38,7 +38,7 @@
#include <aknlayoutscalable_avkon.cdl.h>
#include <AknMediatorFacade.h>
#include <aknSDData.h>
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
#include "AknAppsKeyCleanup.inl"
const TInt KCharsInTInt = 4; // TInt32 takes 4 chars.
--- a/uifw/AvKon/Avkon2MifHeader/mifheader.cdl.custom.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/Avkon2MifHeader/mifheader.cdl.custom.h Mon Mar 15 12:41:34 2010 +0200
@@ -22,7 +22,7 @@
#ifndef MIFHEADER_CDL_CUSTOM_H
#define MIFHEADER_CDL_CUSTOM_H
-#include <cdlengdef.h>
+#include <CdlEngDef.h>
#include "mifheader.cdl.common.h"
namespace MifHeader
--- a/uifw/AvKon/EABI/AVKONU.DEF Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/EABI/AVKONU.DEF Mon Mar 15 12:41:34 2010 +0200
@@ -4578,7 +4578,7 @@
_ZNK13CAknAppUiBase23IsSingleClickCompatibleEv @ 4577 NONAME
_ZN19CAknBitmapAnimation15StartAnimationLEi @ 4578 NONAME
_ZN14CAknPopupField19CloseSelectionListLEv @ 4579 NONAME
- _ZN12AknListUtils13DrawSeparatorER16CGraphicsContextRK5TRectRK4TRgb @ 4580 NONAME
+ _ZN12AknListUtils13DrawSeparatorER16CGraphicsContextRK5TRectRK4TRgbP17MAknsSkinInstance @ 4580 NONAME
_ZN17CAknSmileyManager13SetSizeByFontEPK5CFont @ 4581 NONAME
_ZN17CAknSmileyManager19ConvertCodesToTextLER6TDes16 @ 4582 NONAME
_ZN17CAknSmileyManager19ConvertTextToCodesLER6TDes16 @ 4583 NONAME
--- a/uifw/AvKon/aknhlist/inc/akntreelistview.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/aknhlist/inc/akntreelistview.h Mon Mar 15 12:41:34 2010 +0200
@@ -448,12 +448,9 @@
TInt& TopIndex();
TInt& BottomIndex();
-void UpdateIndexes();
-
TInt iItemCountLimit;
TInt iHighlightIndex;
TInt iTopIndex;
-TInt iBottomIndex;
#endif //RD_UI_TRANSITION_EFFECTS_LIST
@@ -866,6 +863,12 @@
*/
void UpdateViewItemAsVisible( CAknTreeItem* aItem );
+ /**
+ * Updates indexes
+ */
+ void UpdateIndexes();
+
+
// from base class CCoeControl
/**
@@ -1083,6 +1086,11 @@
* Long tap detector
*/
CAknLongTapDetector* iLongTapDetector;
+
+ /**
+ * Last visible item index
+ */
+ TInt iBottomIndex;
};
--- a/uifw/AvKon/aknhlist/inc/akntreenode.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/aknhlist/inc/akntreenode.h Mon Mar 15 12:41:34 2010 +0200
@@ -181,6 +181,13 @@
*/
void Sort();
+ /**
+ * Are all children marked
+ *
+ * @return @c ETrue if all children are marked
+ */
+ TBool AllChildrenMarked();
+
// from base class CAknTreeItem
/**
--- a/uifw/AvKon/aknhlist/src/akntreelist.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/aknhlist/src/akntreelist.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -391,6 +391,29 @@
{
Window().Invalidate( View().Rect() );
}
+
+ // Update the marking of upper level node
+ CAknTreeItem* item = Tree().Item( aItem );
+ if ( item && item->Parent() && item->Parent()->IsNode() )
+ {
+ CAknTreeNode* node = item->Parent()->Node();
+ TBool wasMarked = node->IsMarked();
+ if ( node && node->IsMarkable() )
+ {
+ if ( node->AllChildrenMarked() )
+ {
+ node->SetMarked( ETrue );
+ }
+ else
+ {
+ node->SetMarked( EFalse );
+ }
+ }
+ if ( wasMarked != node->IsMarked() )
+ {
+ Window().Invalidate( View().Rect() );
+ }
+ }
}
--- a/uifw/AvKon/aknhlist/src/akntreelistphysicshandler.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/aknhlist/src/akntreelistphysicshandler.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -389,11 +389,8 @@
{
iItemToBeSelected = item;
iTreeListView->SetFocusedItem( item, ii, EFalse );
- // Start long tap detector
- if ( !iTreeListView->HasMarkedItemsL() )
- {
- iTreeListView->LongTapPointerEventL( aPointerEvent );
- }
+ // Start long tap detector
+ iTreeListView->LongTapPointerEventL( aPointerEvent );
}
if ( ii != iTreeListView->FocusedItemIndex() )
{
--- a/uifw/AvKon/aknhlist/src/akntreelistview.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/aknhlist/src/akntreelistview.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2006, 2007 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -1159,9 +1159,7 @@
// Update scrollbars.
UpdateScrollbars();
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
UpdateIndexes();
-#endif
AknsUtils::RegisterControlPosition( this, PositionRelativeToScreen() );
TRAP_IGNORE( InitPhysicsL() );
@@ -1493,9 +1491,7 @@
SetFocusIndex( KMinTInt );
if ( !iItems.Count() )
{
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
UpdateIndexes();
-#endif
return;
}
@@ -1533,9 +1529,7 @@
SetFocusIndex( ii );
}
}
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
UpdateIndexes();
-#endif
}
@@ -1581,9 +1575,7 @@
item = iterator.Next();
}
}
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
UpdateIndexes();
-#endif
}
else if ( itemCount && iItems.Count() )
{
@@ -2778,8 +2770,10 @@
// text color, used to draw the separator line between list items
TRgb textColor( KRgbBlack );
- AknsUtils::GetCachedColor( AknsUtils::SkinInstance(), textColor,
- KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 );
+ AknsUtils::GetCachedColor( skin,
+ textColor,
+ KAknsIIDQsnTextColors,
+ EAknsCIQsnTextColorsCG6 );
const TInt itemCount = iItems.Count();
for ( TInt ii = 0; ii < itemCount; ++ii )
@@ -2823,7 +2817,7 @@
#endif
if ( ii < iBottomIndex )
{
- AknListUtils::DrawSeparator( gc, tfxDrawRect, textColor );
+ AknListUtils::DrawSeparator( gc, drawRect, textColor, skin );
}
TBool focused = ( IsFocused() && FocusedItem() &&
@@ -3168,10 +3162,19 @@
{
return iBottomIndex;
}
-
+
+#endif //RD_UI_TRANSITION_EFFECTS_LIST
+// ---------------------------------------------------------------------------
+// CAknTreeListView::UpdateIndexes
+// ---------------------------------------------------------------------------
+//
void CAknTreeListView::UpdateIndexes()
{
+#ifdef RD_UI_TRANSITION_EFFECTS_LIST
iTopIndex = iBottomIndex = iHighlightIndex = 0;
+#else
+ iBottomIndex = 0;
+#endif //RD_UI_TRANSITION_EFFECTS_LIST
if ( iItems.Count() )
{
@@ -3184,9 +3187,10 @@
}
}
+#ifdef RD_UI_TRANSITION_EFFECTS_LIST
iTopIndex = iTree.VisibleItemIndex(iItems[0].Item());
iHighlightIndex = iTree.VisibleItemIndex(FocusedItem());
+#endif //RD_UI_TRANSITION_EFFECTS_LIST
}
}
-#endif //RD_UI_TRANSITION_EFFECTS_LIST
--- a/uifw/AvKon/aknhlist/src/akntreenode.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/aknhlist/src/akntreenode.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -218,6 +218,27 @@
iChild.Sort( order );
}
+// ---------------------------------------------------------------------------
+// AllChildrenMarked
+// ---------------------------------------------------------------------------
+//
+TBool CAknTreeNode::AllChildrenMarked()
+ {
+ TInt count = iChild.Count();
+ TInt marked ( 0 );
+ for ( TInt ii = count - 1; ii >= 0; --ii )
+ {
+ if ( iChild[ii]->IsMarked() )
+ {
+ marked++;
+ }
+ }
+ if ( count == marked )
+ {
+ return ETrue;
+ }
+ return EFalse;
+ }
// ---------------------------------------------------------------------------
// From class CAknTreeItem.
--- a/uifw/AvKon/bwins/AVKONU.def Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/bwins/AVKONU.def Mon Mar 15 12:41:34 2010 +0200
@@ -3452,7 +3452,7 @@
?IsSingleClickCompatible@CAknAppUiBase@@QBEHXZ @ 3451 NONAME ; int CAknAppUiBase::IsSingleClickCompatible(void) const
?StartAnimationL@CAknBitmapAnimation@@QAEXH@Z @ 3452 NONAME ; void CAknBitmapAnimation::StartAnimationL(int)
?CloseSelectionListL@CAknPopupField@@QAEXXZ @ 3453 NONAME ; void CAknPopupField::CloseSelectionListL(void)
- ?DrawSeparator@AknListUtils@@SAXAAVCGraphicsContext@@ABVTRect@@ABVTRgb@@@Z @ 3454 NONAME ; void AknListUtils::DrawSeparator(class CGraphicsContext &, class TRect const &, class TRgb const &)
+ ?DrawSeparator@AknListUtils@@SAXAAVCGraphicsContext@@ABVTRect@@ABVTRgb@@PAVMAknsSkinInstance@@@Z @ 3454 NONAME ; void AknListUtils::DrawSeparator(class CGraphicsContext &, class TRect const &, class TRgb const &, class MAknsSkinInstance *)
?SetSize@CAknSmileyManager@@QAEXABVTSize@@@Z @ 3455 NONAME ; void CAknSmileyManager::SetSize(class TSize const &)
?DrawText@CAknSmileyManager@@QBEXAAVCWindowGc@@ABVTDesC16@@PBVCFont@@ABVTPoint@@@Z @ 3456 NONAME ; void CAknSmileyManager::DrawText(class CWindowGc &, class TDesC16 const &, class CFont const *, class TPoint const &) const
?NewL@CAknSmileyManager@@SAPAV1@PAVMAknSmileyObserver@@@Z @ 3457 NONAME ; class CAknSmileyManager * CAknSmileyManager::NewL(class MAknSmileyObserver *)
Binary file uifw/AvKon/conf/s60/avkon.confml has changed
Binary file uifw/AvKon/conf/s60/avkon_101F876E.crml has changed
--- a/uifw/AvKon/group/avkon.mmp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/group/avkon.mmp Mon Mar 15 12:41:34 2010 +0200
@@ -347,7 +347,7 @@
LIBRARY HWRMLightClient.lib
LIBRARY aiwdialdata.lib
-DEFFILE AVKON.DEF
+DEFFILE AVKON.def
START WINS
baseaddress 0x7dc00000
--- a/uifw/AvKon/inc/AknAdaptiveSearchGrid.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/inc/AknAdaptiveSearchGrid.h Mon Mar 15 12:41:34 2010 +0200
@@ -100,15 +100,6 @@
*/
void HandleResourceChange( TInt aType );
- /**
- * From CCoeControl.
- * Retrieves an object of the same type as that encapsulated in aId.
- *
- * @param aId An encapsulated object type ID.
- * @return Encapsulated pointer to the object provided.
- * Note that the encapsulated pointer may be NULL.
- */
- TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
/**
* From MCoeControlObserver.
@@ -200,12 +191,6 @@
*/
void SetButtonGridChars( const TDesC& aGridChars );
- /**
- * Sets text into search field.
- *
- * @param const aSearchTxt Reference to the text buffer.
- */
- void SetSearchTextToFindPane( const TDesC& aSearchTxt );
/**
* Initiates buttons for adaptive search grid
@@ -363,9 +348,6 @@
CEikEdwin* iEditor;
TInt iTextLimit;
- // skin context for find pane
- CAknsListBoxBackgroundControlContext* iSkinContextOfFindPane;
- CAknsFrameBackgroundControlContext* iBgContextOfFindPane;
// contex for control pane
CAknsBasicBackgroundControlContext* iBgContextOfControlPane;
--- a/uifw/AvKon/inc/AknPreviewPopUp.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/inc/AknPreviewPopUp.h Mon Mar 15 12:41:34 2010 +0200
@@ -242,6 +242,10 @@
// It is true when user clicks the popup, transfer pointer up event to its child control
TBool iAllowUpEvent;
+
+ // Used to remember the local variable address which used to be
+ // mark whether this object is deleted
+ TBool * iIsDeleted;
};
--- a/uifw/AvKon/inc/AknSignalIcon.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/inc/AknSignalIcon.h Mon Mar 15 12:41:34 2010 +0200
@@ -179,6 +179,15 @@
*/
void ConstructL();
+ /**
+ * Loads the AT&T signal icon to be displayed.
+ *
+ * @param aIconState ID of the signal state, @see signal indicator
+ * states in @c avkon.hrh.
+ * @param aIconColorIndex Color index of the icon.
+ */
+ void LoadATTIconL( TInt aIconState, TInt aIconColorIndex );
+
private:
/**
@@ -207,6 +216,9 @@
/** Flag defining whether or not the offline icon is drawn. */
TBool iShowOffLineIcon;
+
+ /** Flag defining whether or not the ATT is enable. */
+ TInt iATTEnable;
};
#endif // AKNSIGNALICON_H
--- a/uifw/AvKon/notifsrc/AknSDData.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/notifsrc/AknSDData.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -15,7 +15,7 @@
*
*/
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
#include <s32mem.h>
#include "aknSDData.h"
--- a/uifw/AvKon/notifsrc/aknNotify.mmp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/notifsrc/aknNotify.mmp Mon Mar 15 12:41:34 2010 +0200
@@ -64,7 +64,7 @@
LIBRARY akntransitionutils.lib
#endif
-DEFFILE AKNNOTIFY.DEF
+DEFFILE AknNotify.DEF
START WINS
BASEADDRESS 0x7dd30000
--- a/uifw/AvKon/src/AknAdaptiveSearch.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/AknAdaptiveSearch.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -257,7 +257,6 @@
TBuf<KAknStringBufferSize> criteria;
if ( iSearchField->Editor().SelectionLength() > 0 )
{
- iAdaptiveSearchGrid->SetSearchTextToFindPane( criteria );
iSearchField->SetSearchTextL( criteria );
iSearchField->HandleControlEventL( iSearchField, EEventStateChanged );
}
@@ -288,13 +287,8 @@
{
criteria = criteria.Mid( 0, (length-1) );
}
- // Update the AS search field first to be ready for redraw
- iAdaptiveSearchGrid->SetSearchTextToFindPane( criteria );
iSearchField->SetSearchTextL( criteria );
iSearchField->HandleControlEventL( iSearchField, EEventStateChanged );
- iSearchField->SetFocus( EFalse );
- iSearchField->MakeVisible ( EFalse );
- iAdaptiveSearchGrid->SetSearchTextToFindPane( criteria );
iSearchField->DrawNow();
if( iAdaptiveSearchTextObserver )
{
@@ -356,12 +350,8 @@
if ( IsIndicIndependentChar( criteria[length-1] ) )
criteria.Append( KLitHyphen );
- // Update the AS search field first to be ready for redraw
- iAdaptiveSearchGrid->SetSearchTextToFindPane( criteria );
iSearchField->SetSearchTextL( criteria );
iSearchField->HandleControlEventL( iSearchField, EEventStateChanged );
- iSearchField->SetFocus( EFalse );
- iSearchField->MakeVisible ( EFalse );
iSearchField->DrawNow();
if( iAdaptiveSearchTextObserver )
{
@@ -450,47 +440,7 @@
void CAknAdaptiveSearch::InvertAdaptiveSearchGridVisibilityL( TBool aSelectAll )
{
_AKNTRACE_FUNC_ENTER;
- // update the search text here if showing
- TInt textLength = 0;
- if( !iAdaptiveSearchGrid->IsShown() && &(iSearchField->Editor()) )
- {
- textLength = iSearchField->Editor().TextLength();
- HBufC* searchText = NULL;
- TPtrC finalText( KNullDesC );
- if( textLength > 0 )
- {
- TRAP_IGNORE( searchText = iSearchField->Editor().GetTextInHBufL() );
- if( searchText )
- {
- finalText.Set( *searchText ); // set the value
- _AKNDEBUG(
- _LIT( KClassName, "CAknAdaptiveSearch" );
- _LIT( KFunctionName, "InvertAdaptiveSearchGridVisibilityL" );
- _LIT( KFormat, "[%S][%S] Final text is: %S");
- _AKNTRACE( KFormat,
- &KClassName, &KFunctionName, &finalText );
- );
- }
- }
- iAdaptiveSearchGrid->SetSearchTextToFindPane( finalText );
- if( searchText )
- {
- delete searchText;
- searchText = NULL;
- }
- }
- TBool shown( !(iAdaptiveSearchGrid->IsShown()) );
- if ( shown )
- {
- iSearchField->SetFocus( EFalse );
- iSearchField->MakeVisible( EFalse );
- }
- else
- {
- iSearchField->Editor().RemoveFlagFromUserFlags( CEikEdwin::EAvkonDisableVKB );
- iSearchField->MakeVisible( ETrue );
- iSearchField->SetFocus( ETrue );
- }
+ TBool shown ( !iAdaptiveSearchGrid->IsShown() );
iAdaptiveSearchGrid->SetVisibilityL( shown, aSelectAll );
_AKNTRACE_FUNC_EXIT;
}
--- a/uifw/AvKon/src/AknAdaptiveSearchGrid.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/AknAdaptiveSearchGrid.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -124,21 +124,12 @@
{
_AKNTRACE_FUNC_ENTER;
CEikonEnv::Static()->EikAppUi()->RemoveFromStack( this );
- delete iBgContextOfFindPane;
delete iBgContextOfControlPane;
- delete iSkinContextOfFindPane;
- delete iInputFrame;
// Clear current region of AS
iCurrentRegion.Clear();
iButtonArray.ResetAndDestroy();
- if ( iEditor )
- {
- TRAP_IGNORE(iEditor->TextView()->SetCursorVisibilityL(
- TCursor::EFCursorInvisible, TCursor::EFCursorInvisible ));
- delete iEditor;
- }
if( iGridChars )
{
delete iGridChars;
@@ -197,20 +188,12 @@
Window().SetBackgroundColor(~0);
}
}
+ Window().SetPointerGrab( ETrue );
CAknWsEventMonitor* eventMonitor = iAppUi->EventMonitor();
eventMonitor->AddObserverL( this );
eventMonitor->Enable();
- iSkinContextOfFindPane = CAknsListBoxBackgroundControlContext::NewL( KAknsIIDQsnBgAreaControlPopup,
- TRect(0,0,0,0),
- EFalse,
- KAknsIIDNone,
- TRect(0,0,0,0) );
- iBgContextOfFindPane = CAknsFrameBackgroundControlContext::NewL( KAknsIIDQsnFrInput,
- TRect(0,0,0,0),
- TRect(0,0,0,0),
- EFalse );
iBgContextOfControlPane = CAknsBasicBackgroundControlContext::NewL( KAknsIIDQgnGrafAdaptSearchPageBg,
TRect(0,0,0,0), EFalse );
// Init components
@@ -277,59 +260,6 @@
flags |= CAknInputFrame::EFixedFindWithoutLine;
break;
}
- iEditor = new (ELeave) CEikEdwin;
-
- iInputFrame = CAknInputFrame::NewL( iEditor,
- EFalse,
- KAvkonBitmapFile,
- EMbmAvkonQgn_indi_find_glass,
- EMbmAvkonQgn_indi_find_glass_mask,
- flags );
-
- iEditor->SetContainerWindowL( *this );
- iInputFrame->SetContainerWindowL( *this );
-
- AknEditUtils::ConstructEditingL( iEditor,
- iTextLimit,
- 1,
- EAknEditorCharactersLowerCase,
- EAknEditorAlignLeft,
- EFalse,
- ETrue,
- EFalse );
- iEditor->SetObserver( this );
- iEditor->SetBorder( TGulBorder::ENone );
- iEditor->SetAknEditorInputMode( EAknEditorTextInputMode );
- iEditor->SetAknEditorAllowedInputModes( EAknEditorTextInputMode |
- EAknEditorNumericInputMode );
- iEditor->AddFlagToUserFlags( CEikEdwin::EAvkonDisableVKB );
-
- if ( FeatureManager::FeatureSupported( KFeatureIdJapanese ) )
- {
- iEditor->SetAknEditorPermittedCaseModes( EAknEditorCharactersLowerCase );
- }
-
- TInt editorFlags = EAknEditorFlagNoT9 |
- EAknEditorFlagNoLRNavigation |
- EAknEditorFlagForceTransparentFepModes |
- EAknEditorFlagNoEditIndicators |
- EAknEditorFlagFindPane;
-
- iEditor->SetAknEditorFlags( editorFlags );
- iEditor->CreateTextViewL();
-
- iInputFrame->SetInputContext( iBgContextOfFindPane );
- iEditor->SetSkinBackgroundControlContextL( iBgContextOfFindPane );
-
- TRgb textColor = KRgbBlack;
- TInt error = AknsUtils::GetCachedColor( AknsUtils::SkinInstance(),
- textColor,
- KAknsIIDQsnTextColors,
- EAknsCIQsnTextColorsCG19);
- if( !error )
- {
- TRAP_IGNORE( AknLayoutUtils::OverrideControlColorL(*iEditor, EColorLabelText, textColor) );
- }
// Create label for page indicator
iPageIndicator = new (ELeave) CEikLabel;
@@ -652,59 +582,17 @@
}
// -----------------------------------------------------------------------------
-// CAknAdaptiveSearchGrid::MopSupplyObject
-// Retrieves an object of the same type as that encapsulated in aId.
-// -----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CAknAdaptiveSearchGrid::MopSupplyObject( TTypeUid aId )
- {
- if ( aId.iUid == MAknsControlContext::ETypeId && iSkinContextOfFindPane )
- {
- return MAknsControlContext::SupplyMopObject( aId, iSkinContextOfFindPane );
- }
- return MAknsControlContext::SupplyMopObject( aId, NULL );
- }
-
-// -----------------------------------------------------------------------------
// CAknAdaptiveSearchGrid::CountComponentControls
// Gets the number of controls contained in a compound control.
// -----------------------------------------------------------------------------
//
TInt CAknAdaptiveSearchGrid::CountComponentControls() const
{
- // buttons + controls + search field ( editor, input frame )
- return iButtonArray.Count()+5+2;
+ // buttons + controls
+ return iButtonArray.Count()+5;
}
// -----------------------------------------------------------------------------
-// Sets text into search field.
-// Gets one parameters:
-// const TDesC& aSearchTxt - Reference to the text buffer.
-// -----------------------------------------------------------------------------
-//
-void CAknAdaptiveSearchGrid::SetSearchTextToFindPane( const TDesC& aSearchTxt )
- {
- _AKNDEBUG(
- _LIT( KClassName, "CAknAdaptiveSearchGrid" );
- _LIT( KFunctionName, "SetSearchTextToFindPane" );
- _LIT( KFormat, "[%S][%S] search text is: %S");
- _AKNTRACE( KFormat,
- &KClassName, &KFunctionName, &aSearchTxt );
- );
-
- TRAP_IGNORE( iEditor->SetTextL( &aSearchTxt ) );
- if ( iShown )
- {
- TRAP_IGNORE(iEditor->TextView()->SetCursorVisibilityL( TCursor::EFCursorFlashing,
- TCursor::EFCursorFlashing ));
- }
- TInt curPos = iEditor->TextLength();
- //This set selection all off
- TRAP_IGNORE( iEditor->SetSelectionL( curPos, curPos ) );
- iEditor->DrawNow();
- }
-
-// -----------------------------------------------------------------------------
// CAknAdaptiveSearchGrid::ComponentControlh
// Gets the specified component of a compound control.
// -----------------------------------------------------------------------------
@@ -729,10 +617,6 @@
return iDeleteButton;
case 4:
return iPageIndicator;
- case 5:
- return iInputFrame;
- case 6:
- return iEditor;
default:
return NULL;
}
@@ -753,16 +637,6 @@
SetFocus( ETrue);
iCurrentPage = 1;
ShowL();
- if ( iEditor )
- {
- iEditor->SetFocus( ETrue );
- TInt curPos = iEditor->TextLength();
- iEditor->SetCursorPosL( curPos, EFalse );
- if ( aSelectAll)
- {
- iEditor->SelectAllL();
- }
- }
}
else
{
@@ -849,20 +723,6 @@
TRect cell_pane;
TRect grid_pane = RectFromLayout( Rect(), AknLayoutScalable_Apps::grid_afind_pane( iLayoutOption ) );
- TRect find_pane;
-
- if(iPopupFindpane)
- {
- find_pane = RectFromLayout( Rect(), AknLayoutScalable_Avkon::popup_find_window() );
- }
- else
- {
- find_pane = RectFromLayout( Rect(), AknLayoutScalable_Apps::find_pane_cp01( iLayoutOption ) );
- }
- _AKNTRACE( "[%s][%s] rect of find pane is %d %d %d %d ", "CAknAdaptiveSearchGrid", __FUNCTION__,
- find_pane.iTl.iX, find_pane.iTl.iY, find_pane.iBr.iX, find_pane.iBr.iY );
- iInputFrame->SetRect( find_pane );
- iSkinContextOfFindPane->SetRect( find_pane );
// Backspace and close buttons
cell_pane = RectFromLayout( grid_pane, AknLayoutScalable_Apps::cell_afind_pane(iLayoutOption, iNumOfCols-2, iNumOfRows-1) );
@@ -1128,8 +988,6 @@
}
iCloseButton->MakeVisible( ETrue );
iDeleteButton->MakeVisible( ETrue );
- iInputFrame->MakeVisible( ETrue );
- iEditor->MakeVisible( ETrue );
}
// -----------------------------------------------------------------------------
@@ -1237,10 +1095,6 @@
{
return;
}
-
- iEditor->TextView()->SetCursorVisibilityL(
- TCursor::EFCursorInvisible, TCursor::EFCursorInvisible);
-
SetFocus( EFalse );
//fix for TSW error EKDN-7KW9P2
SetShown( EFalse );
@@ -1267,8 +1121,6 @@
}
if ( !IsFocused() && iLastFocusedButton )
iLastFocusedButton->ResetState();
-
- iInputFrame->SetFocus( IsFocused(), aDrawNow );
}
@@ -1297,8 +1149,8 @@
if( pointerEvent.iType == TPointerEvent::EButton1Down )
{
- if( iInputFrame->Rect().Contains(pointerEvent.iPosition) ||
- aDestination != this )
+ if ( !iFindpaneRect.Contains( pointerEvent.iPosition ) &&
+ aDestination != this )
{
MTouchFeedback* feedback = MTouchFeedback::Instance();
@@ -1628,10 +1480,6 @@
_AKNTRACE( "[%s][%s] rect of close button is %d %d %d %d ", "CAknAdaptiveSearchGrid", __FUNCTION__,
button_rect.iTl.iX, button_rect.iTl.iY, button_rect.iBr.iX, button_rect.iBr.iY );
iCurrentRegion.AddRect( button_rect );
- button_rect = iInputFrame->Rect();
- _AKNTRACE( "[%s][%s] rect of Input Frame is %d %d %d %d ", "CAknAdaptiveSearchGrid", __FUNCTION__,
- button_rect.iTl.iX, button_rect.iTl.iY, button_rect.iBr.iX, button_rect.iBr.iY );
- iCurrentRegion.AddRect( button_rect );
if( iNumOfPages > 1 )
{
TRect page_pane;
@@ -1793,10 +1641,6 @@
//
void CAknAdaptiveSearchGrid::SaveFindPaneRect( const TRect &aRect )
{
- //Now we just deal with the landscape conditions
- if ( !Layout_Meta_Data::IsLandscapeOrientation() )
- return;
-
//When width is zero, no need to deal with.
if ( 0 == aRect.Size().iWidth )
return;
--- a/uifw/AvKon/src/AknAppUi.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/AknAppUi.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -69,7 +69,7 @@
#include <gfxtranseffect/gfxtranseffect.h>
#include <aknSDData.h>
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
#include <startupdomainpskeys.h>
#include "transitionmanager.h"
--- a/uifw/AvKon/src/AknCharMap.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/AknCharMap.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -3973,6 +3973,9 @@
{
if (aType == KEikDynamicLayoutVariantSwitch)
{
+
+ SetSmileyAnimationActivityInCurrentPageL(EFalse);
+
TInt cursorIndexBeforeSwitch = (iFirstVisibleRow + iCursorPos.iY) * iMaxColumns + iCursorPos.iX;
TInt recentLengthBeforeSwitch = iMaxColumns;
TBool recentWasSetBeforeSwitch = iSetRecentSct;
@@ -3988,6 +3991,9 @@
// Sets the character case because the buffer content may have changed.
SetCharacterCaseL(iSpecialCharCase);
+
+ SetSmileyAnimationActivityInCurrentPageL(ETrue);
+
TInt cursorIndexAfterSwitch;
if ( !iExtension->iKeyBrdEvent )
{
--- a/uifw/AvKon/src/AknForm.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/AknForm.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -231,9 +231,18 @@
else
{
if ( mayExitEditMode )
- SetEditableL(EFalse); // go out of edit mode of Form
+ {
+ SetEditableL( EFalse ); // go out of edit mode of Form
+ CEikCaptionedControl* line = Line( IdOfFocusControl() );
+ if ( line )
+ {
+ line->SetEditableL( EFalse );
+ line->SetCurrent( EFalse );
+ line->DrawDeferred(); // otherwise will be partly redrawn
+ }
+ }
return EFalse; // remain in form ( but in view mode if save was OK).
- }
+ }
} // end of if (IsEditable())
--- a/uifw/AvKon/src/AknIndicatorContainer.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/AknIndicatorContainer.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -835,7 +835,23 @@
EXPORT_C TInt CAknIndicatorContainer::CountComponentControls() const
{
- return (iIndicatorsShown);
+ TInt n = CountShownIndicator();
+ //__ASSERT_DEBUG ( n == iIndicatorsShown, User::Panic(_L( "indicatorshow"),n ) );
+ return n;
+ }
+
+TInt CAknIndicatorContainer::CountShownIndicator() const
+ {
+ TInt count = iIndicators->Count();
+ TInt indicatorShown = 0;
+ for ( TInt i = 0; i< count; i++ )
+ {
+ if( iIndicators->At(i)->IndicatorState() && iIndicators->At( i )->Priority() != KIndicatorNotShown )
+ {
+ indicatorShown++;
+ }
+ }
+ return indicatorShown;
}
@@ -863,11 +879,17 @@
}
-EXPORT_C void CAknIndicatorContainer::Draw( const TRect& /*aRect*/ ) const
+EXPORT_C void CAknIndicatorContainer::Draw( const TRect& aRect ) const
{
if ( iExtension->iStatusPane &&
iExtension->iStatusPane->IsTransparent() )
{
+ CWindowGc& gc = SystemGc();
+ TRgb rgb(TRgb::Color16MA(0));
+ gc.SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
+ gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
+ gc.SetBrushColor(rgb);
+ gc.Clear(aRect);
return;
}
@@ -1191,30 +1213,29 @@
return;
}
- CAknIndicator* temp;
- for(TInt ii = 1; ii < count; ii++)
+ // Bubble sorted
+ for (TInt i = 0; i < ( count - 1 ); i++)
{
- temp = iIndicators->At(ii);
- TInt tempPriority = temp->Priority();
- if (tempPriority >= 0)
+ TBool swaped = EFalse;
+ for (TInt j = count - 1; j > i; j--)
{
- for(TInt jj = 0; jj <= ii; jj++)
+ if ( iIndicators->At( j )->Priority()
+ < iIndicators->At( j - 1 )->Priority() )
{
- if (tempPriority < iIndicators->At(jj)->Priority())
- {
- iIndicators->Delete( ii );
- CleanupStack::PushL( temp );
- iIndicators->InsertL( jj, temp );
- CleanupStack::Pop( temp );
- break;
- }
- else if ( jj == (ii-1) )
- {
- break;
- }
+ CAknIndicator* temp = iIndicators->At( j );
+ iIndicators->Delete( j );
+ CleanupStack::PushL( temp );
+ iIndicators->InsertL( j - 1, temp );
+ CleanupStack::Pop( temp );
+ swaped = ETrue;
}
}
+ if( !swaped )
+ {
+ break;
+ }
}
+
}
@@ -2973,8 +2994,7 @@
{
if ( extendedFlatLayout )
{
- indicatorLayout =
- AknLayoutScalable_Avkon::indicator_nsta_pane_cp_g4( 0 );
+ showIndicator = EFalse;
}
else
{
@@ -2987,8 +3007,7 @@
{
if ( extendedFlatLayout )
{
- indicatorLayout =
- AknLayoutScalable_Avkon::indicator_nsta_pane_cp_g5( 0 );
+ showIndicator = EFalse;
}
else
{
@@ -3001,8 +3020,7 @@
{
if ( extendedFlatLayout )
{
- indicatorLayout =
- AknLayoutScalable_Avkon::indicator_nsta_pane_cp_g6( 0 );
+ showIndicator = EFalse;
}
else
{
--- a/uifw/AvKon/src/AknPopupSettingPage.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/AknPopupSettingPage.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -44,7 +44,7 @@
#include <aknlistboxtfxinternal.h>
#endif //RD_UI_TRANSITION_EFFECTS_LIST
-#include <aknpriv.hrh>
+#include <AknPriv.hrh>
// ----------------------------------------------------------------------------
// Extension class definition
--- a/uifw/AvKon/src/AknPreviewPopUp.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/AknPreviewPopUp.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -67,7 +67,8 @@
: iContent( aContent ),
iController( aController ),
iFlags( aStyle ),
- iAllowUpEvent(EFalse)
+ iAllowUpEvent(EFalse),
+ iIsDeleted(0)
{
GfxTransEffect::Register( this, KGfxPreviewPopupControlUid );
}
@@ -79,6 +80,12 @@
CAknPreviewPopUp::~CAknPreviewPopUp()
{
AKNTASHOOK_REMOVE();
+
+ if( iIsDeleted )
+ {
+ *iIsDeleted = ETrue ;
+ iIsDeleted = 0 ;
+ }
GfxTransEffect::Deregister( this );
@@ -509,6 +516,9 @@
//
void CAknPreviewPopUp::HandlePointerEventL( const TPointerEvent& aPointerEvent )
{
+ TBool isDelete = EFalse;
+ iIsDeleted = &isDelete;
+
if ( AknLayoutUtils::PenEnabled() )
{
iCloseMenu = EFalse;
@@ -522,6 +532,10 @@
{
iAllowUpEvent = ETrue;
CCoeControl::HandlePointerEventL( aPointerEvent );
+ if( isDelete )
+ {
+ return;
+ }
if ( !( iFlags & CAknPreviewPopUpController::EPermanentMode ) && aPointerEvent.iType == TPointerEvent::EButton1Up && IsVisible() )
{
// if pointer up is already redirected to the content, but the popup is still visible,
@@ -593,6 +607,10 @@
(aPointerEvent.iType == TPointerEvent::EButton1Up && iAllowUpEvent ) )
{
CCoeControl::HandlePointerEventL( aPointerEvent );
+ if( isDelete )
+ {
+ return;
+ }
}
}
else
@@ -601,6 +619,10 @@
aPointerEvent.iType == TPointerEvent::EButtonRepeat )
{
CCoeControl::HandlePointerEventL( aPointerEvent );
+ if( isDelete )
+ {
+ return;
+ }
}
}
@@ -610,6 +632,8 @@
iAllowUpEvent = EFalse;
}
}
+
+ iIsDeleted = 0;
}
// -----------------------------------------------------------------------------
--- a/uifw/AvKon/src/AknSignalIcon.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/AknSignalIcon.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -24,6 +24,9 @@
#include <avkon.mbg>
#include <AknTasHook.h>
+#include <AvkonInternalCRKeys.h>
+#include <centralrepository.h>
+
#include "AknSignalIcon.h"
#include "aknconsts.h"
#include "AknUtils.h"
@@ -162,6 +165,93 @@
return iColorIndex;
}
+void CAknSignalIcon::LoadATTIconL(TInt aIconState,
+ TInt aIconColorIndex )
+ {
+ MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+ CFbsBitmap* bitmap = NULL;
+ CFbsBitmap* mask = NULL;
+
+ switch ( aIconState )
+ {
+ case EAknSignalHsdpaIndicatorAvailable:
+ AknsUtils::CreateColorIconL( skin,
+ KAknsIIDQgnIndiSignalWcdmaIcon,
+ KAknsIIDQsnIconColors,
+ aIconColorIndex,
+ bitmap,
+ mask,
+ AknIconUtils::AvkonIconFileName(),
+ EMbmAvkonQgn_indi_signal_wcdma_icon,
+ EMbmAvkonQgn_indi_signal_wcdma_icon_mask,
+ KRgbGray );
+ break;
+ case EAknSignalHsdpaIndicatorAttached:
+ case EAknSignalHsdpaIndicatorEstablishingContext:
+ AknsUtils::CreateColorIconL( skin,
+ KAknsIIDQgnIndiSignalWcdmaAttach,
+ KAknsIIDQsnIconColors,
+ aIconColorIndex,
+ bitmap,
+ mask,
+ AknIconUtils::AvkonIconFileName(),
+ EMbmAvkonQgn_indi_signal_wcdma_attach,
+ EMbmAvkonQgn_indi_signal_wcdma_attach_mask,
+ KRgbGray );
+ break;
+ case EAknSignalHsdpaIndicatorContext:
+ AknsUtils::CreateColorIconL( skin,
+ KAknsIIDQgnIndiSignalWcdmaContext,
+ KAknsIIDQsnIconColors,
+ aIconColorIndex,
+ bitmap,
+ mask,
+ AknIconUtils::AvkonIconFileName(),
+ EMbmAvkonQgn_indi_signal_wcdma_context,
+ EMbmAvkonQgn_indi_signal_wcdma_context_mask,
+ KRgbGray );
+ break;
+ case EAknSignalHsdpaIndicatorMultipdp:
+ AknsUtils::CreateColorIconL( skin,
+ KAknsIIDQgnIndiSignalWcdmaMultipdp,
+ KAknsIIDQsnIconColors,
+ aIconColorIndex,
+ bitmap,
+ mask,
+ AknIconUtils::AvkonIconFileName(),
+ EMbmAvkonQgn_indi_signal_wcdma_multipdp,
+ EMbmAvkonQgn_indi_signal_wcdma_multipdp_mask,
+ KRgbGray );
+ break;
+ case EAknSignalHsdpaIndicatorSuspended:
+ AknsUtils::CreateColorIconL( skin,
+ KAknsIIDQgnIndiSignalWcdmaSuspended,
+ KAknsIIDQsnIconColors,
+ aIconColorIndex,
+ bitmap,
+ mask,
+ AknIconUtils::AvkonIconFileName(),
+ EMbmAvkonQgn_indi_signal_wcdma_suspended,
+ EMbmAvkonQgn_indi_signal_wcdma_suspended_mask,
+ KRgbGray );
+ break;
+ }
+ if ( bitmap )
+ {
+ delete iSignalIcon;
+ iSignalIcon = bitmap;
+ AknIconUtils::SetSize( iSignalIcon, Size() );
+ }
+
+ if ( mask )
+ {
+ delete iSignalIconMask;
+ iSignalIconMask = mask;
+ }
+
+ iIconState = aIconState;
+ iColorIndex = aIconColorIndex;
+ }
// ---------------------------------------------------------------------------
// CAknSignalIcon::LoadIconL
// ---------------------------------------------------------------------------
@@ -182,6 +272,8 @@
CFbsBitmap* bitmap = NULL;
CFbsBitmap* mask = NULL;
+ TBool isHsdpa = ( aIconState >= EAknSignalHsdpaIndicatorAvailable
+ && aIconState <= EAknSignalHsdpaIndicatorMultipdp );
if ( iOffLine )
{
// Offline mode is not an actual signal state in the signal icon
@@ -200,6 +292,11 @@
}
else
{
+ if( iATTEnable && isHsdpa)
+ {
+ LoadATTIconL( aIconState, aIconColorIndex );
+ return;
+ }
switch( aIconState )
{
// Old legacy GPRS icons.
@@ -678,6 +775,17 @@
//
void CAknSignalIcon::ConstructL()
{
+ CRepository* repo = CRepository::NewL( KCRUidAvkon );
+
+ TInt aTTEnabled = EFalse;
+ iATTEnable = EFalse;
+ TInt crErr = repo->Get( KAknATTSignalIconEnable, aTTEnabled );
+ if ( crErr == KErrNone )
+ {
+ iATTEnable = aTTEnabled;
+ }
+ delete repo;
+ repo = NULL;
}
// End of File
--- a/uifw/AvKon/src/AknSmileyModel.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/AknSmileyModel.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -707,7 +707,7 @@
while(ptr.Length())
{
TInt i = 0;
- for(; i<aText.Length(); i++) // find next smiley code
+ for(; i<ptr.Length(); i++) // find next smiley code
{
if(IsSmiley(ptr[i]))
{
--- a/uifw/AvKon/src/AknTextSettingPage.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/AknTextSettingPage.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -227,6 +227,7 @@
iBackupText = iText.AllocL();
CEikEdwin* editor = TextControl();
+ editor->EnableKineticScrollingL( ETrue );
// Inhibit predictive text entry unless allowed by API
if ( !(iTextSettingPageFlags & EPredictiveTextEntryPermitted) )
editor->SetAknEditorFlags( EAknEditorFlagNoT9 | editor->AknEdwinFlags() );
--- a/uifw/AvKon/src/aknbattery.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/aknbattery.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -104,7 +104,7 @@
iBatteryStrengthControl->SetContainerWindowL( *this );
iPrivateFlags = 0; // reset flags
iDataObserver = new (ELeave) CAknBatteryDataObserver( this );
- iIsActiveIdle = AknStatuspaneUtils::IsActiveIdle();
+ iStatusPane = CEikStatusPaneBase::Current();
MTouchFeedback* feedback = MTouchFeedback::Instance();
if ( feedback )
@@ -394,11 +394,17 @@
// Draws the battery pane.
// ---------------------------------------------------------------------------
//
-EXPORT_C void CAknBatteryPane::Draw( const TRect& /*aRect*/ ) const
+EXPORT_C void CAknBatteryPane::Draw( const TRect& aRect ) const
{
if ( iStatusPane &&
iStatusPane->IsTransparent() )
{
+ CWindowGc& gc = SystemGc();
+ TRgb rgb(TRgb::Color16MA(0));
+ gc.SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
+ gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
+ gc.SetBrushColor(rgb);
+ gc.Clear(aRect);
return;
}
--- a/uifw/AvKon/src/aknchoicelist.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/aknchoicelist.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -165,7 +165,8 @@
*/
NONSHARABLE_CLASS( CAknChoiceListPopup ) : public CCoeControl,
public MEikListBoxObserver,
- MEikCommandObserver
+ MEikCommandObserver,
+ public MCoeForegroundObserver
{
public:
CAknChoiceListPopup() : iIndex( -1 ), iCancelled( EFalse )
@@ -245,6 +246,8 @@
iAvkonAppUi->RemoveFromStack( this );
iEikonEnv->BringForwards( EFalse );
AknGlobalPopupPriorityController::ShowPopup(*this, EFalse);
+ DrawableWindow()->SetNonFading( EFalse );
+ iCoeEnv->RemoveForegroundObserver( *this );
if ( AknLayoutUtils::PenEnabled() )
{
@@ -391,7 +394,9 @@
iEikonEnv->BringForwards( ETrue );
DrawableWindow()->SetOrdinalPosition( 0 );
AknGlobalPopupPriorityController::ShowPopup(*this, ETrue);
-
+ DrawableWindow()->SetNonFading( ETrue );
+ iCoeEnv->AddForegroundObserverL( *this );
+
// this will fix possibly corrupted index
if ( iIndex < iList->Model()->ItemTextArray()->MdcaCount() && iIndex >= 0 )
{
@@ -481,6 +486,15 @@
}
return EKeyWasNotConsumed;
}
+
+ void HandleGainingForeground()
+ {
+ }
+
+ void HandleLosingForeground()
+ {
+ CloseChoiceList();
+ }
private:
--- a/uifw/AvKon/src/akncolourselectiongrid.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/akncolourselectiongrid.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -192,7 +192,196 @@
#endif
aGc.DrawRect( gridRect );
};
-
+
+// CLASS DECLARATION
+
+/**
+* CMainTextArray
+*
+*
+*
+* @lib avkon
+* @since 2.0
+*/
+
+NONSHARABLE_CLASS(CMainTextArray) : public MDesCArray, public CBase
+ {
+ public:
+
+ /**
+ * C++ default constructor.
+ */
+ CMainTextArray(TBool &aNoneExist);
+ /**
+ * Destructor.
+ */
+ ~CMainTextArray();
+
+ /**
+ * MdcaCount
+ * @since 2.0
+ * @return
+ */
+ virtual TInt MdcaCount() const;
+
+ /**
+ * MdcaPoint
+ * @since 2.0
+ * @param aIndex
+ * @return
+ */
+ virtual TPtrC MdcaPoint(TInt aIndex) const;
+
+ /**
+ * ConstructL
+ * @since 2.0
+ * @param aColours Array of colours to be in grid
+ */
+ void ConstructL(CArrayFixFlat<TRgb>* aColours);
+
+ /**
+ * ReSizeIcons
+ * @since 5.2
+ * @param aWidth the width of icon
+ * @param aheight the height of icon
+ */
+ void ReSizeIcons( TInt aWidth, TInt aHeight );
+
+ public: // Data
+ CGulIcon* iIcon[16];
+
+ private: // Data
+ mutable TInt iIndex;
+ TInt iColourNmbr;
+ TBool iNoneExist;
+ CArrayFixFlat<TRgb>* iColours;
+ CFbsBitmap* iBitmap[16];
+ CFbsBitmapDevice* iBmpDevice[16];
+ HBufC *iString;
+
+ };
+
+// ---------------------------------------------------------
+// CMainTextArray::CMainTextArray()
+//
+// ---------------------------------------------------------
+//
+CMainTextArray::CMainTextArray(TBool &aNoneExist)
+ : iNoneExist(aNoneExist)
+ {
+ }
+// ---------------------------------------------------------
+// CMainTextArray::~CMainTextArray()
+//
+// ---------------------------------------------------------
+//
+CMainTextArray::~CMainTextArray()
+ {
+ for (TInt i = 0;i<iColourNmbr;i++)
+ {
+ delete iBitmap[i];
+ delete iBmpDevice[i];
+ }
+ delete iString;
+ }
+
+// ---------------------------------------------------------
+// CMainTextArray::ConstructL()
+//
+// ---------------------------------------------------------
+//
+void CMainTextArray::ConstructL(CArrayFixFlat<TRgb>* aColours)
+ {
+
+ this->iColours = aColours;
+ iColourNmbr = aColours->Count();
+ if (iColourNmbr > 16)
+ {
+ iColourNmbr = 16;
+ }
+ TAknLayoutRect r;
+ TAknLayoutRect rectPane;
+ rectPane.LayoutRect( TRect( 0, 0, 0, 0 ),
+ AknLayoutScalable_Avkon::cell_large_graphic_colour_popup_pane(
+ iNoneExist,
+ 0,
+ 0).LayoutLine());
+ r.LayoutRect( rectPane.Rect(),
+ AknLayoutScalable_Avkon::cell_large_graphic_colour_popup_pane_g1().LayoutLine());
+ TSize bmpsize( r.Rect().Width(), r.Rect().Height() );
+ for ( TInt i = 0; i < iColourNmbr; i++ )
+ {
+ iBitmap[i] = new (ELeave) CFbsBitmap();
+ iBitmap[i]->Create(bmpsize,EColor4K);
+ iIcon[i] = CGulIcon::NewL(iBitmap[i]);
+ iIcon[i]->SetBitmapsOwnedExternally(ETrue);
+ iBmpDevice[i] = CFbsBitmapDevice::NewL(iBitmap[i]);
+ iBmpDevice[i]->Resize(iBitmap[i]->SizeInPixels());
+ }
+ iString = HBufC::NewL(10);
+ }
+
+// ---------------------------------------------------------
+// CMainTextArray::ReSizeIcons()
+//
+// ---------------------------------------------------------
+//
+void CMainTextArray::ReSizeIcons( TInt aWidth, TInt aHeight )
+ {
+ TSize bmpsize( aWidth, aHeight );
+ for ( TInt i = 0; i < iColourNmbr; i++ )
+ {
+ if ( iBitmap[i] )
+ {
+ iBitmap[i]->Resize( bmpsize );
+ }
+ if ( iBmpDevice[i] )
+ {
+ iBmpDevice[i]->Resize( iBitmap[i]->SizeInPixels() );
+ }
+ }
+ }
+
+// ---------------------------------------------------------
+// CMainTextArray::MdcaCount()
+//
+// ---------------------------------------------------------
+//
+TInt CMainTextArray::MdcaCount() const
+ {
+ return(iColourNmbr);
+ }
+
+// ---------------------------------------------------------
+// CMainTextArray::MdcaPoint()
+//
+// ---------------------------------------------------------
+//
+TPtrC CMainTextArray::MdcaPoint(TInt aIndex) const
+ {
+ TRAP_IGNORE(
+ {
+
+ CFbsBitGc* fbsBitGc = CFbsBitGc::NewL();
+ CleanupStack::PushL( fbsBitGc );
+
+ fbsBitGc->Activate(iBmpDevice[aIndex]);
+
+ fbsBitGc->SetBrushStyle(CGraphicsContext::ESolidBrush);
+ if (aIndex < iColourNmbr)
+ {
+ fbsBitGc->SetBrushColor(iColours->At(aIndex));
+ }
+ fbsBitGc->Clear();
+
+ CleanupStack::PopAndDestroy(); // fbsBitGc
+ });
+ //fix for TSW error AJUA-7MTAXE
+ iString->Des().Num(aIndex);
+
+ return *iString;
+ }
+
// CLASS DECLARATION
/**
@@ -395,6 +584,18 @@
TInt cellWidth = colourCellSize.Rect().Width() - 1;
TInt cellHeight = colourCellSize.Rect().Height() - 1;
+ TAknLayoutRect r;
+ TAknLayoutRect rectPane;
+ rectPane.LayoutRect( gridRect,
+ AknLayoutScalable_Avkon::cell_large_graphic_colour_popup_pane(
+ iNoneExist,
+ 0,
+ 0 ).LayoutLine() );
+ r.LayoutRect( rectPane.Rect(),
+ AknLayoutScalable_Avkon::cell_large_graphic_colour_popup_pane_g1().LayoutLine() );
+ MDesCArray* iconArray = Model()->ItemTextArray();
+ static_cast<CMainTextArray*>(iconArray)->ReSizeIcons( r.Rect().Width(), r.Rect().Height() );
+
// Define the overall size of the cell
AknListBoxLayouts::SetupGridPos(*this, 0, 0, 0, 0, cellWidth, cellHeight);
@@ -1338,168 +1539,7 @@
}
-// CLASS DECLARATION
-/**
-* CMainTextArray
-*
-*
-*
-* @lib avkon
-* @since 2.0
-*/
-
-NONSHARABLE_CLASS(CMainTextArray) : public MDesCArray, public CBase
- {
- public:
-
- /**
- * C++ default constructor.
- */
- CMainTextArray(TBool &aNoneExist);
- /**
- * Destructor.
- */
- ~CMainTextArray();
-
- /**
- * MdcaCount
- * @since 2.0
- * @return
- */
- virtual TInt MdcaCount() const;
-
- /**
- * MdcaPoint
- * @since 2.0
- * @param aIndex
- * @return
- */
- virtual TPtrC MdcaPoint(TInt aIndex) const;
-
- /**
- * ConstructL
- * @since 2.0
- * @param aColours Array of colours to be in grid
- */
- void ConstructL(CArrayFixFlat<TRgb>* aColours);
-
- public: // Data
- CGulIcon* iIcon[16];
-
- private: // Data
- mutable TInt iIndex;
- TInt iColourNmbr;
- TBool iNoneExist;
- CArrayFixFlat<TRgb>* iColours;
- CFbsBitmap* iBitmap[16];
- CFbsBitmapDevice* iBmpDevice[16];
- HBufC *iString;
-
- };
-
-// ---------------------------------------------------------
-// CMainTextArray::CMainTextArray()
-//
-// ---------------------------------------------------------
-//
-CMainTextArray::CMainTextArray(TBool &aNoneExist)
- : iNoneExist(aNoneExist)
- {
- }
-// ---------------------------------------------------------
-// CMainTextArray::~CMainTextArray()
-//
-// ---------------------------------------------------------
-//
-CMainTextArray::~CMainTextArray()
- {
- for (TInt i = 0;i<iColourNmbr;i++)
- {
- delete iBitmap[i];
- delete iBmpDevice[i];
- }
- delete iString;
- }
-
-// ---------------------------------------------------------
-// CMainTextArray::ConstructL()
-//
-// ---------------------------------------------------------
-//
-void CMainTextArray::ConstructL(CArrayFixFlat<TRgb>* aColours)
- {
-
- this->iColours = aColours;
- iColourNmbr = aColours->Count();
- if (iColourNmbr > 16)
- {
- iColourNmbr = 16;
- }
-
- TAknLayoutRect r;
- TAknLayoutRect r_pane;
- TInt w, h;
- r_pane.LayoutRect(TRect(0,0,0,0), AknLayoutScalable_Avkon::cell_large_graphic_colour_popup_pane(iNoneExist, 0, 0).LayoutLine());
- r.LayoutRect(r_pane.Rect(), AknLayoutScalable_Avkon::cell_large_graphic_colour_popup_pane_g1().LayoutLine());
- w = r.Rect().Width();
- h = r.Rect().Height();
- TSize bmpsize(w,h);
-
- for (TInt i = 0;i<iColourNmbr;i++)
- {
- iBitmap[i] = new (ELeave) CFbsBitmap();
- iBitmap[i]->Create(bmpsize,EColor4K);
- iIcon[i] = CGulIcon::NewL(iBitmap[i]);
- iIcon[i]->SetBitmapsOwnedExternally(ETrue);
- iBmpDevice[i] = CFbsBitmapDevice::NewL(iBitmap[i]);
- iBmpDevice[i]->Resize(iBitmap[i]->SizeInPixels());
- }
-
- iString = HBufC::NewL(10);
- }
-
-
-// ---------------------------------------------------------
-// CMainTextArray::MdcaCount()
-//
-// ---------------------------------------------------------
-//
-TInt CMainTextArray::MdcaCount() const
- {
- return(iColourNmbr);
- }
-
-// ---------------------------------------------------------
-// CMainTextArray::MdcaPoint()
-//
-// ---------------------------------------------------------
-//
-TPtrC CMainTextArray::MdcaPoint(TInt aIndex) const
- {
- TRAP_IGNORE(
- {
-
- CFbsBitGc* fbsBitGc = CFbsBitGc::NewL();
- CleanupStack::PushL( fbsBitGc );
-
- fbsBitGc->Activate(iBmpDevice[aIndex]);
-
- fbsBitGc->SetBrushStyle(CGraphicsContext::ESolidBrush);
- if (aIndex < iColourNmbr)
- {
- fbsBitGc->SetBrushColor(iColours->At(aIndex));
- }
-
- fbsBitGc->Clear();
-
- CleanupStack::PopAndDestroy(); // fbsBitGc
- });
- //fix for TSW error AJUA-7MTAXE
- iString->Des().Num(aIndex);
-
- return *iString;
- }
// ============================ MEMBER FUNCTIONS ===============================
--- a/uifw/AvKon/src/aknindicator.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/aknindicator.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -608,6 +608,13 @@
}
MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+
+ if ( iIndicatorBitmaps[layoutMode]->Count() <= 0 || !iIndicatorBitmaps[layoutMode]->At( 0 ) )
+ {
+
+ __ASSERT_DEBUG( EFalse, User::Panic( _L("indicatorcount"),iIndicatorBitmaps[layoutMode]->Count()));
+ return;
+ }
TSize iconSize( iIndicatorBitmaps[layoutMode]->At( 0 )->SizeInPixels() );
TInt iconWidth = iconSize.iWidth;
TInt iconHeight = iconSize.iHeight;
@@ -652,8 +659,9 @@
}
}
- if ( iIndicatorBitmaps[layoutMode]->At( iAnimState * 2 ) &&
- iIndicatorBitmaps[layoutMode]->At( iAnimState * 2 + 1 ) )
+ if ( ( iAnimState * 2 + 1 ) < iIndicatorBitmaps[layoutMode]->Count()
+ && iIndicatorBitmaps[layoutMode]->At(iAnimState * 2)
+ && iIndicatorBitmaps[layoutMode]->At(iAnimState * 2 + 1))
{
CFbsBitmap* mask = iIndicatorBitmaps[layoutMode]->At( iAnimState * 2 + 1 );
if ( iExtension && iExtension->iFader )
@@ -671,7 +679,8 @@
mask,
ETrue );
}
- else if ( iIndicatorBitmaps[layoutMode]->At( iAnimState * 2 ) )
+ else if (( iAnimState * 2 ) < iIndicatorBitmaps[layoutMode]->Count()
+ && iIndicatorBitmaps[layoutMode]->At(iAnimState * 2) )
{
// Draw editor indicator bitmap without mask
CFbsBitmap* mask = iIndicatorBitmaps[layoutMode]->At( iAnimState * 2 );
--- a/uifw/AvKon/src/akninfrm.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/akninfrm.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -278,7 +278,7 @@
TBool apac( AknLayoutUtils::Variant() == EApacVariant && ( iFlags & EShowIndicators ) );
- TAknWindowComponentLayout outline = AknLayoutScalable_Avkon::input_find_pane();
+ TAknWindowComponentLayout outline = AknLayoutScalable_Avkon::find_pane();
TAknWindowLineLayout iconPos = AknLayoutScalable_Avkon::find_popup_pane_g1().LayoutLine();
TAknTextComponentLayout editor = AknLayoutScalable_Avkon::input_popup_find_pane_t1( apac ? 2 : 0 );
@@ -331,7 +331,7 @@
{
_AKNTRACE( "[%s][%s] Standard Layout",
"CAknInputFrame", __FUNCTION__ );
- outline = AknLayoutScalable_Avkon::input_find_pane();
+ outline = AknLayoutScalable_Avkon::find_pane();
iconPos = AknLayoutScalable_Avkon::find_pane_g1();
editor = AknLayoutScalable_Avkon::input_find_pane_t2( apac ? 1: 0 );
r.LayoutRect( rect, AknLayoutScalable_Avkon::input_find_pane() );
--- a/uifw/AvKon/src/aknlistquerydialog.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/aknlistquerydialog.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -19,7 +19,7 @@
#include <AknMediatorFacade.h>
#include <MediatorEventProvider.h>
#include <MediatorDomainUIDs.h>
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
#include "aknPopupHeadingPane.h"
#include "aknlistquerycontrol.h"
--- a/uifw/AvKon/src/aknlists.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/aknlists.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -3674,7 +3674,7 @@
d->SetStretchableTextSubCellL( 3,
AknLayoutScalable_Avkon::list_double_time_pane_t2( 0 ),
- AknLayoutScalable_Avkon::list_double_time_pane_vc_t2( 0 ) );
+ AknLayoutScalable_Avkon::list_double_time_pane_vc_t2( 3 ) );
d->SetStretchableGraphicSubCellL( 4,
AknLayoutScalable_Avkon::list_double_time_pane_g1( 0 ),
@@ -3687,11 +3687,11 @@
// Conditional subcells must be added in priority order!
d->SetStretchableConditionalSubCellL( 5,
AknLayoutScalable_Avkon::list_double_time_pane_t1( 2 ),
- AknLayoutScalable_Avkon::list_double_time_pane_vc_t2( 2 ), 2, 3 );
+ AknLayoutScalable_Avkon::list_double_time_pane_vc_t2( 5 ), 2, 3 );
d->SetStretchableConditionalSubCellL( 4,
AknLayoutScalable_Avkon::list_double_time_pane_t1( 1 ),
- AknLayoutScalable_Avkon::list_double_time_pane_vc_t2( 1 ), 2, 3 );
+ AknLayoutScalable_Avkon::list_double_time_pane_vc_t2( 4 ), 2, 3 );
_AKNTRACE_FUNC_EXIT;
}
--- a/uifw/AvKon/src/aknnavi.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/aknnavi.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -1579,11 +1579,17 @@
// ---------------------------------------------------------------------------
//
EXPORT_C void CAknNavigationControlContainer::Draw(
- const TRect& /*aRect*/ ) const
+ const TRect& aRect ) const
{
if ( iExtension->iStatusPane &&
iExtension->iStatusPane->IsTransparent() )
{
+ CWindowGc& gc = SystemGc();
+ TRgb rgb(TRgb::Color16MA(0));
+ gc.SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
+ gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
+ gc.SetBrushColor(rgb);
+ gc.Clear(aRect);
return;
}
@@ -1866,7 +1872,7 @@
//
void CAknNavigationControlContainer::NotifyNaviWipeStatusL()
{
- if ( iExtension && iExtension->iDestructionOngoing )
+ if ( !iExtension || iExtension->iDestructionOngoing )
{
return;
}
--- a/uifw/AvKon/src/aknsignal.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/aknsignal.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -531,11 +531,17 @@
// Draws the signal pane.
// ---------------------------------------------------------------------------
//
-EXPORT_C void CAknSignalPane::Draw( const TRect& /*aRect*/ ) const
+EXPORT_C void CAknSignalPane::Draw( const TRect& aRect ) const
{
if ( iExtension->iStatusPane &&
iExtension->iStatusPane->IsTransparent() )
{
+ CWindowGc& gc = SystemGc();
+ TRgb rgb(TRgb::Color16MA(0));
+ gc.SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
+ gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
+ gc.SetBrushColor(rgb);
+ gc.Clear(aRect);
return;
}
--- a/uifw/AvKon/src/akntitle.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/akntitle.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -214,9 +214,7 @@
// set flags to default values
iExtension->iFlags = 0;
}
-
- iExtension->iStatusPane = CEikStatusPaneBase::Current();
-
+ iExtension->iStatusPane = CEikStatusPaneBase::Current();
}
@@ -229,6 +227,7 @@
{
CommonConstructL();
ReadFromResourceFileL( aReader );
+ iExtension->iStatusPane = CEikStatusPaneBase::Current();
}
@@ -919,7 +918,12 @@
TPtr ptr = iText->Des();
AknBidiTextUtils::ConvertToVisualAndWrapToStringL(
aText, *iLineWidthArray, *font, ptr, ETrue );
-
+
+ TInt len = iText->Length();
+ if (( aLineNum == 1 ) && ( iText->LocateReverseF( '\n' ) == len -1 ) && len >= 1 )
+ {
+ ptr.Delete( len - 1, 1 );
+ }
}
--- a/uifw/AvKon/src/aknutils.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/aknutils.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -119,7 +119,7 @@
#include "AknAdaptiveSearch.h"
#include <PtiEngine.h>
-#include <akntrace.h>
+#include "akntrace.h"
#ifdef RD_HINDI_PHONETIC_INPUT
#include <ptiindicdefs.h>
@@ -134,6 +134,10 @@
const TInt KFontHeightComparisonDivisor = 20;
const TInt KInvalidIndex = -1;
+// Default for list separator line color's alpha value, used if not
+// found from skin.
+const TInt KDefaultSeparatorAlpha = 32;
+
enum TAknLayoutEdwinPanic
{
EAknLayoutEdwinPanicNoEdwin,
@@ -3407,24 +3411,28 @@
{
TAknWindowComponentLayout line;
TAknLayoutRect rect;
- TRect screenRect(0, 0, AKN_LAYOUT_WINDOW_screen.iW, AKN_LAYOUT_WINDOW_screen.iH);
- aRect.SetRect( 0, 0, 0, 0 );
+ rect.LayoutRect( TRect( 0, 0, 0, 0 ), AknLayoutScalable_Avkon::Screen() );
+ TRect screenRect( rect.Rect() );
// No stacon pane active etc. cheking is done here before the switch-case so that we can
// have slightly better performance for some other lookups (e.g. screen).
- switch (aParam)
+ switch ( aParam )
{
case EScreen:
+ {
aRect = screenRect;
return ETrue;
+ }
case EApplicationWindow:
- rect.LayoutRect(
- screenRect,
- AknLayoutScalable_Avkon::application_window( 0 ) );
- aRect = rect.Rect();
+ {
+ // Application window is always the same as screen, so skip
+ // reading the application_window from layout data for
+ // performance improvement.
+ aRect = screenRect;
return ETrue;
+ }
case EStatusPane:
{
@@ -3433,118 +3441,126 @@
if ( statusPane )
{
TInt currentStatusPaneLayoutResId = statusPane->CurrentLayoutResId();
-
- if ( AknStatuspaneUtils::StaconPaneActive() )
+
+ TAknWindowComponentLayout parent;
+
+ switch ( currentStatusPaneLayoutResId )
{
- // flat status pane in landscape mode is the whole top pane area
- if ( currentStatusPaneLayoutResId == R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT ||
- currentStatusPaneLayoutResId == R_AVKON_STATUS_PANE_LAYOUT_IDLE_FLAT )
+ case R_AVKON_STATUS_PANE_LAYOUT_USUAL_WITH_BATTERY_PANE:
+ case R_AVKON_STATUS_PANE_LAYOUT_USUAL:
+ case R_AVKON_STATUS_PANE_LAYOUT_POWER_OFF_RECHARGE:
+ case R_AVKON_STATUS_PANE_LAYOUT_USUAL_MIRRORED:
+ case R_AVKON_STATUS_PANE_LAYOUT_POWER_OFF_RECHARGE_MIRRORED:
+ case R_AVKON_STATUS_PANE_LAYOUT_VT:
+ case R_AVKON_STATUS_PANE_LAYOUT_VT_MIRRORED:
+ case R_AVKON_STATUS_PANE_LAYOUT_USUAL_EXT:
+ default:
+ {
+ parent = AknLayoutScalable_Avkon::area_top_pane( 0 );
+ line = AknLayoutScalable_Avkon::status_pane( 0 );
+ break;
+ }
+
+ case R_AVKON_STATUS_PANE_LAYOUT_IDLE:
+ case R_AVKON_STATUS_PANE_LAYOUT_IDLE_MIRRORED:
+ {
+ parent = AknLayoutScalable_Avkon::area_top_pane( 7 );
+ line = AknLayoutScalable_Avkon::status_idle_pane(); // idle status pane
+ break;
+ }
+
+ case R_AVKON_STATUS_PANE_LAYOUT_SMALL:
+ case R_AVKON_STATUS_PANE_LAYOUT_SMALL_WITH_SIGNAL_PANE:
+ case R_AVKON_STATUS_PANE_LAYOUT_SMALL_WITH_SIGNAL_PANE_MIRRORED:
+ {
+ // Small status pane is the whole top area.
+ parent = AknLayoutScalable_Avkon::application_window( 0 );
+ if ( Layout_Meta_Data::IsLandscapeOrientation() &&
+ AknLayoutUtils::CbaLocation() == AknLayoutUtils::EAknCbaLocationBottom )
+ {
+ line = AknLayoutScalable_Avkon::area_top_pane( 2 );
+ }
+ else
+ {
+ line = AknLayoutScalable_Avkon::area_top_pane( 1 );
+ }
+
+ break;
+ }
+
+ case R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT:
+ case R_AVKON_STATUS_PANE_LAYOUT_IDLE_FLAT: // fallthrough
{
- rect.LayoutRect( screenRect, AknLayoutScalable_Avkon::area_top_pane(8) ); // flat area_top_pane in lsc
+ if ( Layout_Meta_Data::IsLandscapeOrientation() )
+ {
+ parent = AknLayoutScalable_Avkon::area_top_pane( 2 );
+ }
+ else
+ {
+ parent = AknLayoutScalable_Avkon::area_top_pane( 6 );
+ }
+ line = AknLayoutScalable_Avkon::status_pane( 1 ); // flat status pane
+ break;
+ }
+
+ case R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL:
+ case R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE: // fallthrough
+ {
+ parent = AknLayoutScalable_Avkon::area_top_pane( 8 );
+ line = AknLayoutScalable_Avkon::status_pane( 1 );
+ break;
+ }
+
+ case R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT:
+ case R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE_FLAT: // fallthrough
+ {
+ parent = AknLayoutScalable_Avkon::area_top_pane( 2 );
+ line = AknLayoutScalable_Avkon::status_pane( 1 );
+ break;
+ }
+
+ case R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT_NO_SOFTKEYS:
+ case R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE_FLAT_NO_SOFTKEYS: // fallthrough
+ {
+ parent = AknLayoutScalable_Avkon::area_top_pane( 20 );
+ line = AknLayoutScalable_Avkon::status_pane( 5 );
+ break;
+ }
+
+ case R_AVKON_STACON_PANE_LAYOUT_USUAL_SOFTKEYS_RIGHT:
+ case R_AVKON_STACON_PANE_LAYOUT_USUAL_SOFTKEYS_LEFT:
+ case R_AVKON_STACON_PANE_LAYOUT_EMPTY_SOFTKEYS_RIGHT:
+ case R_AVKON_STACON_PANE_LAYOUT_EMPTY_SOFTKEYS_LEFT:
+ case R_AVKON_STACON_PANE_LAYOUT_IDLE_SOFTKEYS_RIGHT:
+ case R_AVKON_STACON_PANE_LAYOUT_IDLE_SOFTKEYS_LEFT:
+ {
+ rect.LayoutRect(
+ screenRect,
+ TAknWindowComponentLayout::Compose(
+ AknLayoutScalable_Avkon::area_top_pane( 2 ),
+ AknLayoutScalable_Avkon::stacon_top_pane() ) );
aRect = rect.Rect();
+
+ rect.LayoutRect(
+ aRect,
+ AknLayoutScalable_Avkon::control_top_pane_stacon( 0 ) );
+
+ // Status pane top = stacon top - control pane top.
+ aRect.iBr.iX = rect.Rect().iTl.iX;
return ETrue;
- }
- else
- {
- rect.LayoutRect( screenRect, AknLayoutScalable_Avkon::area_top_pane(2) ); // classic area_top_pane in lsc
- aRect = rect.Rect();
- rect.LayoutRect( aRect, AknLayoutScalable_Avkon::stacon_top_pane() );
- aRect = rect.Rect();
- rect.LayoutRect( aRect, AknLayoutScalable_Avkon::control_top_pane_stacon(0) );
- aRect.iBr.iX = rect.Rect().iTl.iX; // Status pane top = stacon top - control pane top.
- return ETrue;
}
}
- else
- {
- TAknWindowComponentLayout parent;
-
- switch ( currentStatusPaneLayoutResId )
- {
- case R_AVKON_STATUS_PANE_LAYOUT_USUAL_WITH_BATTERY_PANE:
- case R_AVKON_STATUS_PANE_LAYOUT_USUAL:
- case R_AVKON_STATUS_PANE_LAYOUT_POWER_OFF_RECHARGE:
- case R_AVKON_STATUS_PANE_LAYOUT_USUAL_MIRRORED:
- case R_AVKON_STATUS_PANE_LAYOUT_POWER_OFF_RECHARGE_MIRRORED:
- case R_AVKON_STATUS_PANE_LAYOUT_VT:
- case R_AVKON_STATUS_PANE_LAYOUT_VT_MIRRORED:
- case R_AVKON_STATUS_PANE_LAYOUT_USUAL_EXT:
- default:
- parent = AknLayoutScalable_Avkon::area_top_pane(0);
- line = AknLayoutScalable_Avkon::status_pane(0); // classic status pane
- break;
-
- case R_AVKON_STATUS_PANE_LAYOUT_IDLE:
- case R_AVKON_STATUS_PANE_LAYOUT_IDLE_MIRRORED:
- parent = AknLayoutScalable_Avkon::area_top_pane(7);
- line = AknLayoutScalable_Avkon::status_idle_pane(); // idle status pane
- break;
-
- case R_AVKON_STATUS_PANE_LAYOUT_SMALL:
- case R_AVKON_STATUS_PANE_LAYOUT_SMALL_WITH_SIGNAL_PANE:
- case R_AVKON_STATUS_PANE_LAYOUT_SMALL_WITH_SIGNAL_PANE_MIRRORED:
- // Small status pane is the whole top area.
- parent = AknLayoutScalable_Avkon::application_window(0);
- if ( Layout_Meta_Data::IsLandscapeOrientation() &&
- AknLayoutUtils::CbaLocation() == AknLayoutUtils::EAknCbaLocationBottom )
- {
- line = AknLayoutScalable_Avkon::area_top_pane(2);
- }
- else
- {
- line = AknLayoutScalable_Avkon::area_top_pane(1);
- }
-
- break;
-
- case R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT:
- case R_AVKON_STATUS_PANE_LAYOUT_IDLE_FLAT: // fallthrough
- {
- if ( Layout_Meta_Data::IsLandscapeOrientation() &&
- Layout_Meta_Data::IsPenEnabled() )
- {
- parent = AknLayoutScalable_Avkon::area_top_pane( 2 );
- }
- else
- {
- parent = AknLayoutScalable_Avkon::area_top_pane( 6 );
- }
- line = AknLayoutScalable_Avkon::status_pane( 1 ); // flat status pane
- break;
- }
-
- case R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL:
- case R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE: // fallthrough
- {
- parent = AknLayoutScalable_Avkon::area_top_pane( 8 );
- line = AknLayoutScalable_Avkon::status_pane( 1 );
- break;
- }
-
- case R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT:
- case R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE_FLAT: // fallthrough
- {
- parent = AknLayoutScalable_Avkon::area_top_pane( 2 );
- line = AknLayoutScalable_Avkon::status_pane( 1 );
- break;
- }
-
- case R_AVKON_WIDESCREEN_PANE_LAYOUT_USUAL_FLAT_NO_SOFTKEYS:
- case R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE_FLAT_NO_SOFTKEYS: // fallthrough
- {
- parent = AknLayoutScalable_Avkon::area_top_pane( 20 );
- line = AknLayoutScalable_Avkon::status_pane( 5 );
- break;
- }
- }
-
- rect.LayoutRect( screenRect, TAknWindowComponentLayout::Compose( parent, line ) );
- aRect = rect.Rect();
- }
+
+ rect.LayoutRect(
+ screenRect,
+ TAknWindowComponentLayout::Compose( parent, line ) );
+ aRect = rect.Rect();
return ETrue;
}
- return EFalse;
+
+ return EFalse; // no status pane
}
+
case EPopupParent:
{
if ( screenRect.iBr.iX == 640 && screenRect.iBr.iY == 360 )
@@ -3578,6 +3594,7 @@
return LayoutMetricsRect( EMainPane, aRect );
}
}
+
case EMainPane:
{
TInt variety = 3; // classic main pane variety by default
@@ -3626,30 +3643,24 @@
case R_AVKON_STATUS_PANE_LAYOUT_VT_MIRRORED:
case R_AVKON_STATUS_PANE_LAYOUT_USUAL_EXT:
{
- // main pane variety for usual portrait main pane with
- // 'area_top_pane' and 'area_bottom_pane'
-#ifdef RD_SCALABLE_UI_V2
- variety = 3;
- if ( iAvkonAppUi && iAvkonAppUi->TouchPane() && iAvkonAppUi->TouchPane()->IsVisible() )
+ // Main pane variety for usual portrait main pane with
+ // 'area_top_pane' and 'area_bottom_pane'.
+ variety = 3;
+
+ if ( iAvkonAppUi )
{
- variety = 15;
- }
- else if ( iAvkonAppUi && iAvkonAppUi->CurrentFixedToolbar() )
- {
- if ( AknLayoutUtils::PenEnabled() )
- {
- CAknToolbar* toolbar = iAvkonAppUi->CurrentFixedToolbar();
- TInt flags = toolbar->ToolbarFlags();
- if ( flags & KAknToolbarFixed && !( flags & KAknToolbarDefault )
- && toolbar->IsShown() )
+ CAknToolbar* toolbar = iAvkonAppUi->CurrentFixedToolbar();
+ if ( toolbar )
+ {
+ TInt flags = toolbar->ToolbarFlags();
+ if ( flags & KAknToolbarFixed &&
+ !( flags & KAknToolbarDefault ) &&
+ toolbar->IsShown() )
{
variety = 18;
}
- }
+ }
}
-#else
- variety = 3;
-#endif // RD_SCALABLE_UI_V2
}
break;
@@ -3684,19 +3695,10 @@
{
if ( Layout_Meta_Data::IsLandscapeOrientation() )
{
- if ( PenEnabled() )
- {
- // main pane variety with small status pane in landscape
- // mode with 'area_top_pane', 'area_bottom_pane' and
- // touch pane
- variety = 4;
- }
- else
- {
- // main pane variety with 'area_top_pane' and
- // 'area_bottom_pane' in landscape (without touch pane)
- variety = 9;
- }
+ // main pane variety with small status pane in landscape
+ // mode with 'area_top_pane', 'area_bottom_pane' and
+ // touch pane
+ variety = 4;
}
else
{
@@ -3704,8 +3706,9 @@
// (with 'area_top_pane' and 'area_bottom_pane').
variety = 6;
}
+
+ break;
}
- break;
case R_AVKON_STATUS_PANE_EMPTY:
case R_AVKON_STATUS_PANE_LAYOUT_EMPTY:
@@ -3781,9 +3784,11 @@
break;
}
- rect.LayoutRect( screenRect, TAknWindowComponentLayout::Compose(
- AknLayoutScalable_Avkon::application_window( 0 ),
- AknLayoutScalable_Avkon::main_pane( variety ) ) );
+ // Application window is always the same as screen, so use screen
+ // as parent and skip reading the application_window from layout
+ // data for performance improvement.
+ rect.LayoutRect( screenRect,
+ AknLayoutScalable_Avkon::main_pane( variety ) );
aRect = rect.Rect();
return ETrue;
@@ -6548,13 +6553,19 @@
else
{
// On portrait popup is located on top of the control pane if it doesn't
- // have softkeys visible.
+ // have softkeys visible and there's enough room i.e. the popup still
+ // fits to the screen.
if ( !aSoftkeysVisible )
{
TSize controlPane;
AknLayoutUtils::LayoutMetricsSize( AknLayoutUtils::EControlPane,
controlPane );
y -= controlPane.iHeight;
+
+ if ( y < 0 )
+ {
+ y = 0;
+ }
}
}
@@ -6586,16 +6597,26 @@
// -----------------------------------------------------------------------------
-// AknListUtils::DrawSeparator
+// Draws the separator line between list items.
// -----------------------------------------------------------------------------
//
EXPORT_C void AknListUtils::DrawSeparator( CGraphicsContext& aGc,
- const TRect& aRect, const TRgb& aColor )
+ const TRect& aRect,
+ const TRgb& aColor,
+ MAknsSkinInstance* aSkin )
{
aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
aGc.SetPenStyle( CGraphicsContext::ESolidPen );
TRgb color( aColor );
- color.SetAlpha( 32 );
+
+ // Get the alpha value from skin.
+ TRgb colorFromSkin;
+ TInt err = AknsUtils::GetCachedColor( aSkin ? aSkin : AknsUtils::SkinInstance(),
+ colorFromSkin,
+ KAknsIIDQsnLineColors,
+ EAknsCIQsnLineColorsCG15 );
+
+ color.SetAlpha( !err ? colorFromSkin.Red() : KDefaultSeparatorAlpha );
aGc.SetPenColor( color );
TRect lineRect( aRect );
@@ -6603,7 +6624,7 @@
lineRect.Shrink( gap, 0 );
lineRect.Move( 0, -1 );
aGc.DrawLine( TPoint( lineRect.iTl.iX, lineRect.iBr.iY ),
- TPoint( lineRect.iBr.iX, lineRect.iBr.iY ) );
+ TPoint( lineRect.iBr.iX, lineRect.iBr.iY ) );
}
// End of file
--- a/uifw/AvKon/src/eikfrlb.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/eikfrlb.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -1420,7 +1420,7 @@
if ( aDrawSeparator &&
static_cast<CEikListBox*>( control )->ItemsInSingleLine() == 1 )
{
- AknListUtils::DrawSeparator( *iGc, aItemTextRect, iTextColor );
+ AknListUtils::DrawSeparator( *iGc, aItemTextRect, iTextColor, skin );
}
}
}
--- a/uifw/AvKon/src/eikfrlbd.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/eikfrlbd.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -2234,7 +2234,6 @@
}
}
#else
- CListBoxView* view = static_cast<CEikListBox*>( iExtension->iControl )->View();
aGc.SetClippingRect( view->ViewRect() );
#endif //RD_UI_TRANSITION_EFFECTS_LIST
@@ -3547,8 +3546,8 @@
{
iExtension->iMarginRect.BoundingRect( r );
}
+#ifdef RD_UI_TRANSITION_EFFECTS_LIST
CEikFormattedCellListBox* list = static_cast<CEikFormattedCellListBox*>( iExtension->iControl );
-#ifdef RD_UI_TRANSITION_EFFECTS_LIST
MAknListBoxTfxInternal* transApi =
CAknListLoader::TfxApiInternal( list->View()->ItemDrawer()->Gc() );
if ( transApi )
--- a/uifw/AvKon/src/transitionmanager.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/src/transitionmanager.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -438,7 +438,7 @@
iFlags &= ~EffectsEnabled;
iCRListen->Listen();
}
- else if(!aWait || CServerWait::WaitL())
+ else
{
iFlags |= EffectsEnabled;
}
--- a/uifw/AvKon/srcdata/avkon.rss Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/AvKon/srcdata/avkon.rss Mon Mar 15 12:41:34 2010 +0200
@@ -1517,7 +1517,19 @@
bmpfile = AVKON_BITMAP_FILE;
states = INDICATOR_STATE
{
- id = EAknIndicatorStateOn;
+ id = EAknIndicatorStateAnimate;
+ icons = INDICATOR_ICON
+ {
+ // IR indicator blank image used here to avoid having
+ // multiple instances of the same icon in the Avkon bitmap
+ // file. This is ok because the blank image is essentially
+ // the same for all the animated universal indicators,
+ // and it won't change.
+ widebmpid = EMbmAvkonQgn_stat_ir_uni_blank;
+ widebmpmask = EMbmAvkonQgn_stat_ir_uni_blank_mask;
+ narrowbmpid = EMbmAvkonQgn_stat_ir_uni_blank;
+ narrowbmpmask = EMbmAvkonQgn_stat_ir_uni_blank_mask;
+ };
icons = INDICATOR_ICON
{
widebmpid = EMbmAvkonQgn_stat_usb_uni;
@@ -9808,6 +9820,7 @@
MENU_ITEM { command=EPenInputCmdHwrTraining; txt=qtn_tin_option_menu_training;},
MENU_ITEM { command=EPenInputCmdVITUT; flags=EEikMenuItemDimmed; txt=qtn_input_switcher_itu_t; },
MENU_ITEM { command=EPeninputCmdFSQ; flags=EEikMenuItemDimmed; txt=qtn_input_switcher_fs_qwerty; },
+ MENU_ITEM { command=EPeninputCmdHwr; flags=EEikMenuItemDimmed; txt=qtn_input_switcher_hwr; },
MENU_ITEM { command=EFepInputCmdHelp; txt=qtn_tin_option_menu_help; },
MENU_ITEM { command=EAknCmdEditModeEnglish; flags=EEikMenuItemDimmed; txt=qtn_activate_english_mode; }
};
--- a/uifw/EikStd/coctlinc/AknDoubleSpanScrollIndicator.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlinc/AknDoubleSpanScrollIndicator.h Mon Mar 15 12:41:34 2010 +0200
@@ -301,6 +301,7 @@
TBool iTransparentBackground; // A flag which tells if we have transparent bg
TBool iDrawBackground; // do we draw any background
+ TBool iForceDrawBackground; // draw background
TBool iHandleHighlight; // is handle drag highlight on?
--- a/uifw/EikStd/coctlinc/aknitemactionmenuregister.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlinc/aknitemactionmenuregister.h Mon Mar 15 12:41:34 2010 +0200
@@ -310,6 +310,15 @@
* @return Item action menu register instance.
*/
static AknItemActionMenuRegister* CreateInstanceL();
+
+ /**
+ * Sets constructing menu bar owner and checks if the current is a dialog.
+ * And when setting the correct menu bar owner from a dialog to NULL
+ * checking if a correct menubar can be found for the unregistered
+ * item action menu.
+ */
+ void DoSetConstructingMenuBarOwnerL( MObjectProvider* aMenuBarOwner );
+
private: // data
/**
@@ -371,6 +380,11 @@
MObjectProvider* iMenuBarOwner;
/**
+ * Indicates if current menubar owner is a dialog
+ */
+ TBool iIsConstructingDialog;
+
+ /**
* Unregistered menu data.
*/
RArray<TAknUnregisteredMenuData> iUnregisteredMenus;
--- a/uifw/EikStd/coctlinc/smileydrawer.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlinc/smileydrawer.h Mon Mar 15 12:41:34 2010 +0200
@@ -83,12 +83,6 @@
void SetPlayTimes( TInt aPlayTimes ){ iPlayTimes = aPlayTimes; };
- void SetVisibleRange( TInt aDocPos, TInt aLength )
- {
- iVisibleStart = aDocPos;
- iVisibleLength = aLength;
- };
-
void StartAnimTimerL();
static TInt AnimTimerCallbackL( TAny* aPtr );
void CheckAnimStatusL();
@@ -110,8 +104,6 @@
TRgb iHighlightColor;
TInt iPlayTimes;
- TInt iVisibleStart;
- TInt iVisibleLength;
// own
CSmileyAsyncDraw* iAsyncDraw;
// own
--- a/uifw/EikStd/coctlinc/smileymanager.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlinc/smileymanager.h Mon Mar 15 12:41:34 2010 +0200
@@ -66,7 +66,6 @@
//new functions
TBool ConvertTextForSmileyL( TInt aStart, TDes& aText,
TBool aStringToCodes = ETrue );
- void SetVisibleRange( TInt aDocPos, TInt aLength );
void DrawIconL( CBitmapContext& aGc, const TRect& aRect,
TInt aDocPos );
--- a/uifw/EikStd/coctlsrc/AknDoubleSpanScrollIndicator.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/AknDoubleSpanScrollIndicator.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -69,8 +69,8 @@
void CAknDoubleSpanScrollIndicator::Draw(const TRect& /*aRect*/) const
{
CWindowGc& gc = SystemGc();
+ if( iDrawBackground || iForceDrawBackground )
- if(iDrawBackground)
{
DrawBackground();
}
@@ -218,12 +218,29 @@
checkedFieldPosition,
checkedFieldSize);
+ TBool wasEmpty = iBackgroundRect.IsEmpty();
+ TBool isEmpty = EFalse;
+
// If span (max number of items) is zero, then draw only the background
if ( checkedScrollSpan == 0 || ( checkedScrollSpan <= checkedWindowSize ) )
{
iBackgroundRect = TRect( 0, 0, 0, 0 );
iHandleBackgroundRect = TRect(0,0,0,0);
iHandleRect = TRect(0,0,0,0);
+ iForceDrawBackground = ETrue; // to enable background drawing
+ isEmpty = ETrue;
+ }
+ else
+ {
+ iForceDrawBackground = EFalse;
+ }
+ if ( wasEmpty != isEmpty || iForceDrawBackground )
+ {
+ DrawDeferred();
+ }
+
+ if ( isEmpty )
+ {
return;
}
--- a/uifw/EikStd/coctlsrc/AknToolbar.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/AknToolbar.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -3114,13 +3114,21 @@
aCellPaneRect = RectFromLayout( aGridPaneRect,
AknLayoutScalable_Avkon::cell_sctrl_middle_pane( 0, 0, 0 ) );
+
+ //
+ // fixing bug: ELJG-7XX8RE
+ // (Two extra black lines are displayed around toolbar area at first)
+ // extend the toolbar size by hard code
+ //
+ aToolbarRect.iTl.iY -= 1;
+ aToolbarRect.iBr.iY += 1;
}
}
- else
+ else
{
if ( iOrientation == EAknOrientationHorizontal )
- {
- variety = 4;
+ {
+ variety = 4;
aToolbarRect = RectFromLayout( aMainPaneRect,
AknLayoutScalable_Avkon::popup_toolbar_window( variety ) );
--- a/uifw/EikStd/coctlsrc/EIKCOLIB.CPP Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/EIKCOLIB.CPP Mon Mar 15 12:41:34 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 1997-1999 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -523,15 +523,9 @@
CCoeEnv* env = CCoeEnv::Static();
TRect rect = LafAppUi::ClientRect( *env, *this );
-#ifdef RD_SCALABLE_UI_V2
- if ( TouchPane() )
- {
- TouchPane()->ReduceRect( rect );
- }
-
CAknToolbar* toolbar = CurrentFixedToolbar();
- // reduce fixed toolbar's area
+ // Reduce fixed toolbar's area.
if ( toolbar )
{
TInt flags = toolbar->ToolbarFlags();
@@ -542,35 +536,37 @@
}
}
- // recaculate the client rect is splitinput is enabled.
+ // Recalculate the client rect is split input is enabled.
if ( iExtension && iExtension->iSplitInput )
{
TInt inputTop = rect.iBr.iY;
TAknLayoutRect splitwnd;
- TRect screenRect ;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screenRect );
+ TRect screenRect ;
+ AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screenRect );
if ( Layout_Meta_Data::IsLandscapeOrientation() )
{
- splitwnd.LayoutRect( screenRect, AknLayoutScalable_Avkon::popup_fep_vkbss_window (0).LayoutLine() );
- TRect wndRc = splitwnd.Rect();
- inputTop = wndRc.iTl.iY;
+ splitwnd.LayoutRect(
+ screenRect,
+ AknLayoutScalable_Avkon::popup_fep_vkbss_window( 0 ).LayoutLine() );
}
else
{
- splitwnd.LayoutRect( screenRect, AknLayoutScalable_Avkon::popup_fep_ituss_window(0).LayoutLine() );
- TRect wndRc = splitwnd.Rect();
- inputTop = wndRc.iTl.iY;
+ splitwnd.LayoutRect(
+ screenRect,
+ AknLayoutScalable_Avkon::popup_fep_ituss_window( 0 ).LayoutLine() );
}
+
+ TRect wndRc( splitwnd.Rect() );
+ inputTop = wndRc.iTl.iY;
rect.iBr.iY = rect.iBr.iY > inputTop ? inputTop : rect.iBr.iY;
rect.iTl.iY = 0;
}
-#endif // RD_SCALABLE_UI_V2
-
return rect;
}
+
void CEikAppUiFactory::ReadAppInfoResourceL(TInt aResourceFileOffset, CEikAppUi* aAppUi)
{
const TInt resourceFileOffset=(aResourceFileOffset)? aResourceFileOffset : aAppUi->Application()->ResourceFileOffset();
--- a/uifw/EikStd/coctlsrc/EIKEDWIN.CPP Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/EIKEDWIN.CPP Mon Mar 15 12:41:34 2010 +0200
@@ -572,7 +572,6 @@
TRAPD(error,iEdwin.iText->UpdateFepInlineTextL(paragraphContainingStartPositionOfInlineTextHasChangedFormat,numberOfCharactersSuccessfullyDeleted,numberOfCharactersSuccessfullyInserted,iPositionOfInsertionPointInDocument,iPositionOfInlineTextInDocument+aPositionOfInsertionPointInInlineText,aNewInlineText));
iLengthOfInlineText=numberOfCharactersSuccessfullyInserted;
UpdateTextViewAfterChangeInInlineTextL(paragraphContainingStartPositionOfInlineTextHasChangedFormat,numberOfCharactersSuccessfullyDeleted,numberOfCharactersSuccessfullyInserted,error);
- iEdwin.ReportEdwinEventL( MEikEdwinObserver::EEventTextUpdate );
}
void CEikEdwinFepSupport::SetInlineEditingCursorVisibilityL(TBool aCursorVisibility)
@@ -1042,6 +1041,7 @@
iCenRep->Get(KAknFepClearDirection, iClearDirection);
}
iSmileyWrap = new ( ELeave ) CSmileyCustomWrap;
+ iSkinInstance = AknsUtils::SkinInstance();
}
void CEikEdwin::CEikEdwinExtension::CreateFormExtendedInterfaceProviderIfNeededL()
@@ -2772,7 +2772,10 @@
}
Window().RequestPointerRepeatEvent(KPointerRepeatRate,rect);
navigation = ETrue;
- iEdwinExtension->iThumbPos = KErrNotFound;
+ if ( iLayout && !iLayout->IsFormattingBand() )
+ {
+ iEdwinExtension->iThumbPos = KErrNotFound;
+ }
}
else if (iEdwinInternalFlags&EDragDouble)
{
@@ -3379,12 +3382,6 @@
for (TInt ii=0;ii<count;ii++)
(*iObserverArray)[ii]->HandleEdwinEventL(this,aEventType);
}
- if ( aEventType == MEikEdwinObserver::EEventScroll ||
- aEventType == MEikEdwinObserver::EEventNavigation
- )
- {
- HandleScrollForSmileyL();
- }
if ( aEventType == MEikEdwinObserver::EEventTextUpdate )
{
iEdwinExtension->iExtendedInputCapabilities->ReportEventL(
@@ -5681,6 +5678,7 @@
aVertModel.iThumbSpan = bottomPos - topPos;
aVertModel.iScrollSpan = totalChars;
aVertModel.iThumbPosition = topPos;
+ iEdwinExtension->iThumbPos = topPos;
}
return;
}
@@ -8259,8 +8257,8 @@
return ( iEdwinExtension->iSmiley != NULL );
}
-void CEikEdwin::DrawSmileyInTextL( CBitmapContext& aGc, CFont& aFont,
- const TDesC& aText, const TPoint& aPt )
+void CEikEdwin::DrawSmileyInTextL( RRegion& rgn, const TRect& aDrawRect,
+ CBitmapContext& aGc, CFont& aFont, const TDesC& aText, const TPoint& aPt )
{
TRect viewRect( AdjustedViewRect() );
TInt topY( aPt.iY - aFont.AscentInPixels() );
@@ -8290,8 +8288,11 @@
if ( CSmileyManager::IsSmileyCode( text[i] ) )
{
TInt x( pt.iX + aFont.TextWidthInPixels( text.Left( i ) ) );
- TRect rect( x, topY, x + smileyWidth, bottomY );
- iEdwinExtension->iSmiley->DrawIconL( aGc, rect, i + pos );
+ TRect clipRect( x, aDrawRect.iTl.iY, x + smileyWidth,
+ aDrawRect.iBr.iY );
+ rgn.SubRect( clipRect, NULL );
+ TRect iconRect( x, topY, x + smileyWidth, bottomY );
+ iEdwinExtension->iSmiley->DrawIconL( aGc, iconRect, i + pos );
}
}
}
@@ -8476,23 +8477,6 @@
CleanupStack::PopAndDestroy( buf );
}
-void CEikEdwin::HandleScrollForSmileyL()
- {
- if ( !iEdwinExtension->iSmiley )
- {
- return;
- }
- TCursorSelection select( GetVisibleTextRangeL() );
- if ( select.LowerPos() != iEdwinExtension->iVisibleRange.LowerPos() ||
- select.HigherPos() != iEdwinExtension->iVisibleRange.HigherPos() )
- {
- iEdwinExtension->iVisibleRange.iCursorPos = select.iCursorPos;
- iEdwinExtension->iVisibleRange.iAnchorPos = select.iAnchorPos;
- }
- iEdwinExtension->iSmiley->SetVisibleRange( select.LowerPos(),
- select.Length() );
- }
-
TBool CEikEdwin::AdjustCursorForSmileyL( TInt aOldCursor, TCursorSelection& aSelect )
{
TBool ret( EFalse );
@@ -8518,23 +8502,6 @@
return TRect( viewRect.iTl.iX, aRect.iTl.iY, viewRect.iBr.iX, aRect.iBr.iY );
}
-void CEikEdwin::GetClipRegionForSmiley( RRegion& rgn, CFont& aFont,
- const TDesC& aText, const TPoint& aPt, const TRect& aDrawRect ) const
- {
- TInt smileyWidth( aFont.TextWidthInPixels( KSmileyString ) );
- TInt topY( aDrawRect.iTl.iY );
- TInt bottomY( aDrawRect.iBr.iY );
- for ( TInt i( 0 ); i < aText.Length(); i++ )
- {
- if ( CSmileyManager::IsSmileyCode( aText[i] ) )
- {
- TInt x( aPt.iX + aFont.TextWidthInPixels( aText.Left( i ) ) );
- TRect rect( x, topY, x + smileyWidth, bottomY );
- rgn.SubRect( rect, NULL );
- }
- }
- }
-
TBool CEikEdwin::AdjustCursorPosByMovementL( TCursorPosition::TMovementType aMovement,
TBool aSelect )
{
@@ -8561,21 +8528,34 @@
return ret;
}
-void CEikEdwin::SetSelectionVisibilityL( TBool isVisable )
- {
- iTextView->SetSelectionVisibilityL(isVisable);
+void CEikEdwin::SetSelectionVisibilityL( TBool aIsVisable )
+ {
+ if ( iEdwinExtension->iSmiley && !aIsVisable )
+ {
+ iTextView->SetSelectionVisibilityL( aIsVisable );
+ HandleSelectionForSmiley( TCursorSelection( 0, 0 ) );
+ }
+ else
+ {
+ if ( iEdwinExtension->iSmiley )
+ {
+ HandleSelectionForSmiley( Selection() );
+ }
+ iTextView->SetSelectionVisibilityL( aIsVisable );
+ }
+
CAknEdwinState*edwinState = EditorState();
- if( !edwinState )
- return;
- if(isVisable)
- {
- SetAknEditorFlags( edwinState->Flags() | EAknEditorFlagSelectionVisible );
- }
- else
- {
- HandleSelectionForSmiley( TCursorSelection( 0, 0 ) );
- SetAknEditorFlags( edwinState->Flags() & ~EAknEditorFlagSelectionVisible );
- }
+ if ( edwinState )
+ {
+ if ( aIsVisable )
+ {
+ SetAknEditorFlags( edwinState->Flags() | EAknEditorFlagSelectionVisible );
+ }
+ else
+ {
+ SetAknEditorFlags( edwinState->Flags() & ~EAknEditorFlagSelectionVisible );
+ }
+ }
return;
}
TBool CEikEdwin::IsSelectionVisible()
@@ -8793,6 +8773,50 @@
}
+// ---------------------------------------------------------------------------
+// CEikEdwin::DrawViewBackground
+// ---------------------------------------------------------------------------
+//
+void CEikEdwin::DrawViewBackground( TBool aStart ) const
+ {
+ CWindowGc& gc = SystemGc();
+ RWindow& window = Window();
+
+ if ( aStart )
+ {
+ TRect viewRect( iTextView->ViewRect() );
+ window.Invalidate( viewRect );
+ window.BeginRedraw( viewRect );
+ gc.Activate( window );
+
+ if ( !AknsDrawUtils::DrawBackground(
+ iEdwinExtension->iSkinInstance,
+ SkinBackgroundControlContext(),
+ this,
+ gc,
+ viewRect.iTl,
+ viewRect,
+ KAknsDrawParamNoClearUnderImage ) )
+ {
+ gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
+ gc.SetPenStyle( CGraphicsContext::ESolidPen );
+
+ TRgb dummyColor;
+ TRgb backgroundColor = EditorBackgroundColor( dummyColor );
+
+ gc.SetBrushColor( backgroundColor );
+ gc.SetPenColor( backgroundColor );
+ gc.DrawRect( iTextView->ViewRect() );
+ }
+ }
+ else
+ {
+ gc.Deactivate();
+ window.EndRedraw();
+ }
+ }
+
+
void CEikEdwin::HandleSelectionForSmiley( TCursorSelection aSelect )
{
if ( !iEdwinExtension->iSmiley )
--- a/uifw/EikStd/coctlsrc/EIKLBX.CPP Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/EIKLBX.CPP Mon Mar 15 12:41:34 2010 +0200
@@ -944,6 +944,7 @@
{
EnableHighlight( EFalse );
iListBox.iView->DrawItem( iLongTappedItem );
+ iListBox.iView->SetCurrentItemIndex( 0 );
iLongTappedItem = KErrNotFound;
}
}
@@ -2098,7 +2099,19 @@
|| iListBoxExt && iListBoxExt->iPhysics
&& currentItemIndex == ( topItemIndex + numberOfItems - 1 ) )
{
- newTopItemIndex = iView->CalcNewTopItemIndexSoItemIsVisible( currentItemIndex );
+ if ( iListBoxExt && iListBoxExt->iSingleClickEnabled )
+ {
+ // is single click is enabled, highlight must also be visible
+ if ( iListBoxExt->CollectionState()
+ & MAknCollection::EStateHighlightVisible )
+ {
+ newTopItemIndex = iView->CalcNewTopItemIndexSoItemIsVisible( currentItemIndex );
+ }
+ }
+ else
+ {
+ newTopItemIndex = iView->CalcNewTopItemIndexSoItemIsVisible( currentItemIndex );
+ }
}
else
{
@@ -3162,7 +3175,8 @@
EXPORT_C void CEikListBox::HandleItemAdditionL()
{
_AKNTRACE_FUNC_ENTER;
- //fix the bug EGGO-7SQA4S and EVSG-7TD9WZ
+ __ASSERT_DEBUG( iView, Panic( EEikPanicListBoxNoView ) );
+ //fix the bug EGGO-7SQA4S and EVSG-7TD9WZ
TInt curItemIndex = iView->CurrentItemIndex();
if(curItemIndex >= 0 && curItemIndex < iModel->NumberOfItems() )
{
@@ -5795,6 +5809,11 @@
{
Window().Invalidate( TRect( View()->ItemPos(index),
View()->ItemSize() ) );
+ if( iItemDrawer->Flags() &
+ CListItemDrawer::ESingleClickDisabledHighlight )
+ {
+ iView->SetCurrentItemIndex( 0 );
+ }
}
break;
}
@@ -6340,7 +6359,7 @@
TBool blockEvent = EFalse;
- TBool allowDragEvent( ( iListBoxFlags & ELeftDownInViewRect ) && iSBFrame && !iListBoxExt->iScrollingDisabled );
+ TBool allowDragEvent( ( iListBoxFlags & ELeftDownInViewRect ) && !iListBoxExt->iScrollingDisabled );
switch ( aPointerEvent.iType )
--- a/uifw/EikStd/coctlsrc/EIKMENUP.CPP Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/EIKMENUP.CPP Mon Mar 15 12:41:34 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -2481,13 +2481,8 @@
_AKNTRACE( "previousTopItem = %d", previousTopItem );
_AKNTRACE( "previousSelectedItem = %d", previousSelectedItem );
- ActivateGc();
- CWindowGc& gc = SystemGc();
- PrepareGcForDrawingItems( gc );
-
- // Scrollers top item index must be updated first because setting selected
- // item results in animation redraw (which requires knowledge about the
- // current top item).
+ SetSelectedItem( aNewSelectedItem );
+
if ( aNewSelectedItem >= 0 )
{
ScrollToMakeItemVisible( aNewSelectedItem );
@@ -2497,6 +2492,10 @@
ScrollToMakeItemVisible( 0 );
}
+ ActivateGc();
+ CWindowGc& gc = SystemGc();
+ PrepareGcForDrawingItems( gc );
+
TInt topItem = iScroller->TopItemIndex();
TInt bottomItem = topItem + NumberOfItemsThatFitInView();
if( bottomItem > NumberOfItemsInPane() )
@@ -2512,7 +2511,6 @@
DrawItem( gc, topItem, ERemoveHighlight );
DrawItem( gc, (bottomItem-1), ERemoveHighlight );
}
- SetSelectedItem( aNewSelectedItem );
PrepareHighlightFrame();
@@ -2529,32 +2527,6 @@
DrawItem( gc, aNewSelectedItem, EDrawHighlight );
}
}
- else
- {
- /*TBool skipHighlight = EFalse;
-
- if (iExtension && iExtension->iSct && aNewSelectedItem == 0 &&
- previousSelectedItem > 1)
- {
- skipHighlight = ETrue;
- }
-
- for( TInt i = topItem; i<bottomItem; i++ )
- {
- if( i == aNewSelectedItem && !skipHighlight)
- {
- DrawItem( gc, i, EDrawHighlight );
- }
- else
- {
- DrawItem( gc, i, ERemoveHighlight );
- }
- }*/
-
- // update the whole menu area
- iExtension->ViewPositionChanged( iExtension->iViewPosition );
-// UpdateScrollBarThumbs();
- }
DeactivateGc();
@@ -2718,8 +2690,10 @@
if ( !drawingInitiated && !iExtension->iFullRedraw )
{
- window.Invalidate( itemRect );
- window.BeginRedraw( itemRect );
+ TRect drawRect( itemRect );
+ drawRect.Intersection( iExtension->iItemAreaRect );
+ window.Invalidate( drawRect );
+ window.BeginRedraw( drawRect );
}
MAknsSkinInstance* skin = AknsUtils::SkinInstance();
@@ -2982,7 +2956,7 @@
// don't draw separator line for the last item
if ( drawSeparator )
{
- AknListUtils::DrawSeparator( aGc, itemRect, textColor );
+ AknListUtils::DrawSeparator( aGc, itemRect, textColor, skin );
}
if ( !drawingInitiated && !iExtension->iFullRedraw )
@@ -4019,12 +3993,17 @@
_AKNTRACE( "[%s]", "TPointerEvent::EButton1Up" );
if ( !innerRect.Contains( aPointerEvent.iPosition ) )
{
+ TBool highlightWasEnabled = iExtension->HighlightEnabled();
// remove highlight in case highlight is outside of menu pane
iExtension->EnableHighlight( EFalse );
if ( iOwner )
{
RepaintHighlight();
}
+ else if ( highlightWasEnabled )
+ {
+ DrawItem( SelectedItem(), ENoHighlight );
+ }
}
if ( iOwner &&
!innerRect.Contains( aPointerEvent.iPosition ) &&
@@ -5159,13 +5138,13 @@
iScroller->SetTopItemIndex( newTop );
_AKNTRACE( "newTop = %d", newTop );
- // Menu moved with keys, update panning/flicking data
iExtension->iListTopIndex = iScroller->TopItemIndex() * iItemHeight;
- iExtension->iViewPosition.iY =
- iExtension->iListTopIndex + iExtension->iViewHeight / 2;
+ TPoint newPosition( iExtension->iViewPosition );
+ newPosition.iY = iExtension->iListTopIndex + iExtension->iViewHeight / 2;
iExtension->SetOffset( 0 );
-
+ iExtension->ViewPositionChanged( newPosition );
+
_AKNTRACE( "iExtension->iListTopIndex = %d", iExtension->iListTopIndex );
_AKNTRACE( "iExtension->iViewPosition.iY = %d", iExtension->iViewPosition.iY );
_AKNTRACE( "[%s]", "iExtension->SetOffset( 0 )" );
@@ -5359,12 +5338,6 @@
TRect rect( CalculateSizeAndPosition() );
SetExtent( rect.iTl, rect.Size() );
- TRAP_IGNORE( DoUpdateScrollBarL() );
-
- UpdateBackgroundContext( Rect() );
- PrepareHighlightFrame();
- SetCascadedIconSize();
-
//Initialize physics engine
if ( iExtension->iPhysics )
{
@@ -5372,9 +5345,14 @@
iExtension->iListTopIndex = iScroller->TopItemIndex() * iItemHeight;
iExtension->iViewPosition.iY =
iExtension->iListTopIndex + iExtension->iViewHeight / 2;
- iExtension->ViewPositionChanged( iExtension->iViewPosition );
- }
-
+ }
+
+ TRAP_IGNORE( DoUpdateScrollBarL() );
+
+ UpdateBackgroundContext( Rect() );
+ PrepareHighlightFrame();
+ SetCascadedIconSize();
+
if ( iCascadeMenuPane )
{
iCascadeMenuPane->HandleResourceChange( aType );
@@ -6403,6 +6381,15 @@
EXPORT_C void CEikMenuPane::SetItemSpecific(
TInt aCommandId, TBool aItemSpecific )
{
+ if ( !iExtension )
+ {
+ TRAPD( err, CheckCreateExtensionL() );
+ if ( err )
+ {
+ return;
+ }
+ }
+
if ( iExtension->iFlags.IsSet(
CEikMenuPaneExtension::ESingleClickEnabled ) )
{
--- a/uifw/EikStd/coctlsrc/EikCcpu.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/EikCcpu.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -25,10 +25,40 @@
#include <avkon.hrh>
#include <eikappui.h>
#include <eikdialg.h>
-const TInt ELeftSoftkeyIndex = 0;
-const TInt ERightSoftkeyIndex = 2;
-const TInt ENullCommandId = -1;
+const TInt KLeftSoftkeyIndex = 0;
+const TInt KRightSoftkeyIndex = 2;
+const TInt KNullCommandId = -1;
+
+/**
+* Internal extension class for CAknCcpuSupport.
+*
+* @since 9.2
+*
+* @internal
+*/
+NONSHARABLE_CLASS( CAknCcpuSupportExtension ) : public CBase
+ {
+public: // Construction and destruction
+ CAknCcpuSupportExtension();
+ ~CAknCcpuSupportExtension();
+
+public: // Data
+ TBool iIsCbaEmded;
+ // Owned
+ CEikButtonGroupContainer* iCba;
+ // not owned
+ CEikButtonGroupContainer* iDialogCba;
+ };
+
+CAknCcpuSupportExtension::CAknCcpuSupportExtension()
+ {
+ }
+
+CAknCcpuSupportExtension::~CAknCcpuSupportExtension()
+ {
+ delete iCba;
+ }
//
// CAknCcpuSupport
@@ -39,77 +69,85 @@
EFocused
};
-EXPORT_C CAknCcpuSupport::CAknCcpuSupport(MEikCcpuEditor* aEditor)
-: iEditor(aEditor)
+EXPORT_C CAknCcpuSupport::CAknCcpuSupport( MEikCcpuEditor* aEditor )
+: iEditor( aEditor )
{
}
EXPORT_C CAknCcpuSupport::~CAknCcpuSupport()
{
- if (iMenu)
+ if ( iMenu )
+ {
iMenu->RemoveEditMenuObserver(this);
- //delete iCba;
- TRAP_IGNORE(DeleteCBAL());
- iEikonEnv->EikAppUi()->RemoveFromStack(this);
+ }
+ TRAP_IGNORE( DeleteCBAL() );
+ iEikonEnv->EikAppUi()->RemoveFromStack( this );
+ delete iExtention;
}
EXPORT_C void CAknCcpuSupport::ConstructL()
{
- iEikonEnv->EikAppUi()->AddToStackL(this, ECoeStackPriorityFep-1, ECoeStackFlagRefusesFocus);
+ iExtention = new ( ELeave ) CAknCcpuSupportExtension;
+ iEikonEnv->EikAppUi()->AddToStackL( this, ECoeStackPriorityFep-1, ECoeStackFlagRefusesFocus );
HandleFocusChangeL();
}
EXPORT_C void CAknCcpuSupport::HandleSelectionChangeL()
{
- if (iCba)
+ if ( iExtention->iCba )
+ {
UpdateCBALabelsL();
+ }
}
EXPORT_C void CAknCcpuSupport::HandleFocusChangeL()
{
TBool focused = iEditor->CcpuIsFocused();
- if (COMPARE_BOOLS(focused, iFlags[EFocused]))
+ if ( COMPARE_BOOLS( focused, iFlags[EFocused] ) )
+ {
return;
+ }
- iFlags.Assign(EFocused, focused);
+ iFlags.Assign( EFocused, focused );
- if (focused)
+ if ( focused )
{
- MopGetObject(iMenu);
-
- if (iMenu)
- iMenu->SetEditMenuObserver(this);
+ MopGetObject( iMenu );
+ if ( iMenu )
+ {
+ iMenu->SetEditMenuObserver( this );
+ }
}
else
{
- if (iMenu)
+ if ( iMenu )
{
- iMenu->RemoveEditMenuObserver(this);
+ iMenu->RemoveEditMenuObserver( this );
iMenu = NULL;
}
}
- if (iCba && !focused)
+ if ( iExtention->iCba && !focused )
{
// something has caused loss of focus while shift is pressed - drop everything.
- //delete iCba;
- //iCba = NULL;
DeleteCBAL();
}
}
-EXPORT_C TKeyResponse CAknCcpuSupport::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
+EXPORT_C TKeyResponse CAknCcpuSupport::OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType )
{
- if (!iFlags[EFocused])
+ if ( !iFlags[EFocused] )
+ {
return EKeyWasNotConsumed;
+ }
- if (aKeyEvent.iCode == EKeyF21) // FEP generates F21 on long shift press
+ if ( aKeyEvent.iCode == EKeyF21 ) // FEP generates F21 on long shift press
{
- if (aType == EEventKey)
+ if ( aType == EEventKey )
{
DeleteCBAL();
CEikAppUi* eikAppUi = (CEikAppUi *)CCoeEnv::Static()->AppUi();
- if( eikAppUi!= NULL && eikAppUi->IsDisplayingDialog() && eikAppUi->TopFocusedControl() )
+ if( eikAppUi && eikAppUi->IsDisplayingDialog() && eikAppUi->TopFocusedControl() )
{
CEikDialog* dlg = eikAppUi->TopFocusedControl()->MopGetObject( dlg );
if ( dlg )
@@ -121,76 +159,81 @@
CEikCba* dlgcba = static_cast<CEikCba*>( currentCba->ButtonGroup() );
TUint flags( 0 );
flags |= CEikButtonGroupContainer::EIsEmbedded | CEikButtonGroupContainer::EAddToStack;
- iCba = CEikButtonGroupContainer::NewL(CEikButtonGroupContainer::ECba, CEikButtonGroupContainer::EHorizontal,
+ iExtention->iCba = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
this, R_AVKON_SOFTKEYS_EMPTY, flags );
CEikCba* cba = static_cast<CEikCba*>(
- iCba->ButtonGroup() );
+ iExtention->iCba->ButtonGroup() );
- if( ! isCbaEmded )
+ if( !iExtention->iIsCbaEmded )
{
- currentCba->AddCommandToStackL(ELeftSoftkeyIndex, -1, _L(""), NULL, NULL);
- currentCba->AddCommandToStackL(ERightSoftkeyIndex, -1, _L(""), NULL, NULL);
+ currentCba->AddCommandToStackL( KLeftSoftkeyIndex, -1, KNullDesC, NULL, NULL );
+ currentCba->AddCommandToStackL( KRightSoftkeyIndex, -1, KNullDesC, NULL, NULL );
currentCba->ActivateL();
currentCba->DrawNow();
- iDialogCba = currentCba;
- isCbaEmded = ETrue;
+ iExtention->iDialogCba = currentCba;
+ iExtention->iIsCbaEmded = ETrue;
}
- cba->SetButtonGroupFlags( ~(EEikCbaFlagTransparent | EEikCbaFlagOutlineFont) );
+ cba->SetButtonGroupFlags( ~( EEikCbaFlagTransparent | EEikCbaFlagOutlineFont ) );
TRect dlgRect(dlg->Rect());
TRect cbaRect(currentCba->Rect());
- iCba->SetRect( currentCba->Rect());
- iCba->SetPosition(TPoint(dlg->DrawableWindow()->Position().iX,dlg->DrawableWindow()->Position().iY + dlgRect.Height() - cbaRect.Height()));
- iCba->SetBoundingRect( dlg->Rect());
+ iExtention->iCba->SetRect( currentCba->Rect());
+ iExtention->iCba->SetPosition(
+ TPoint( dlg->DrawableWindow()->Position().iX,
+ dlg->DrawableWindow()->Position().iY + dlgRect.Height() - cbaRect.Height() ) );
+ iExtention->iCba->SetBoundingRect( dlg->Rect() );
- }
-
- }
-
+ }
+ }
}
- if(iCba == NULL)//if iCba was not create in the above branch but was deleted by DeleteCBA
+ if( !iExtention->iCba )//if iCba was not create in the above branch but was deleted by DeleteCBA
{
- iCba = CEikButtonGroupContainer::NewL(CEikButtonGroupContainer::ECba, CEikButtonGroupContainer::EHorizontal, this, R_AVKON_SOFTKEYS_EMPTY);
- iCba->SetBoundingRect(iEikonEnv->EikAppUi()->ApplicationRect());
+ iExtention->iCba = CEikButtonGroupContainer::NewL(
+ CEikButtonGroupContainer::ECba,
+ CEikButtonGroupContainer::EHorizontal,
+ this, R_AVKON_SOFTKEYS_EMPTY );
+ iExtention->iCba->SetBoundingRect( iEikonEnv->EikAppUi()->ApplicationRect() );
}
UpdateCBALabelsL();
}
return EKeyWasConsumed;
}
- else if (aType == EEventKey &&
- aKeyEvent.iCode == EKeyF18 &&
- (aKeyEvent.iModifiers & EModifierCtrl))
+ else if ( aType == EEventKey &&
+ aKeyEvent.iCode == EKeyF18 &&
+ ( aKeyEvent.iModifiers & EModifierCtrl ) )
{
// FEP requests Ccpu actions with CTRL + F18
// Requested action is encoded in iScanCode.
- ProcessCommandL(aKeyEvent.iScanCode);
+ ProcessCommandL( aKeyEvent.iScanCode );
return EKeyWasConsumed;
}
- else if ((aKeyEvent.iScanCode == EStdKeyLeftShift || aKeyEvent.iScanCode == EStdKeyRightShift) && aType == EEventKeyUp)
+ else if ( ( aKeyEvent.iScanCode == EStdKeyLeftShift ||
+ aKeyEvent.iScanCode == EStdKeyRightShift ) &&
+ aType == EEventKeyUp )
{
- //delete iCba;
- //iCba = NULL;
DeleteCBAL();
}
return EKeyWasNotConsumed;
}
-EXPORT_C void CAknCcpuSupport::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane)
+EXPORT_C void CAknCcpuSupport::DynInitMenuPaneL( TInt aResourceId,CEikMenuPane* aMenuPane )
{
- if (aResourceId == R_AVKON_EDIT_MODE_MENU ||
- aResourceId == R_AVKON_EDIT_TEXT_MENU)
+ if ( aResourceId == R_AVKON_EDIT_MODE_MENU ||
+ aResourceId == R_AVKON_EDIT_TEXT_MENU )
{
- aMenuPane->SetItemDimmed(EEikCmdEditCut,!iEditor->CcpuCanCut());
- aMenuPane->SetItemDimmed(EEikCmdEditCopy,!iEditor->CcpuCanCopy());
- aMenuPane->SetItemDimmed(EEikCmdEditPaste,!iEditor->CcpuCanPaste());
+ aMenuPane->SetItemDimmed( EEikCmdEditCut,!iEditor->CcpuCanCut() );
+ aMenuPane->SetItemDimmed( EEikCmdEditCopy,!iEditor->CcpuCanCopy() );
+ aMenuPane->SetItemDimmed( EEikCmdEditPaste,!iEditor->CcpuCanPaste() );
}
}
-EXPORT_C void CAknCcpuSupport::ProcessCommandL(TInt aCommandId)
+EXPORT_C void CAknCcpuSupport::ProcessCommandL( TInt aCommandId )
{
- switch (aCommandId)
+ switch ( aCommandId )
{
case EEikCmdEditCut:
iEditor->CcpuCutL();
@@ -213,41 +256,49 @@
{
TBool change = EFalse;
- if (iEditor->CcpuCanCopy())
- change = UpdateCBALabelL(ELeftSoftkeyIndex, EEikCmdEditCopy, R_TEXT_SOFTKEY_COPY) || change;
+ if ( iEditor->CcpuCanCopy() )
+ {
+ change = UpdateCBALabelL( KLeftSoftkeyIndex, EEikCmdEditCopy, R_TEXT_SOFTKEY_COPY ) || change;
+ }
else
- change = UpdateCBALabelL(ELeftSoftkeyIndex, ENullCommandId, R_TEXT_SOFTKEY_EMPTY) || change;
+ {
+ change = UpdateCBALabelL( KLeftSoftkeyIndex, KNullCommandId, R_TEXT_SOFTKEY_EMPTY ) || change;
+ }
- if (iEditor->CcpuCanPaste())
- change = UpdateCBALabelL(ERightSoftkeyIndex, EEikCmdEditPaste, R_TEXT_SOFTKEY_PASTE) || change;
+ if ( iEditor->CcpuCanPaste() )
+ {
+ change = UpdateCBALabelL( KRightSoftkeyIndex, EEikCmdEditPaste, R_TEXT_SOFTKEY_PASTE ) || change;
+ }
else
- change = UpdateCBALabelL(ERightSoftkeyIndex, ENullCommandId, R_TEXT_SOFTKEY_EMPTY) || change;
+ {
+ change = UpdateCBALabelL( KRightSoftkeyIndex, KNullCommandId, R_TEXT_SOFTKEY_EMPTY ) || change;
+ }
- if (change)
+ if ( change )
{
- iCba->DrawNow();
+ iExtention->iCba->DrawNow();
}
}
-TBool CAknCcpuSupport::UpdateCBALabelL(TInt aPosition, TInt aCommandId, TInt aTextResId)
+TBool CAknCcpuSupport::UpdateCBALabelL( TInt aPosition, TInt aCommandId, TInt aTextResId )
{
- if (iCba->ButtonGroup()->CommandId(aPosition) != aCommandId)
+ if ( iExtention->iCba->ButtonGroup()->CommandId(aPosition) != aCommandId )
{
- HBufC* buf = iEikonEnv->AllocReadResourceLC(aTextResId);
- iCba->SetCommandL(aPosition, aCommandId, *buf);
- CleanupStack::PopAndDestroy(buf);
+ HBufC* buf = iEikonEnv->AllocReadResourceLC( aTextResId );
+ iExtention->iCba->SetCommandL( aPosition, aCommandId, *buf );
+ CleanupStack::PopAndDestroy( buf );
return ETrue;
}
return EFalse;
}
-void CAknCcpuSupport::SetEmphasis(CCoeControl* /*aMenuControl*/,TBool /*aEmphasis*/)
+void CAknCcpuSupport::SetEmphasis( CCoeControl* /*aMenuControl*/, TBool /*aEmphasis*/ )
{
}
-EXPORT_C void CAknCcpuSupport::HandlePointerEventL(const TPointerEvent& aPointerEvent)
+EXPORT_C void CAknCcpuSupport::HandlePointerEventL( const TPointerEvent& aPointerEvent )
{
- CAknControl::HandlePointerEventL(aPointerEvent);
+ CAknControl::HandlePointerEventL( aPointerEvent );
}
EXPORT_C void* CAknCcpuSupport::ExtensionInterface( TUid /*aInterface*/ )
@@ -256,35 +307,32 @@
}
void CAknCcpuSupport::DeleteCBAL()
{
- if ( iCba != NULL )
+ if ( iExtention->iCba )
{
- delete iCba;
- iCba = NULL;
+ delete iExtention->iCba;
+ iExtention->iCba = NULL;
}
- if (isCbaEmded)
+ if ( iExtention->iIsCbaEmded )
{
CEikAppUi* eikAppUi = (CEikAppUi *)CCoeEnv::Static()->AppUi();
- if( eikAppUi!= NULL && eikAppUi->IsDisplayingDialog() && eikAppUi->TopFocusedControl() )
- {
- CEikDialog* dlg = eikAppUi->TopFocusedControl()->MopGetObject( dlg );
- if ( dlg )
- {
- CEikButtonGroupContainer* currentCba = dlg->MopGetObject( currentCba );
- CEikCba* dlgcba = static_cast<CEikCba*>(
- currentCba->ButtonGroup() );
- if ( currentCba && iDialogCba == currentCba )
- {
- currentCba->RemoveCommandFromStack(ELeftSoftkeyIndex,-1);
- currentCba->RemoveCommandFromStack(ERightSoftkeyIndex,-1);
-
- //dlgcba->UpdateCbaLabels(EFalse);
- currentCba->DrawNow();
- currentCba->ActivateL();
- iDialogCba = NULL;
- isCbaEmded = EFalse;
- }
- }
- }
+ if( eikAppUi && eikAppUi->IsDisplayingDialog() && eikAppUi->TopFocusedControl() )
+ {
+ CEikDialog* dlg = eikAppUi->TopFocusedControl()->MopGetObject( dlg );
+ if ( dlg )
+ {
+ CEikButtonGroupContainer* currentCba = dlg->MopGetObject( currentCba );
+ CEikCba* dlgcba = static_cast<CEikCba*>(
+ currentCba->ButtonGroup() );
+ if ( currentCba && iExtention->iDialogCba == currentCba )
+ {
+ currentCba->RemoveCommandFromStack( KLeftSoftkeyIndex, -1 );
+ currentCba->RemoveCommandFromStack( KRightSoftkeyIndex, -1 );
+ currentCba->DrawNow();
+ currentCba->ActivateL();
+ iExtention->iDialogCba = NULL;
+ iExtention->iIsCbaEmded = EFalse;
+ }
+ }
+ }
}
-
}
--- a/uifw/EikStd/coctlsrc/aknedwincustomdrawbase.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/aknedwincustomdrawbase.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -78,6 +78,8 @@
iPictographDrawer = CAknPictographInterface::NewL(
static_cast<CCoeControl&>( const_cast<CEikEdwin&>( iEdwin ) ),
*static_cast<MAknPictographAnimatorCallBack*>( this ) );
+
+ iSkinInstance = AknsUtils::SkinInstance();
}
// -----------------------------------------------------------------------------
@@ -191,33 +193,26 @@
CFont* font = NULL;
aParam.iMap.GetNearestFontInTwips( font, aFormat.iFontSpec );
RRegion rgn;
- if ( iEdwin.IsSmileyEnabled() && font )
+ TBool drawSmiley( iEdwin.IsSmileyEnabled() && font && ( &aParam.iGc ==
+ static_cast<CGraphicsContext*>( iTextView->BitmapContext() ) ) );
+ if ( drawSmiley )
{
+ TPoint startPt( aParam.iDrawRect.iTl );
+ startPt.iY = aLineInfo.iBaseline;
+ CBitmapContext* bitmapGc( iTextView->BitmapContext() );
+ CEikEdwin& edwin = const_cast<CEikEdwin&>( iEdwin );
rgn.AddRect( iEdwin.AdjustDrawRectForSmiley( aParam.iDrawRect ) );
- iEdwin.GetClipRegionForSmiley( rgn, *font, aText, aTextOrigin,
- aParam.iDrawRect );
+ TRAP_IGNORE( edwin.DrawSmileyInTextL( rgn, aParam.iDrawRect, *bitmapGc,
+ *font, aText, startPt ) );
aParam.iGc.SetClippingRegion( rgn );
}
CLafEdwinCustomDrawBase::DrawText( aParam, aLineInfo, alteredFormat,
aText, aTextOrigin, aExtraPixels );
- if ( iEdwin.IsSmileyEnabled() )
+ if ( drawSmiley )
{
aParam.iGc.CancelClippingRegion();
}
rgn.Close();
-
- if ( iEdwin.IsSmileyEnabled() && font && ( &aParam.iGc ==
- static_cast<CGraphicsContext*>( iTextView->BitmapContext() ) ) )
- {
- CBitmapContext* bitmapGc( iTextView->BitmapContext() );
- CEikEdwin& edwin = const_cast<CEikEdwin&>( iEdwin );
- TPoint startPt( aParam.iDrawRect.iTl );
- startPt.iY = aLineInfo.iBaseline;
- TRAP_IGNORE( {
- edwin.HandleScrollForSmileyL();
- edwin.DrawSmileyInTextL( *bitmapGc, *font, aText, startPt );
- } );
- }
// Draw pictographs if the feature is supported.
// Character justification is not supported.
@@ -328,10 +323,9 @@
TRgb ret = aDefaultColor;
if (aColorIndex==TLogicalRgb::ESystemForegroundIndex)
{
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- if (skin && iEdwin.SkinColorId() != KErrNotFound)
+ if (iSkinInstance && iEdwin.SkinColorId() != KErrNotFound)
{
- AknsUtils::GetCachedColor(skin, ret, KAknsIIDQsnTextColors, iEdwin.SkinColorId());
+ AknsUtils::GetCachedColor(iSkinInstance, ret, KAknsIIDQsnTextColors, iEdwin.SkinColorId());
}
}
else if (aColorIndex==TLogicalRgb::ESystemBackgroundIndex)
@@ -345,32 +339,32 @@
else if (aColorIndex==TLogicalRgb::ESystemSelectionForegroundIndex)
{
ret = KRgbWhite;
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- if (skin)
+
+ if (iSkinInstance)
{
if ( iEdwin.HighlightStyle() == EEikEdwinHighlightLink )
{
- AknsUtils::GetCachedColor(skin, ret, KAknsIIDQsnHighlightColors, EAknsCIQsnTextColorsCG3);
+ AknsUtils::GetCachedColor(iSkinInstance, ret, KAknsIIDQsnHighlightColors, EAknsCIQsnTextColorsCG3);
}
else // default
{
- AknsUtils::GetCachedColor(skin, ret, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG24);
+ AknsUtils::GetCachedColor(iSkinInstance, ret, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG24);
}
}
}
else if (aColorIndex==TLogicalRgb::ESystemSelectionBackgroundIndex)
{
ret = KRgbBlue;
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- if (skin)
+
+ if (iSkinInstance)
{
if ( iEdwin.HighlightStyle() == EEikEdwinHighlightLink )
{
- AknsUtils::GetCachedColor(skin, ret, KAknsIIDQsnHighlightColors, EAknsCIQsnTextColorsCG1);
+ AknsUtils::GetCachedColor(iSkinInstance, ret, KAknsIIDQsnHighlightColors, EAknsCIQsnTextColorsCG1);
}
else // default
{
- AknsUtils::GetCachedColor(skin, ret, KAknsIIDQsnHighlightColors, EAknsCIQsnHighlightColorsCG2);
+ AknsUtils::GetCachedColor(iSkinInstance, ret, KAknsIIDQsnHighlightColors, EAknsCIQsnHighlightColorsCG2);
}
}
}
@@ -407,19 +401,14 @@
#endif //RD_UI_TRANSITION_EFFECTS_POPUPS
if ( bitmapGc && iEdwin.SkinEnabled() )
{
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- // Edwin manages the skin background
- MAknsControlContext* edCc = iEdwin.SkinBackgroundControlContext();
-
- TInt drawFlags = KAknsDrawParamDefault;
- if( CAknEnv::Static()->TransparencyEnabled() )
- {
- drawFlags |= KAknsDrawParamNoClearUnderImage;
- }
-
- if( AknsDrawUtils::DrawBackground( skin, edCc,
- &iControl, *bitmapGc, aRect.iTl, aRect,
- drawFlags ))
+ if ( AknsDrawUtils::DrawBackground(
+ iSkinInstance,
+ iEdwin.SkinBackgroundControlContext(),
+ &iControl,
+ *bitmapGc,
+ aRect.iTl,
+ aRect,
+ KAknsDrawParamNoClearUnderImage ) )
{
aDrawnRect = aRect;
drawn = ETrue;
--- a/uifw/EikStd/coctlsrc/aknedwinphysicshandler.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/aknedwinphysicshandler.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -87,7 +87,6 @@
// Pointer down inside view rect, set flag to allow dragging
// and initialize values
iFlags.Set( EFlagDraggingAllowed );
- iPrevPosition = aPointerEvent.iPosition;
iStartPosition = aPointerEvent.iPosition;
StopPhysics();
@@ -112,15 +111,15 @@
iDragThresholdExceeded = ETrue;
}
}
-
- if ( iDragThresholdExceeded )
+ else
{
TInt deltaY( iPrevPosition.iY - aPointerEvent.iPosition.iY );
- iPrevPosition = aPointerEvent.iPosition;
TPoint deltaPoint( 0, deltaY );
iPhysics->RegisterPanningPosition( deltaPoint );
}
+
+ iPrevPosition = aPointerEvent.iPosition;
}
else if ( aPointerEvent.iType == TPointerEvent::EButton1Up )
{
@@ -242,8 +241,12 @@
{
BlockEvents( ETrue );
}
- // Scroll view based on values from aknphysics
+
+ // Disable background drawing while panning or flicking. Instead,
+ // background is drawn in one frame.
+ iEdwin.DrawViewBackground( ETrue );
ScrollView( ETrue );
+ iEdwin.DrawViewBackground( EFalse );
}
// ---------------------------------------------------------------------------
--- a/uifw/EikStd/coctlsrc/aknitemactionmenu.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/aknitemactionmenu.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -28,6 +28,7 @@
#include "akncollectionobserver.h"
#include "aknitemactionmenudata.h"
#include "aknitemactionmenuregister.h"
+#include "akntrace.h"
/**
* Index for invalid list index.
@@ -41,9 +42,11 @@
CAknItemActionMenu* CAknItemActionMenu::NewL(
MAknCollection& aCollection, MObjectProvider* aOwner )
{
+ _AKNTRACE_FUNC_ENTER;
CAknItemActionMenu* self = CAknItemActionMenu::NewLC(
aCollection, aOwner );
CleanupStack::Pop( self );
+ _AKNTRACE_FUNC_EXIT;
return self;
}
@@ -55,9 +58,11 @@
CAknItemActionMenu* CAknItemActionMenu::NewLC(
MAknCollection& aCollection, MObjectProvider* aOwner )
{
+ _AKNTRACE_FUNC_ENTER;
CAknItemActionMenu* self = new ( ELeave ) CAknItemActionMenu( aOwner );
CleanupStack::PushL( self );
self->ConstructL( aCollection );
+ _AKNTRACE_FUNC_EXIT;
return self;
}
@@ -68,6 +73,7 @@
//
CAknItemActionMenu::~CAknItemActionMenu()
{
+ _AKNTRACE_FUNC_ENTER;
AKNTASHOOK_REMOVE();
delete iPopupMenu;
delete iMenuPane;
@@ -80,6 +86,7 @@
}
iObservers.Close();
+ _AKNTRACE_FUNC_EXIT;
}
@@ -90,6 +97,8 @@
EXPORT_C CAknItemActionMenu* CAknItemActionMenu::RegisterCollectionL(
MAknCollection& aCollection )
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return AknItemActionMenuRegister::RegisterCollectionL( aCollection );
}
@@ -101,6 +110,7 @@
EXPORT_C void CAknItemActionMenu::RemoveCollection(
MAknCollection& aCollection )
{
+ _AKNTRACE_FUNC_ENTER;
for ( TInt i = 0; i < iStates.Count(); i++ )
{
MAknCollection* state( iStates[ i ] );
@@ -111,6 +121,7 @@
}
}
UnregisterMenu();
+ _AKNTRACE_FUNC_EXIT;
}
@@ -120,6 +131,7 @@
//
EXPORT_C TBool CAknItemActionMenu::InitMenuL()
{
+ _AKNTRACE_FUNC_ENTER;
iMenuData->Reset();
if ( !iMenuBar )
{
@@ -139,6 +151,7 @@
return EFalse;
}
+ _AKNTRACE_FUNC_EXIT;
return iMenuData->Count();
}
@@ -151,6 +164,7 @@
const TPoint& aPosition,
TUint /*aFlags*/ )
{
+ _AKNTRACE_FUNC_ENTER;
if ( iMenuData->Count() )
{
if ( !iPopupMenu )
@@ -164,6 +178,7 @@
CAknStylusPopUpMenu::EPositionTypeRightBottom );
iPopupMenu->ShowMenu();
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -174,12 +189,14 @@
EXPORT_C void CAknItemActionMenu::CollectionChanged(
MAknCollection& aCollection )
{
+ _AKNTRACE_FUNC_ENTER;
if ( iObservers.Count() && iStates.Find( &aCollection ) != KErrNotFound )
{
TBool collectionVisible( aCollection.CollectionState()
& MAknCollection::EStateCollectionVisible );
NotifyChangeToActiveObserver( collectionVisible );
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -190,10 +207,12 @@
void CAknItemActionMenu::AddCollectionStateL(
MAknCollection& aCollection )
{
+ _AKNTRACE_FUNC_ENTER;
if ( iStates.Find( &aCollection ) == KErrNotFound )
{
iStates.InsertL( &aCollection, 0 );
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -205,8 +224,10 @@
MEikMenuObserver* aMenuObserver,
CEikMenuBar* aMenuBar )
{
+ _AKNTRACE_FUNC_ENTER;
iMenuBarObserver = aMenuObserver;
iMenuBar = aMenuBar;
+ _AKNTRACE_FUNC_EXIT;
}
@@ -216,6 +237,7 @@
//
TBool CAknItemActionMenu::CollectionHighlightVisible() const
{
+ _AKNTRACE_FUNC_ENTER;
TBool highlightVisible( ETrue );
for ( TInt i = 0; i < iStates.Count(); i++ )
{
@@ -231,6 +253,7 @@
break;
}
}
+ _AKNTRACE_FUNC_EXIT;
return highlightVisible;
}
@@ -242,6 +265,7 @@
TBool CAknItemActionMenu::CollectionSoftkeyVisible(
TBool aVisibleCollection ) const
{
+ _AKNTRACE_FUNC_ENTER;
TBool softkeyVisible( ETrue );
for ( TInt i = 0; i < iStates.Count(); i++ )
{
@@ -262,6 +286,7 @@
break;
}
}
+ _AKNTRACE_FUNC_EXIT;
return softkeyVisible;
}
@@ -272,6 +297,8 @@
//
CAknItemActionMenuData& CAknItemActionMenu::MenuData()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return *iMenuData;
}
@@ -283,11 +310,13 @@
void CAknItemActionMenu::RegisterCollectionObserverL(
MAknCollectionObserver& aObserver )
{
+ _AKNTRACE_FUNC_ENTER;
if ( iObservers.Find( &aObserver ) == KErrNotFound )
{
iObservers.InsertL( &aObserver, 0 );
aObserver.SetItemActionMenu( this );
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -298,12 +327,14 @@
void CAknItemActionMenu::RemoveCollectionObserver(
MAknCollectionObserver& aObserver )
{
+ _AKNTRACE_FUNC_ENTER;
TInt index( iObservers.Find( &aObserver ) );
if ( index != KErrNotFound )
{
iObservers.Remove( index );
UnregisterMenu();
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -313,6 +344,8 @@
//
TInt CAknItemActionMenu::CollectionCount() const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return iStates.Count();
}
@@ -323,6 +356,8 @@
//
MObjectProvider* CAknItemActionMenu::Owner() const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return iOwner;
}
@@ -339,7 +374,9 @@
iMenuData( NULL ),
iOwner( aOwner )
{
+ _AKNTRACE_FUNC_ENTER;
AKNTASHOOK_ADD( this, "CAknItemActionMenu" );
+ _AKNTRACE_FUNC_EXIT;
}
@@ -349,8 +386,10 @@
//
void CAknItemActionMenu::ConstructL( MAknCollection& aCollection )
{
+ _AKNTRACE_FUNC_ENTER;
AddCollectionStateL( aCollection );
iMenuData = CAknItemActionMenuData::NewL();
+ _AKNTRACE_FUNC_EXIT;
}
@@ -360,6 +399,7 @@
//
TInt CAknItemActionMenu::LaunchSubMenuQueryL( const TDesC& aHeading )
{
+ _AKNTRACE_FUNC_ENTER;
TInt selectedIndex( KInvalidListIndex );
if ( iMenuData->Count() )
{
@@ -375,6 +415,7 @@
}
queryDialog->RunLD();
}
+ _AKNTRACE_FUNC_EXIT;
return ++selectedIndex;
}
@@ -386,6 +427,7 @@
void CAknItemActionMenu::NotifyChangeToActiveObserver(
TBool aCollectionVisible )
{
+ _AKNTRACE_FUNC_ENTER;
for ( TInt i = 0; i < iObservers.Count(); i++ )
{
MAknCollectionObserver* observer( iObservers[ i ] );
@@ -395,6 +437,7 @@
break;
}
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -406,6 +449,8 @@
CCoeControl* /*aMenuControl*/,
TBool /*aEmphasis*/ )
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
}
@@ -415,6 +460,7 @@
//
void CAknItemActionMenu::ProcessCommandL( TInt aCommandId )
{
+ _AKNTRACE_FUNC_ENTER;
MAknCollection* informState ( NULL );
// Store collection state before sending the command
for ( TInt i = 0; i < iStates.Count(); i++ )
@@ -454,6 +500,7 @@
informState->ItemActionMenuClosed();
}
UnregisterMenu();
+ _AKNTRACE_FUNC_EXIT;
}
@@ -463,6 +510,7 @@
//
void CAknItemActionMenu::UnregisterMenu()
{
+ _AKNTRACE_FUNC_ENTER;
if ( !iProcessingCommand && !iStates.Count() && !iObservers.Count() )
{
delete iPopupMenu;
@@ -471,6 +519,7 @@
iMenuPane = NULL;
AknItemActionMenuRegister::UnregisterItemActionMenu( *this );
}
+ _AKNTRACE_FUNC_EXIT;
}
// End of File
--- a/uifw/EikStd/coctlsrc/aknitemactionmenudata.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/aknitemactionmenudata.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -20,6 +20,7 @@
#include <eikpanic.h>
#include "aknitemactionmenudata.h"
+#include "akntrace.h"
// ---------------------------------------------------------------------------
// CAknItemActionMenuData::NewL
@@ -27,7 +28,9 @@
//
CAknItemActionMenuData* CAknItemActionMenuData::NewL()
{
+ _AKNTRACE_FUNC_ENTER;
CAknItemActionMenuData* self = new ( ELeave ) CAknItemActionMenuData();
+ _AKNTRACE_FUNC_EXIT;
return self;
}
@@ -38,7 +41,9 @@
//
CAknItemActionMenuData::~CAknItemActionMenuData()
{
+ _AKNTRACE_FUNC_ENTER;
iMenuData.Close();
+ _AKNTRACE_FUNC_EXIT;
}
@@ -49,11 +54,13 @@
void CAknItemActionMenuData::AddMenuItemToDataArrayL(
TInt aCommandId, TInt aCascadeId, const TDesC& aText )
{
+ _AKNTRACE_FUNC_ENTER;
TAknItemActionMenuData newData;
newData.iCommandId = aCommandId;
newData.iCascadeId = aCascadeId;
newData.iText = aText;
iMenuData.AppendL( newData );
+ _AKNTRACE_FUNC_EXIT;
}
@@ -64,6 +71,7 @@
void CAknItemActionMenuData::AddMenuItemsToStylusPopupMenuL(
CAknStylusPopUpMenu* aPopupMenu )
{
+ _AKNTRACE_FUNC_ENTER;
if ( aPopupMenu )
{
for ( TInt i = 0; i < iMenuData.Count(); i++ )
@@ -71,6 +79,7 @@
aPopupMenu->AddMenuItemL( iMenuData[ i ].iText, i + 1 );
}
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -80,6 +89,7 @@
//
MDesCArray* CAknItemActionMenuData::MenuItemsForQueryDialogL()
{
+ _AKNTRACE_FUNC_ENTER;
CDesCArrayFlat* itemArray( NULL );
TInt itemCount( iMenuData.Count() );
if ( itemCount )
@@ -93,6 +103,7 @@
}
CleanupStack::Pop( itemArray );
}
+ _AKNTRACE_FUNC_EXIT;
return itemArray;
}
@@ -103,10 +114,12 @@
//
TInt CAknItemActionMenuData::MenuItemCascadeId( TInt aIndex )
{
+ _AKNTRACE_FUNC_ENTER;
aIndex--;
__ASSERT_ALWAYS(
( aIndex >= 0 && aIndex < iMenuData.Count() ),
Panic( EEikPanicOutOfRange ) );
+ _AKNTRACE_FUNC_EXIT;
return iMenuData[ aIndex ].iCascadeId;
}
@@ -117,10 +130,12 @@
//
TDesC& CAknItemActionMenuData::MenuItemText( TInt aIndex )
{
+ _AKNTRACE_FUNC_ENTER;
aIndex--;
__ASSERT_ALWAYS(
( aIndex >= 0 && aIndex < iMenuData.Count() ),
Panic( EEikPanicOutOfRange ) );
+ _AKNTRACE_FUNC_EXIT;
return iMenuData[ aIndex ].iText;
}
@@ -131,10 +146,12 @@
//
TInt CAknItemActionMenuData::MenuItemCommandId( TInt aIndex )
{
+ _AKNTRACE_FUNC_ENTER;
aIndex--;
__ASSERT_ALWAYS(
( aIndex >= 0 && aIndex < iMenuData.Count() ),
Panic( EEikPanicOutOfRange ) );
+ _AKNTRACE_FUNC_EXIT;
return iMenuData[ aIndex ].iCommandId;
}
@@ -145,7 +162,9 @@
//
void CAknItemActionMenuData::Reset()
{
+ _AKNTRACE_FUNC_ENTER;
iMenuData.Reset();
+ _AKNTRACE_FUNC_EXIT;
}
@@ -155,6 +174,8 @@
//
TInt CAknItemActionMenuData::Count() const
{
+ _AKNTRACE_FUNC_ENTER;;
+ _AKNTRACE_FUNC_EXIT;
return iMenuData.Count();
}
--- a/uifw/EikStd/coctlsrc/aknitemactionmenuregister.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/aknitemactionmenuregister.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -41,7 +41,7 @@
if ( instance )
{
- instance->iMenuBarOwner = aMenuBarOwner;
+ instance->DoSetConstructingMenuBarOwnerL( aMenuBarOwner );
}
_AKNTRACE_FUNC_EXIT;
@@ -346,17 +346,20 @@
for ( TInt i = 0; i < iUnregisteredMenus.Count(); i++ )
{
TAknUnregisteredMenuData& data( iUnregisteredMenus[ i ] );
- CEikMenuBar* ownerMenubar( NULL );
- data.iOwner->MopGetObjectNoChaining( ownerMenubar );
- if ( ownerMenubar == &aMenuBar )
+ if ( data.iOwner )
{
- menu = data.iMenu;
- if ( menu )
+ CEikMenuBar* ownerMenubar( NULL );
+ data.iOwner->MopGetObjectNoChaining( ownerMenubar );
+ if ( ownerMenubar == &aMenuBar )
{
- AddRegisterEntryL( aMenuBar, *menu );
- iUnregisteredMenus.Remove( i );
+ menu = data.iMenu;
+ if ( menu )
+ {
+ AddRegisterEntryL( aMenuBar, *menu );
+ iUnregisteredMenus.Remove( i );
+ }
+ break;
}
- break;
}
}
@@ -393,11 +396,14 @@
TAknUnregisteredMenuData& data( iUnregisteredMenus[ i ] );
if ( data.iMenu == &aItemActionMenu )
{
- data.iOwner->MopGetObjectNoChaining( menuBar );
- if ( menuBar )
+ if ( data.iOwner )
{
- AddRegisterEntryL( *menuBar, aItemActionMenu );
- iUnregisteredMenus.Remove( i );
+ data.iOwner->MopGetObjectNoChaining( menuBar );
+ if ( menuBar )
+ {
+ AddRegisterEntryL( *menuBar, aItemActionMenu );
+ iUnregisteredMenus.Remove( i );
+ }
}
break;
}
@@ -877,6 +883,48 @@
return instance;
}
+// ---------------------------------------------------------------------------
+// AknItemActionMenuRegister::DoSetConstructingMenuBarOwnerL
+// ---------------------------------------------------------------------------
+//
+void AknItemActionMenuRegister::DoSetConstructingMenuBarOwnerL(
+ MObjectProvider* aMenuBarOwner )
+ {
+ if ( aMenuBarOwner )
+ {
+ CEikDialog* dialog( NULL );
+ aMenuBarOwner->MopGetObjectNoChaining( dialog );
+ // Get information if the constructing menu bar owner is a dialog
+ // and store it to iIsConstructingDialog
+ if ( dialog )
+ {
+ iIsConstructingDialog = ETrue;
+ }
+ }
+ else if ( !aMenuBarOwner && iIsConstructingDialog )
+ {
+ // When setting constructing menubar owner to NULL from a dialog check
+ // if there is item with the same menubar owner in iUnregisteredMenus
+ // and try to find correct menubar for it.
+ for ( TInt i = 0; i < iUnregisteredMenus.Count(); i++ )
+ {
+ TAknUnregisteredMenuData& data( iUnregisteredMenus[ i ] );
+ if ( data.iOwner == iMenuBarOwner )
+ {
+ data.iOwner = iMenuBarOwner = NULL;
+ CEikMenuBar* menuBar = FindCurrentMenuBarL();
+ if ( menuBar )
+ {
+ AddRegisterEntryL( *menuBar, *data.iMenu );
+ iUnregisteredMenus.Remove( i );
+ }
+ iIsConstructingDialog = EFalse;
+ return;
+ }
+ }
+ }
+ iMenuBarOwner = aMenuBarOwner;
+ }
// ---------------------------------------------------------------------------
// AknItemActionMenuRegister::TAknUnregisteredObserverData
--- a/uifw/EikStd/coctlsrc/aknitemactionmenuregisterarray.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/aknitemactionmenuregisterarray.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -19,6 +19,7 @@
#include <eikmenub.h>
#include "aknitemactionmenuregisterarray.h"
+#include "akntrace.h"
// ---------------------------------------------------------------------------
// CCAknItemActionMenuRegisterArray::NewL
@@ -26,9 +27,11 @@
//
CAknItemActionMenuRegisterArray* CAknItemActionMenuRegisterArray::NewL()
{
+ _AKNTRACE_FUNC_ENTER;
CAknItemActionMenuRegisterArray* self =
CAknItemActionMenuRegisterArray::NewLC();
CleanupStack::Pop( self );
+ _AKNTRACE_FUNC_EXIT;
return self;
}
@@ -39,9 +42,11 @@
//
CAknItemActionMenuRegisterArray* CAknItemActionMenuRegisterArray::NewLC()
{
+ _AKNTRACE_FUNC_ENTER;
CAknItemActionMenuRegisterArray* self =
new ( ELeave ) CAknItemActionMenuRegisterArray();
CleanupStack::PushL( self );
+ _AKNTRACE_FUNC_EXIT;
return self;
}
@@ -52,8 +57,10 @@
//
CAknItemActionMenuRegisterArray::~CAknItemActionMenuRegisterArray()
{
+ _AKNTRACE_FUNC_ENTER;
iRegisterArray.ResetAndDestroy();
iRegisterArray.Close();
+ _AKNTRACE_FUNC_EXIT;
}
@@ -64,10 +71,12 @@
void CAknItemActionMenuRegisterArray::AddEntryL(
CEikMenuBar& aMenuBar, CAknItemActionMenu& aItemActionMenu )
{
+ _AKNTRACE_FUNC_ENTER;
CRegisterEntry* newEntry = CRegisterEntry::NewLC(
aMenuBar, aItemActionMenu );
iRegisterArray.AppendL( newEntry );
CleanupStack::Pop( newEntry );
+ _AKNTRACE_FUNC_EXIT;
}
@@ -78,6 +87,7 @@
void CAknItemActionMenuRegisterArray::UnregisterMenuBar(
CEikMenuBar& aMenuBar )
{
+ _AKNTRACE_FUNC_ENTER;
CRegisterEntry* entry( NULL );
for ( TInt i = 0; i < iRegisterArray.Count(); i++ )
{
@@ -97,6 +107,7 @@
break;
}
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -107,6 +118,7 @@
void CAknItemActionMenuRegisterArray::UnregisterItemActionMenu(
CAknItemActionMenu& aItemActionMenu )
{
+ _AKNTRACE_FUNC_ENTER;
CRegisterEntry* entry( NULL );
for ( TInt i = 0; i < iRegisterArray.Count(); i++ )
@@ -122,6 +134,7 @@
break;
}
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -132,6 +145,7 @@
TBool CAknItemActionMenuRegisterArray::RegisterCollectionObserverL(
CEikMenuBar& aMenuBar, MAknCollectionObserver& aObserver )
{
+ _AKNTRACE_FUNC_ENTER;
TBool menuBarFound( EFalse );
CRegisterEntry* entry( NULL );
for ( TInt i = 0; i < iRegisterArray.Count(); i++ )
@@ -148,6 +162,7 @@
break;
}
}
+ _AKNTRACE_FUNC_EXIT;
return menuBarFound;
}
@@ -159,6 +174,7 @@
void CAknItemActionMenuRegisterArray::UnregisterCollectionObserver(
MAknCollectionObserver& aObserver )
{
+ _AKNTRACE_FUNC_ENTER;
CRegisterEntry* entry( NULL );
for ( TInt i = 0; i < iRegisterArray.Count(); i++ )
@@ -169,6 +185,7 @@
entry->ItemActionMenu()->RemoveCollectionObserver( aObserver );
}
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -196,6 +213,7 @@
//
void CAknItemActionMenuRegisterArray::RemoveEntry( TInt aIndex )
{
+ _AKNTRACE_FUNC_ENTER;
if ( aIndex >= 0 && aIndex < iRegisterArray.Count() )
{
CRegisterEntry* entry = iRegisterArray[ aIndex ];
@@ -203,6 +221,7 @@
entry = NULL;
iRegisterArray.Remove( aIndex );
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -214,8 +233,10 @@
CAknItemActionMenuRegisterArray::CRegisterEntry::NewL(
CEikMenuBar& aMenuBar, CAknItemActionMenu& aItemActionMenu )
{
+ _AKNTRACE_FUNC_ENTER;
CRegisterEntry* self = CRegisterEntry::NewLC( aMenuBar, aItemActionMenu );
CleanupStack::Pop( self );
+ _AKNTRACE_FUNC_EXIT;
return self;
}
@@ -228,9 +249,11 @@
CAknItemActionMenuRegisterArray::CRegisterEntry::NewLC(
CEikMenuBar& aMenuBar, CAknItemActionMenu& aItemActionMenu )
{
+ _AKNTRACE_FUNC_ENTER;
CRegisterEntry* self =
new ( ELeave ) CRegisterEntry( aMenuBar, aItemActionMenu );
CleanupStack::PushL( self );
+ _AKNTRACE_FUNC_EXIT;
return self;
}
@@ -241,7 +264,9 @@
//
CAknItemActionMenuRegisterArray::CRegisterEntry::~CRegisterEntry()
{
+ _AKNTRACE_FUNC_ENTER;
delete iActionMenu;
+ _AKNTRACE_FUNC_EXIT;
}
@@ -251,7 +276,9 @@
//
void CAknItemActionMenuRegisterArray::CRegisterEntry::RemoveMenuBar()
{
+ _AKNTRACE_FUNC_ENTER;
iMenuBar = NULL;
+ _AKNTRACE_FUNC_EXIT;
}
@@ -261,6 +288,8 @@
//
CEikMenuBar* CAknItemActionMenuRegisterArray::CRegisterEntry::MenuBar()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return iMenuBar;
}
@@ -271,8 +300,10 @@
//
void CAknItemActionMenuRegisterArray::CRegisterEntry::RemoveItemActionMenu()
{
+ _AKNTRACE_FUNC_ENTER;
delete iActionMenu;
iActionMenu = NULL;
+ _AKNTRACE_FUNC_EXIT;
}
@@ -283,6 +314,8 @@
CAknItemActionMenu*
CAknItemActionMenuRegisterArray::CRegisterEntry::ItemActionMenu()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return iActionMenu;
}
--- a/uifw/EikStd/coctlsrc/aknstyluspopupmenucontent.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/aknstyluspopupmenucontent.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -795,6 +795,10 @@
{
if ( Observer() )
{
+ if ( iExtension )
+ {
+ iExtension->iInformObserver = EFalse;
+ }
// this will close the stylus popup menu
TRAP_IGNORE( Observer()->HandleControlEventL( this,
MCoeControlObserver::EEventRequestExit ) );
@@ -804,6 +808,10 @@
{
if ( Observer() )
{
+ if ( iExtension )
+ {
+ iExtension->iInformObserver = EFalse;
+ }
// this will close the stylus popup menu
TRAP_IGNORE( Observer()->HandleControlEventL( this,
MCoeControlObserver::EEventRequestCancel ) );
@@ -1020,7 +1028,7 @@
if ( aItem < iLastVisibleItem )
{
- AknListUtils::DrawSeparator( aGc, rect, textColor );
+ AknListUtils::DrawSeparator( aGc, rect, textColor, skin );
}
}
}
@@ -1287,7 +1295,7 @@
iItems[i]->iRect = itemRect;
}
- if ( lastItem == iItems.Count() )
+ if ( lastItem == iItems.Count() || ( Rect().Height() % singleItemHeight ) == 0 )
{
// substract the partially visible item
--lastItem;
@@ -1404,6 +1412,10 @@
{
if ( Observer() )
{
+ if ( iExtension )
+ {
+ iExtension->iInformObserver = EFalse;
+ }
// this will close the stylus popup menu
TRAP_IGNORE( Observer()->HandleControlEventL( this,
MCoeControlObserver::EEventRequestExit ) );
--- a/uifw/EikStd/coctlsrc/eikcba.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/eikcba.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -56,7 +56,7 @@
#include <aknitemactionmenu.h>
#include "akncollectionobserver.h"
#include "aknitemactionmenuregister.h"
-
+#include "akntrace.h"
/**
* Color value for transparent pixel (ARGB format).
*/
@@ -76,12 +76,16 @@
inline TAknWindowComponentLayout DoCompose(TAknWindowComponentLayout aLine1,
TAknWindowComponentLayout aLine2)
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return TAknWindowComponentLayout::Compose(aLine1, aLine2);
}
inline TAknTextComponentLayout DoComposeText(TAknWindowComponentLayout aLine1,
TAknTextComponentLayout aLine2)
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return TAknWindowComponentLayout::ComposeText(aLine1, aLine2);
}
@@ -91,6 +95,8 @@
*/
static TBool IsAreaSideRightPaneActive()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return EFalse;
}
@@ -100,6 +106,7 @@
*/
static TBool IsMskEnabledLayoutActive()
{
+ _AKNTRACE_FUNC_ENTER;
TBool result( EFalse );
if ( Layout_Meta_Data::IsMSKEnabled() )
@@ -125,6 +132,7 @@
}
}
+ _AKNTRACE_FUNC_EXIT;
return result;
}
@@ -135,6 +143,8 @@
*/
static TBool IsBitmapUpdateNeeded( CFbsBitmap* aOldBitmap, const TSize& aSize )
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return !aOldBitmap || ( aOldBitmap->SizeInPixels() != aSize );
}
@@ -240,19 +250,24 @@
iRightFrameMask( NULL ),
iItemActionMenu( NULL )
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
};
static CEikCbaExtension* NewL( CEikCba& aOwner )
{
+ _AKNTRACE_FUNC_ENTER;
CEikCbaExtension* self = new (ELeave) CEikCbaExtension( aOwner );
CleanupStack::PushL( self );
self->ConstructL();
CleanupStack::Pop( self );
+ _AKNTRACE_FUNC_EXIT;
return self;
}
void ConstructL()
{
+ _AKNTRACE_FUNC_ENTER;
// Wallpaper is not drawn by embedded CBA.
if ( !iOwner.Flags().IsSet( ECbaEmbedded ) )
{
@@ -276,10 +291,12 @@
AknItemActionMenuRegister::RegisterCollectionObserverL(
*this );
}
+ _AKNTRACE_FUNC_EXIT;
}
~CEikCbaExtension()
{
+ _AKNTRACE_FUNC_ENTER;
if ( iOwner.Flags().IsSet( ECbaSingleClickEnabled ) )
{
AknItemActionMenuRegister::UnregisterCollectionObserver( *this );
@@ -297,19 +314,24 @@
delete iLskPostingOverlayBitmap;
delete iRskPostingOverlayBitmap;
delete iBmpFile;
+ _AKNTRACE_FUNC_EXIT;
}
/** From base class MCenRepNotifyHandlerCallback */
void HandleNotifyInt( TUint32 /*aId*/, TInt aNewValue )
{
+ _AKNTRACE_FUNC_ENTER;
iWallpaperInUse = aNewValue;
iOwner.SetSkinBackgroundId( KAknsIIDNone );
+ _AKNTRACE_FUNC_EXIT;
}
void UpdateSoftkeyFrameL( TBool aForcedUpdate )
{
+ _AKNTRACE_FUNC_ENTER;
if ( !AknLayoutUtils::PenEnabled() )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
TAknLayoutRect cbarect;
@@ -439,6 +461,7 @@
iUpdateFrameInnerRect = innerRect;
iUpdateMSKFrameOuterRect = mskOuterRect;
iUpdateMskFrameInnerRect = mskInnerRect;
+ _AKNTRACE_FUNC_EXIT;
}
@@ -453,6 +476,7 @@
*/
static void MergeMaskInto16MA( CFbsBitmap* aMask, CFbsBitmap* aDestBitmap )
{
+ _AKNTRACE_FUNC_ENTER;
// aMask display mode must be EGray256.
// aMask must not be compressed in RAM.
// aDestBitmap display mode must be EColor16MA.
@@ -490,6 +514,7 @@
}
aDestBitmap->UnlockHeap();
aMask->UnlockHeap();
+ _AKNTRACE_FUNC_EXIT;
}
/**
@@ -506,6 +531,7 @@
const TRect& aRect,
CEikCbaButton* aButton )
{
+ _AKNTRACE_FUNC_ENTER;
delete aBitmap;
aBitmap = NULL;
@@ -559,6 +585,7 @@
CleanupStack::PopAndDestroy( 2, bitmapDevice );
CleanupStack::Pop( bitmap );
aBitmap = bitmap;
+ _AKNTRACE_FUNC_EXIT;
}
/**
@@ -573,6 +600,7 @@
CEikCbaButton* aRightButton,
TInt aAknLayoutFlags )
{
+ _AKNTRACE_FUNC_ENTER;
TRect rightSoftKeyButtonRect;
TRect leftSoftKeyButtonRect;
if( aAknLayoutFlags & EAknLayoutCbaInRightPane )
@@ -685,6 +713,7 @@
iRskPostingOverlayBitmap,
rightSoftKeyButtonRect,
aRightButton );
+ _AKNTRACE_FUNC_EXIT;
}
/**
@@ -695,7 +724,9 @@
*/
void SetItemActionMenu( CAknItemActionMenu* aItemActionMenu )
{
+ _AKNTRACE_FUNC_ENTER;
iItemActionMenu = aItemActionMenu;
+ _AKNTRACE_FUNC_EXIT;
}
/**
@@ -707,12 +738,14 @@
*/
void CollectionChanged( TBool aCollectionVisible )
{
+ _AKNTRACE_FUNC_ENTER;
// Do not update state if invisible collection tries to enable sk
if ( aCollectionVisible
|| iOwner.Flags().IsClear( ECbaItemSoftkeyDisabled ) )
{
iOwner.UpdateItemSpecificSoftkey();
}
+ _AKNTRACE_FUNC_EXIT;
}
/**
@@ -723,15 +756,18 @@
*/
TBool Active() const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return iOwner.IsVisible() && !iOwner.IsEmpty();
}
/*
* Using the special theme Id draw background
*/
- void DrawSemiTransparencyL(CWindowGc& aGc,
- const TRect& aRect)
- {
+ void DrawSemiTransparency( CWindowGc& aGc,
+ const TRect& aRect )
+ {
+ _AKNTRACE_FUNC_ENTER;
aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
aGc.SetBrushColor( TRgb(128, 128, 128, 64) );
aGc.Clear();
@@ -810,7 +846,8 @@
SemiButtonID,
SemiButtonCenterID);
}
- }
+ _AKNTRACE_FUNC_EXIT;
+ }
public:
CEikCba& iOwner;
@@ -891,22 +928,28 @@
CEikCba* CEikCba::NewL(const CEikCba* aPrevious, MEikCommandObserver* aCommandObserver,
RWindowGroup* aParentWg)
{
+ _AKNTRACE_FUNC_ENTER;
CEikCba* self = CEikCba::NewLC(aPrevious, aCommandObserver, aParentWg); // static
CleanupStack::Pop( self );
+ _AKNTRACE_FUNC_EXIT;
return self;
}
CEikCba* CEikCba::NewL(TInt aResourceId, const CEikCba* aPrevious,
MEikCommandObserver* aCommandObserver, RWindowGroup* aParentWg)
{
+ _AKNTRACE_FUNC_ENTER;
CEikCba* self = CEikCba::NewLC(aResourceId, aPrevious, aCommandObserver, aParentWg); // static
CleanupStack::Pop( self );
+ _AKNTRACE_FUNC_EXIT;
return self;
}
CEikCba* CEikCba::NewLC(const CEikCba* aPrevious, MEikCommandObserver* aCommandObserver,
RWindowGroup* aParentWg)
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return CEikCba::NewLC(KNoResource, aPrevious, aCommandObserver, aParentWg); // static
}
@@ -914,6 +957,8 @@
MEikCommandObserver* aCommandObserver, RWindowGroup* aParentWg,
TUint aFlags)
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return CEikCba::NewLC(KNoResource, aPrevious, aCommandObserver,
aParentWg, aFlags);
}
@@ -921,10 +966,12 @@
CEikCba* CEikCba::NewLC(TInt aResourceId, const CEikCba* aPrevious,
MEikCommandObserver* aCommandObserver, RWindowGroup* aParentWg)
{
+ _AKNTRACE_FUNC_ENTER;
CEikCba* self = new(ELeave) CEikCba(aPrevious, aCommandObserver, aParentWg); // static
CleanupStack::PushL(self);
self->ConstructL(aResourceId);
AKNTASHOOK_ADDL( self, "CEikCba" );
+ _AKNTRACE_FUNC_EXIT;
return self;
}
@@ -932,11 +979,13 @@
MEikCommandObserver* aCommandObserver, RWindowGroup* aParentWg,
TUint aFlags)
{
+ _AKNTRACE_FUNC_ENTER;
CEikCba* self = new(ELeave) CEikCba(aPrevious, aCommandObserver,
aParentWg, aFlags);
CleanupStack::PushL(self);
self->ConstructL(aResourceId);
AKNTASHOOK_ADDL( self, "CEikCba" );
+ _AKNTRACE_FUNC_EXIT;
return self;
}
@@ -946,6 +995,7 @@
*/
CEikCba::~CEikCba()
{
+ _AKNTRACE_FUNC_ENTER;
AKNTASHOOK_REMOVE();
// Revert the clock and indicator pane area of status pane
// to use the previous skin background.
@@ -990,6 +1040,7 @@
#endif // RD_ENHANCED_CBA
delete iExtension;
+ _AKNTRACE_FUNC_EXIT;
}
/**
@@ -1000,6 +1051,7 @@
TUint aFlags)
: iLink(aPrevious), iCommandObserver(aCommandObserver), iParentWg(aParentWg)
{
+ _AKNTRACE_FUNC_ENTER;
if (aFlags & CEikButtonGroupContainer::EIsEmbedded)
{
// CBA is embedded in another component (eg. dialog/popup/setting page
@@ -1011,7 +1063,7 @@
iFlags.Set( ECbaParentAsControl );
}
- if ( aFlags & CEikButtonGroupContainer::EDelayActivation )
+ if ( aFlags & CEikButtonGroupContainer::EDelayActivation )
{
iFlags.Set( ECbaActivationDelayed );
}
@@ -1024,11 +1076,13 @@
}
SetNonFocusing();
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::SetContainerWindowL( const CCoeControl& aContainer )
{
+ _AKNTRACE_FUNC_ENTER;
// CCoeControl::SetContainerWindowL closes the previously own window and
// deactivates control. Therefore store the activation status and re-set
// it after the container window has been set.
@@ -1212,15 +1266,19 @@
{
CCoeControl::SetContainerWindowL( aContainer );
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::ActivateL()
{
+ _AKNTRACE_FUNC_ENTER;
CCoeControl::ActivateL();
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::BaseConstructL()
{
+ _AKNTRACE_FUNC_ENTER;
if ( iFlags.IsSet( ECbaEmbedded ) && iFlags.IsSet( ECbaParentAsControl ) )
{
__ASSERT_DEBUG( iParentWg, User::Invariant() );
@@ -1383,27 +1441,18 @@
}
}
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::ConstructL(TInt aResourceId)
{
+ _AKNTRACE_FUNC_ENTER;
if (aResourceId != KNoResource)
{
TResourceReader reader;
iCoeEnv->CreateResourceReaderLC(reader, aResourceId);
iCbaFlags = reader.ReadInt32(); // flags resource
-
- const TUid KActiveIdle2Uid = {0x102750F0};
- CEikApplication* app = CEikonEnv::Static()->EikAppUi()->Application();
- if ( app && app->AppDllUid() == KActiveIdle2Uid )
- {
- //it's intereting that the transparent can't not be set after the CBA was created for a while.
- //it just can be done in the CBA constructor, maybe some defect in Window server, but I'm not sure
- //about that, in order to fix the defect I have hardcode the transparent flag for homescreen the only usercase.
- //it should be fixed later.
- iCbaFlags |= EEikCbaFlagSemiTransparent;
- }
-
+
// If using enhanced cba.
if ( (iCbaFlags & EEikEnhancedButtonGroup) == EEikEnhancedButtonGroup )
{
@@ -1559,11 +1608,13 @@
// Set CBA faded in case the softkeys are empty.
SetFadeState();
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::ConstructFromResourceL(TResourceReader& aReader)
{
+ _AKNTRACE_FUNC_ENTER;
BaseConstructL();
CreateScrollBarFrameL();
TGulAlignmentValue anAlignment[3] = {EHLeftVCenter, EHRightVCenter, EHCenterVCenter};
@@ -1654,16 +1705,21 @@
// Set CBA faded in case the softkeys are empty.
SetFadeState();
+ _AKNTRACE_FUNC_EXIT;
}
TInt CEikCba::MaxCommands() const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return KMaxSeries60Softkeys;
}
TInt CEikCba::MSKEnabledInPlatform() const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return iMSKEnabledInPlatform;
}
@@ -1674,32 +1730,38 @@
//
void CEikCba::SetMSKIconL()
{
+ _AKNTRACE_FUNC_ENTER;
// MSK is not supported by dialog-embedded CBAs.
if ( iFlags.IsSet( ECbaInsideDialog ) || iFlags.IsSet( ECbaEmbedded ) )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
if ( !MskAllowed() )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
MAknsSkinInstance* skin = AknsUtils::SkinInstance();
if ( !skin )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
if( iExtension->iIfMskIconSet )
{
- // UpdateIconL();
- return;
+ // UpdateIconL();
+ _AKNTRACE_FUNC_EXIT;
+ return;
}
TEikGroupControl &gCtrl = iControlArray->At( KControlArrayCBAButtonMSKPosn );
CEikCbaButton *button = static_cast<CEikCbaButton*>( gCtrl.iControl );
if ( !button )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -1836,6 +1898,7 @@
}
button->SetContainerWindowL( *this );
+ _AKNTRACE_FUNC_EXIT;
}
EXPORT_C TBool CEikCba::UpdateMSKIconL( const TAknsItemID& aId,
@@ -1844,13 +1907,15 @@
const TInt32 aBmpM,
TBool aEnable )
{
+ _AKNTRACE_FUNC_ENTER;
iExtension->iIfMskIconSet = EFalse;
// MSK is not supported by dialog-embedded CBAs.
if (!aEnable)
{
- SetMSKIconL();
- return ETrue;
+ SetMSKIconL();
+ _AKNTRACE_FUNC_EXIT;
+ return ETrue;
}
delete iExtension->iBmpFile;
@@ -1863,6 +1928,7 @@
iExtension->iBmp = aBmp;
iExtension->iBmpM = aBmpM;
+ _AKNTRACE_FUNC_EXIT;
return UpdateIconL();
}
@@ -1873,6 +1939,7 @@
//
EXPORT_C void CEikCba::EnableItemSpecificSoftkey( TBool aEnable )
{
+ _AKNTRACE_FUNC_ENTER;
if ( iFlags.IsSet( ECbaSingleClickEnabled ) )
{
iFlags.Assign( ECbaItemSpecificSoftkeyInUse, aEnable );
@@ -1897,21 +1964,26 @@
}
}
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::SetMSKCommandObserver(MEikCommandObserver* aCommandObserver)
{
+ _AKNTRACE_FUNC_ENTER;
// aCommandObserver set to NULL when removing observer.
iMSKCommandObserver = aCommandObserver;
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::UpdateCbaLabels(TBool aScrollerOn)
{
+ _AKNTRACE_FUNC_ENTER;
// This method is called only from scrollbar that has nothing to do with
// dialog-embedded CBAs -> ignore the call.
if ( iFlags.IsSet( ECbaInsideDialog ) )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -1928,37 +2000,48 @@
// Change of text may affect layout.
SizeChanged();
DrawDeferred() ;
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::SetSBFrameObserver(MEikScrollBarObserver* aObserver)
{
+ _AKNTRACE_FUNC_ENTER;
if(iSBFrame)
{
iSBFrame->SetScrollBarFrameObserver(aObserver);
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::SetScrollBarModelL(TEikScrollBarModel* aModel)
{
+ _AKNTRACE_FUNC_ENTER;
if(iSBFrame)
{
VScrollBarAsControl()->SetModelL(aModel);
}
+ _AKNTRACE_FUNC_EXIT;
}
const CEikCbaScrollBarFrame* CEikCba::ScrollBarFrame() const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return STATIC_CAST(const CEikCbaScrollBarFrame*, iSBFrame);
}
CAknScrollBar* CEikCba::VScrollBarAsControl()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return STATIC_CAST(CAknScrollBar*, VScrollBarAsGroupControl().iControl);
}
void CEikCba::InsertControlL(TEikGroupControl& aGroupControl,TInt aIndex)
{
+ _AKNTRACE_FUNC_ENTER;
iControlArray->InsertL(aIndex,aGroupControl); // Takes ownership at this point.
+ _AKNTRACE_FUNC_EXIT;
}
@@ -1968,6 +2051,7 @@
const CFbsBitmap* /*aBitmap*/,
const CFbsBitmap* /*aMask*/ )
{
+ _AKNTRACE_FUNC_ENTER;
// We need to check if this call changes the softkeys from being
// empty to having a command or vice versa to be able to maintain
// correct fade state.
@@ -2010,11 +2094,13 @@
}
ReportContentChangedEvent();
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::SetCommandL(TInt aPosition,TInt aResourceId)
{
+ _AKNTRACE_FUNC_ENTER;
TResourceReader reader;
iCoeEnv->CreateResourceReaderLC(reader,aResourceId);
TInt version = reader.ReadInt8(); // version
@@ -2053,6 +2139,7 @@
CleanupStack::PopAndDestroy(); // reader
ReportContentChangedEvent();
+ _AKNTRACE_FUNC_EXIT;
}
/**
@@ -2062,6 +2149,7 @@
*/
void CEikCba::SetCommandSetL(TInt aResourceId)
{
+ _AKNTRACE_FUNC_ENTER;
TResourceReader reader;
iCoeEnv->CreateResourceReaderLC(reader, aResourceId);
@@ -2071,6 +2159,7 @@
{
CleanupStack::PopAndDestroy(); // reader
OfferCommandListL( aResourceId );
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -2172,12 +2261,15 @@
// Force labels to be re-formatted...
SizeChanged();
ReportContentChangedEvent();
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::AddCommandL(TInt /*aPosition*/, TInt /*aCommandId*/, const TDesC* /*aText*/,
const CFbsBitmap* /*aBitmap*/, const CFbsBitmap* /*aMask*/)
{
+ _AKNTRACE_FUNC_ENTER;
User::Leave(KErrNotSupported);
+ _AKNTRACE_FUNC_EXIT;
}
@@ -2185,6 +2277,7 @@
TInt aCommandId,
const TDesC* aText)
{
+ _AKNTRACE_FUNC_ENTER;
// We need to check if this call changes the softkeys from being
// empty to having a command or vice versa to be able to maintain
// correct fade state.
@@ -2232,6 +2325,7 @@
}
ReportContentChangedEvent();
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::AddCommandToStackL( TInt aPosition,
@@ -2240,15 +2334,18 @@
const CFbsBitmap* /*aBitmap*/,
const CFbsBitmap* /*aMask*/ )
{
+ _AKNTRACE_FUNC_ENTER;
AddCommandToStackWithoutSizeChangedL( aPosition, aCommandId, aText);
// Force labels to be re-formatted...
SizeChanged();
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::AddCommandToStackL(TInt aPosition, TInt aResourceId)
{
+ _AKNTRACE_FUNC_ENTER;
TResourceReader reader;
iCoeEnv->CreateResourceReaderLC(reader,aResourceId);
TUint8 version = (TUint8)reader.ReadInt8();
@@ -2267,10 +2364,12 @@
CleanupStack::PopAndDestroy(); // reader
ReportContentChangedEvent();
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::AddCommandSetToStackL(TInt aResourceId)
{
+ _AKNTRACE_FUNC_ENTER;
TResourceReader reader;
iCoeEnv->CreateResourceReaderLC(reader,aResourceId);
@@ -2340,20 +2439,26 @@
// Force labels to be re-formatted...
SizeChanged();
ReportContentChangedEvent();
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::SetDefaultCommand(TInt /*aCommandId*/)
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
}
TSize CEikCba::CalcMinimumSizeL(TInt /*aResourceId*/)
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return MinimumSize();
}
void CEikCba::RemoveCommandFromStack( TInt aPosition, TInt aCommandId )
{
+ _AKNTRACE_FUNC_ENTER;
// We need to check if this call changes the softkeys from being
// empty to having a command or vice versa to be able to maintain
// correct fade state.
@@ -2406,16 +2511,20 @@
DrawDeferred();
ReportContentChangedEvent();
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::RemovePreviousCommandWithoutSizeChanged(TInt aPosition)
{
+ _AKNTRACE_FUNC_ENTER;
TEikGroupControl& groupCtrl = (*iControlArray)[aPosition];
STATIC_CAST(CEikCbaButton*, groupCtrl.iControl)->RemovePreviousCommand();
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::RemovePreviousCommand(TInt aPosition)
{
+ _AKNTRACE_FUNC_ENTER;
RemovePreviousCommandWithoutSizeChanged( aPosition );
// If MSK or left CBA was changed, this sets MSK icon accordingly.
TRAP_IGNORE( SetMSKIconL() );
@@ -2423,16 +2532,20 @@
// Force labels to be re-formatted...
SizeChanged();
ReportContentChangedEvent();
+ _AKNTRACE_FUNC_EXIT;
}
TInt CEikCba::CommandPos(TInt aCommandId) const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return IndexById(aCommandId);
}
void CEikCba::DimCommand(TInt aCommandId,TBool aDimmed)
{
+ _AKNTRACE_FUNC_ENTER;
CCoeControl* control( ButtonById( aCommandId ) );
if ( control )
{
@@ -2441,19 +2554,24 @@
control->SetDimmed( aDimmed );
}
}
+ _AKNTRACE_FUNC_EXIT;
}
TBool CEikCba::IsCommandDimmed(TInt aCommandId) const
{
+ _AKNTRACE_FUNC_ENTER;
if( ButtonById(aCommandId) )
{
+ _AKNTRACE_FUNC_EXIT;
return ButtonById(aCommandId)->IsDimmed();
}
+ _AKNTRACE_FUNC_EXIT;
return EFalse;
}
void CEikCba::MakeCommandVisible(TInt aCommandId, TBool aVisible)
{
+ _AKNTRACE_FUNC_ENTER;
CCoeControl* control( ButtonById( aCommandId ) );
if ( control )
{
@@ -2462,19 +2580,25 @@
control->MakeVisible( aVisible );
}
}
+ _AKNTRACE_FUNC_EXIT;
}
TBool CEikCba::IsCommandVisible(TInt aCommandId) const
{
+ _AKNTRACE_FUNC_ENTER;
if( ButtonById(aCommandId) )
{
+ _AKNTRACE_FUNC_EXIT;
return ButtonById(aCommandId)->IsVisible();
}
+ _AKNTRACE_FUNC_EXIT;
return EFalse;
}
void CEikCba::AnimateCommand(TInt /*aCommandId*/)
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
}
@@ -2484,8 +2608,10 @@
//
void CEikCba::DimCommandByPosition( TInt aPosition, TBool aDimmed )
{
+ _AKNTRACE_FUNC_ENTER;
if ( aPosition >= iControlArray->Count() )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -2494,6 +2620,7 @@
TEikGroupControl& groupCtrl = ( *iControlArray )[ aPosition ];
groupCtrl.iControl->SetDimmed( aDimmed );
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -2503,12 +2630,15 @@
//
TBool CEikCba::IsCommandDimmedByPosition( TInt aPosition ) const
{
+ _AKNTRACE_FUNC_ENTER;
if ( aPosition >= iControlArray->Count() )
{
+ _AKNTRACE_FUNC_EXIT;
return EFalse;
}
TEikGroupControl& groupCtrl = (*iControlArray)[aPosition];
+ _AKNTRACE_FUNC_EXIT;
return groupCtrl.iControl->IsDimmed();
}
@@ -2519,8 +2649,10 @@
//
void CEikCba::MakeCommandVisibleByPosition( TInt aPosition, TBool aVisible )
{
+ _AKNTRACE_FUNC_ENTER;
if ( aPosition >= iControlArray->Count() )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -2539,27 +2671,34 @@
groupCtrl.iControl->DrawDeferred();
}
}
+ _AKNTRACE_FUNC_EXIT;
}
TBool CEikCba::IsCommandVisibleByPosition(TInt aPosition) const
{
+ _AKNTRACE_FUNC_ENTER;
if (aPosition >= iControlArray->Count())
{
+ _AKNTRACE_FUNC_EXIT;
return EFalse;
}
TEikGroupControl& groupCtrl = (*iControlArray)[aPosition];
if ( !iFlags.IsSet( ECbaInsideDialog ) )
{
+ _AKNTRACE_FUNC_EXIT;
return STATIC_CAST(CEikCbaButton*, groupCtrl.iControl)->IsVisible();
}
+ _AKNTRACE_FUNC_EXIT;
return !groupCtrl.iControl->IsDimmed();
}
void CEikCba::AnimateCommandByPosition(TInt /*aPosition*/)
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
}
/*CCoeControl* CEikCba::GroupControlByPosition(TInt aPosition) const
@@ -2580,10 +2719,12 @@
//
TRect CEikCba::ButtonRectByPosition( TInt aPosition, TBool aRelativeToScreen )
{
+ _AKNTRACE_FUNC_ENTER;
TRect rect( 0, 0, 0, 0 );
if ( aPosition >= iControlArray->Count() || aPosition < 0 )
{
+ _AKNTRACE_FUNC_EXIT;
return rect;
}
@@ -2753,25 +2894,32 @@
}
}
+ _AKNTRACE_FUNC_EXIT;
return rect;
}
CCoeControl* CEikCba::AsControl()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return this;
}
const CCoeControl* CEikCba::AsControl() const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return this;
}
void CEikCba::SetBoundingRect( const TRect& /*aBoundingRect*/ )
{
+ _AKNTRACE_FUNC_ENTER;
if ( iFlags.IsSet( ECbaEmbedded ) )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -2788,6 +2936,7 @@
// query control.
if ( iFlags.IsSet( ECbaInsideDialog ) )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -3062,6 +3211,7 @@
DrawDeferred();
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -3072,14 +3222,17 @@
//
void CEikCba::ReduceRect( TRect& aBoundingRect ) const
{
+ _AKNTRACE_FUNC_ENTER;
// CBA inside Popup/Query Input does not reduce bounding rect
if ( iFlags.IsSet( ECbaEmbedded ) || iFlags.IsSet( ECbaInsideDialog ) )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
if ( !IsVisible() )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -3201,49 +3354,68 @@
}
}
}
+ _AKNTRACE_FUNC_EXIT;
}
CCoeControl* CEikCba::GroupControlById(TInt aCommandId)
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return ButtonById(aCommandId);
}
CCoeControl* CEikCba::GroupControlById(TInt aCommandId) const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return ButtonById(aCommandId);
}
TInt CEikCba::CommandId(TInt aCommandPos) const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return (*iControlArray)[aCommandPos].iId;
}
TInt CEikCba::ButtonCount() const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return (iControlArray->Count()-1); // -1 for scroll bar;
}
CEikCommandButton* CEikCba::GroupControlAsButton(TInt /*aCommandId*/) const
{
+ _AKNTRACE_FUNC_ENTER;
// It is not possible to convert a CBA button to a CEikCommandButton.
// Please use an interface that does not use a CEikCommandButton conversion,
// e.g. CEikButtonGroupContainer::SetCommandL().
#if defined(_DEBUG)
Panic(EEikPanicCBACannotConvertToCEikCommandButton);
#endif
+ _AKNTRACE_FUNC_EXIT;
return NULL;
}
TUint CEikCba::ButtonGroupFlags() const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return iCbaFlags ;
}
EXPORT_C void CEikCba::SetButtonGroupFlags(TInt aFlags)
{
+ _AKNTRACE_FUNC_ENTER;
iCbaFlags = aFlags;
+
+ //has not supported semi-transparent, ignore the flag at this moment.
+ //TODO: if the tranparent style CBA is approved and the new icon was delivered, open it again.
+ iCbaFlags &= ~EEikCbaFlagSemiTransparent;
+
if (( iCbaFlags & EEikCbaFlagTransparent || iCbaFlags & EEikCbaFlagSemiTransparent ) &&
CAknEnv::Static()->TransparencyEnabled() )
{
@@ -3254,13 +3426,13 @@
Window().SetBackgroundColor( ~0 );
if ( iExtension && iExtension->iEnablePostingTransparency )
{
- iExtension->iEnablePostingTransparency = EFalse;
- delete iExtension->iLskPostingOverlayBitmap;
- iExtension->iLskPostingOverlayBitmap = NULL;
- delete iExtension->iRskPostingOverlayBitmap;
- iExtension->iRskPostingOverlayBitmap = NULL;
- BroadcastPostingTransparency( EFalse );
- }
+ iExtension->iEnablePostingTransparency = EFalse;
+ delete iExtension->iLskPostingOverlayBitmap;
+ iExtension->iLskPostingOverlayBitmap = NULL;
+ delete iExtension->iRskPostingOverlayBitmap;
+ iExtension->iRskPostingOverlayBitmap = NULL;
+ BroadcastPostingTransparency( EFalse );
+ }
}
else
{
@@ -3273,6 +3445,7 @@
}
UpdateFonts();
+ _AKNTRACE_FUNC_EXIT;
}
// -----------------------------------------------------------------------------
@@ -3282,11 +3455,18 @@
//
EXPORT_C void CEikCba::SetSkinBackgroundId( const TAknsItemID& aIID )
{
+ _AKNTRACE_FUNC_ENTER;
// Skin background is not drawn by embedded CBA.
if ( iFlags.IsSet( ECbaEmbedded ) )
{
+ iPopupVisible = ETrue;
+ _AKNTRACE_FUNC_EXIT;
return;
}
+ else
+ {
+ iPopupVisible = EFalse;
+ }
if ( iBgIID != KAknsIIDNone )
{
@@ -3337,18 +3517,22 @@
iBgIID,
CEikStatusPaneBase::EDrawDeferred );
}
+ _AKNTRACE_FUNC_EXIT;
}
TKeyResponse CEikCba::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
{
+ _AKNTRACE_FUNC_ENTER;
if (aType != EEventKey)
{
+ _AKNTRACE_FUNC_EXIT;
return EKeyWasNotConsumed;
}
// Return immediately if the control is invisible.
if (!IsVisible() && !(iCbaFlags&EAknCBAFlagRespondWhenInvisible))
{
+ _AKNTRACE_FUNC_EXIT;
return EKeyWasNotConsumed;
}
@@ -3390,6 +3574,7 @@
!(*iControlArray)[KControlArrayCBAButton1Posn].iControl->IsVisible() &&
!(iCbaFlags & EAknCBAFlagRespondWhenInvisible) )
{
+ _AKNTRACE_FUNC_EXIT;
return EKeyWasConsumed;
}
TInt shortCommand = (*iControlArray)[KControlArrayCBAButton1Posn].iId;
@@ -3398,6 +3583,7 @@
// This will pass key event to application - no softkey command is processed.
if (shortCommand == EAknSoftkeyForwardKeyEvent)
{
+ _AKNTRACE_FUNC_EXIT;
return EKeyWasNotConsumed;
}
@@ -3425,6 +3611,7 @@
!(*iControlArray)[KControlArrayCBAButton2Posn].iControl->IsVisible() &&
!(iCbaFlags&EAknCBAFlagRespondWhenInvisible) )
{
+ _AKNTRACE_FUNC_EXIT;
return EKeyWasConsumed;
}
TInt shortCommand = (*iControlArray)[KControlArrayCBAButton2Posn].iId;
@@ -3439,6 +3626,7 @@
// This will pass key event to application - no softkey command is processed.
if (shortCommand == EAknSoftkeyForwardKeyEvent)
{
+ _AKNTRACE_FUNC_EXIT;
return EKeyWasNotConsumed;
}
@@ -3474,6 +3662,7 @@
!(*iControlArray)[KControlArrayCBAButtonMSKPosn].iControl->IsVisible() &&
!(iCbaFlags&EAknCBAFlagRespondWhenInvisible) )
{
+ _AKNTRACE_FUNC_EXIT;
return EKeyWasConsumed;
}
@@ -3483,6 +3672,7 @@
// This will pass key event to application - no softkey command is processed.
if (shortCommand == EAknSoftkeyForwardKeyEvent)
{
+ _AKNTRACE_FUNC_EXIT;
return EKeyWasNotConsumed;
}
@@ -3530,6 +3720,7 @@
!(*iControlArray)[KControlArrayCBAButton1Posn].iControl->IsVisible() &&
!(iCbaFlags&EAknCBAFlagRespondWhenInvisible) )
{
+ _AKNTRACE_FUNC_EXIT;
return EKeyWasConsumed;
}
@@ -3539,6 +3730,7 @@
// This will pass key event to application - no softkey command is processed.
if (shortCommand == EAknSoftkeyForwardKeyEvent)
{
+ _AKNTRACE_FUNC_EXIT;
return EKeyWasNotConsumed;
}
@@ -3570,11 +3762,14 @@
}
}
+ _AKNTRACE_FUNC_EXIT;
return response;
}
EXPORT_C void* CEikCba::ExtensionInterface( TUid /*aInterface*/ )
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return NULL;
}
@@ -3587,13 +3782,16 @@
//
void CEikCba::HandlePointerEventL( const TPointerEvent& aPointerEvent )
{
+ _AKNTRACE_FUNC_ENTER;
if ( !AknLayoutUtils::PenEnabled() )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
else if ( iFlags.IsSet( ECbaInsideDialog ) )
{
CCoeControl::HandlePointerEventL( aPointerEvent );
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -3681,8 +3879,8 @@
{
if( button1->IsDimmed() )
{
- CCoeControl::HandlePointerEventL( aPointerEvent );
- return;
+ CCoeControl::HandlePointerEventL( aPointerEvent );
+ return;
}
if ( button1->IsVisible() )
{
@@ -3745,8 +3943,8 @@
{
if( button2->IsDimmed() )
{
- CCoeControl::HandlePointerEventL( aPointerEvent );
- return;
+ CCoeControl::HandlePointerEventL( aPointerEvent );
+ return;
}
if ( button2->IsVisible() )
{
@@ -3811,8 +4009,8 @@
{
if( buttonMSK->IsDimmed() )
{
- CCoeControl::HandlePointerEventL( aPointerEvent );
- return;
+ CCoeControl::HandlePointerEventL( aPointerEvent );
+ return;
}
if ( buttonMSK->IsVisible() )
{
@@ -3963,8 +4161,10 @@
if ( (*iControlArray)[i].iControl == grabber )
{
if ( !IsVisible() )
+ {
+ _AKNTRACE_FUNC_EXIT;
return;
-
+ }
// Send the button command to command observer.
TInt shortCommand = (*iControlArray)[i].iId;
if ( shortCommand &&
@@ -3984,11 +4184,13 @@
}
}
}
+ _AKNTRACE_FUNC_EXIT;
}
TSize CEikCba::MinimumSize()
{
+ _AKNTRACE_FUNC_ENTER;
TSize size = CEikControlGroup::MinimumSize();
size.iWidth = iAvkonAppUi->ApplicationRect().Width();
const TInt count = iControlArray->Count();
@@ -4000,6 +4202,7 @@
{
size.iHeight = Max(size.iHeight, iLink->Size().iHeight);
}
+ _AKNTRACE_FUNC_EXIT;
// Add a standard margin from the laf.
return size;
}
@@ -4012,6 +4215,7 @@
*/
void CEikCba::GetColorUseListL(CArrayFix<TCoeColorUse>& aColorUseList) const
{
+ _AKNTRACE_FUNC_ENTER;
CEikControlGroup::GetColorUseListL(aColorUseList);
TInt commonAttributes = TCoeColorUse::ESurrounds|TCoeColorUse::EActive|TCoeColorUse::ENormal|
@@ -4026,6 +4230,7 @@
colorUse.SetLogicalColor(EColorToolbarBackground);
colorUse.SetUse(TCoeColorUse::EBack|commonAttributes);
aColorUseList.AppendL(colorUse);
+ _AKNTRACE_FUNC_EXIT;
}
@@ -4036,6 +4241,7 @@
//
void CEikCba::HandleResourceChange( TInt aType )
{
+ _AKNTRACE_FUNC_ENTER;
CEikControlGroup::HandleResourceChange( aType );
switch ( aType )
@@ -4097,6 +4303,7 @@
{
if ( iFlags.IsSet( ECbaInsideDialog ) )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -4193,11 +4400,13 @@
break;
}
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::DoSkinChange()
{
+ _AKNTRACE_FUNC_ENTER;
iExtension->iIfSkinChanged = ETrue;
DoSetLayers( KAknsIIDNone );
iExtension->iIfSkinChanged = EFalse;
@@ -4214,10 +4423,12 @@
//Skin change uses DrawNow to flus draw cache before layoutchange.
DrawNow();
iFlags.Clear(ECbaChangeRecordedSkin);
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::DoColorChange()
{
+ _AKNTRACE_FUNC_ENTER;
iBrushAndPenContext->SetBrushColor(iEikonEnv->ControlColor(EColorToolbarBackground, *this));
iBrushAndPenContext->SetPenColor(iEikonEnv->ControlColor(EColorToolbarText, *this));
Window().SetBackgroundColor(iEikonEnv->ControlColor(EColorToolbarBackground, *this));
@@ -4226,11 +4437,13 @@
TRAP_IGNORE( SetMSKIconL() );
SizeChanged();
iFlags.Clear(ECbaChangeRecordedColor);
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::DoLayoutChange()
{
+ _AKNTRACE_FUNC_ENTER;
SetBoundingRect( TRect() );
UpdateFonts();
@@ -4274,21 +4487,26 @@
}
iFlags.Clear( ECbaChangeRecordedLayout );
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::HandleScrollEventL(CEikScrollBar* /*aScrollBar*/, TEikScrollEvent /*aEventType*/)
{
+ _AKNTRACE_FUNC_ENTER;
User::Leave(KErrNotSupported);
+ _AKNTRACE_FUNC_EXIT;
}
TTypeUid::Ptr CEikCba::MopSupplyObject(TTypeUid aId)
{
+ _AKNTRACE_FUNC_ENTER;
if (aId.iUid == MAknsControlContext::ETypeId)
{
if ( AknLayoutFlags() & EAknLayoutCbaInControlPane ||
AknLayoutFlags() & EAknLayoutCbaInRightPane )
{
+ _AKNTRACE_FUNC_EXIT;
return MAknsControlContext::SupplyMopObject( aId, iMLBgContext );
}
else
@@ -4296,34 +4514,38 @@
// Always provide top object to mop-chain.
// Bottom is parent of Top, so bottom is re-drawn
// automatically when top is drawn.
+ _AKNTRACE_FUNC_EXIT;
return MAknsControlContext::SupplyMopObject( aId, iStaconBgContextTop );
}
}
if ( aId.iUid == CEikCba::ETypeId )
{
+ _AKNTRACE_FUNC_EXIT;
return aId.MakePtr( this );
}
+ _AKNTRACE_FUNC_EXIT;
return CEikControlGroup::MopSupplyObject(aId);
}
void CEikCba::Draw( const TRect& aRect ) const
{
+ _AKNTRACE_FUNC_ENTER;
// Embedded CBA doesn't draw anything
if ( iFlags.IsSet( ECbaInsideDialog ) )
{
return;
}
- if ( iCbaFlags & EEikCbaFlagSemiTransparent )
- {
- CWindowGc &gc = SystemGc();
-
- iExtension->DrawSemiTransparencyL( gc, Rect() );
- return;
- }
+// if ( iCbaFlags & EEikCbaFlagSemiTransparent )
+// {
+// CWindowGc &gc = SystemGc();
+//
+// iExtension->DrawSemiTransparency( gc, Rect() );
+// return;
+// }
MAknsSkinInstance* skin = AknsUtils::SkinInstance();
@@ -4399,14 +4621,18 @@
CEikCbaButton* button2 = static_cast<CEikCbaButton*>(
(*iControlArray)[KControlArrayCBAButton2Posn].iControl );
- if ( IsMskEnabledLayoutActive() )
+ if ( IsMskEnabledLayoutActive() )
{
CEikCbaButton* buttonMSK = static_cast<CEikCbaButton*>(
(*iControlArray)[KControlArrayCBAButtonMSKPosn].iControl );
CFbsBitmap* middleMask =
AknsUtils::GetCachedBitmap( skin, KAknsIIDQgnIndiSctrlSkMaskMiddlePrt );
- AknIconUtils::SetSize( middleMask, middleSKSize, EAspectRatioNotPreserved );
+ if ( middleMask )
+ {
+ AknIconUtils::SetSize( middleMask,
+ middleSKSize, EAspectRatioNotPreserved );
+ }
if( buttonMSK && buttonMSK->PressedDown() )
{
@@ -4724,6 +4950,7 @@
}
}
gc.SetOpaque( EFalse );
+ _AKNTRACE_FUNC_EXIT;
}
@@ -4733,6 +4960,8 @@
//
CCoeControl* CEikCba::ButtonById( TInt aCommandId ) const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return ControlById( aCommandId );
}
@@ -4743,27 +4972,33 @@
//
void CEikCba::CreateScrollBarFrameL()
{
+ _AKNTRACE_FUNC_ENTER;
if ( !iSBFrame )
{
iSBFrame = new (ELeave) CEikCbaScrollBarFrame( this, this, ETrue );
}
iSBFrame->ConstructL();
+ _AKNTRACE_FUNC_EXIT;
}
TEikGroupControl CEikCba::VScrollBarAsGroupControl()
{
+ _AKNTRACE_FUNC_ENTER;
// Extracts vertical scroll bar from the scroll bar frame.
TEikGroupControl groupCtrl(iSBFrame->VerticalScrollBar(), 0,
KCbaScrollBarButtonWidth,TEikGroupControl::ESetLength);
+ _AKNTRACE_FUNC_EXIT;
return groupCtrl;
}
void CEikCba::InsertScrollBarL()
{
+ _AKNTRACE_FUNC_ENTER;
TEikGroupControl SBGroupCtrl = VScrollBarAsGroupControl();
// Insert vertical scroll bar into cba control group.
InsertControlL(SBGroupCtrl, KControlArrayScrollBarPosn);
+ _AKNTRACE_FUNC_EXIT;
}
@@ -4773,6 +5008,7 @@
//
void CEikCba::CreateArrowHeadScrollBarL()
{
+ _AKNTRACE_FUNC_ENTER;
if ( iSBFrame )
{
iSBFrame->SwitchToArrowHeadScrollBarL();
@@ -4783,21 +5019,25 @@
}
InsertScrollBarL();
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::SizeChanged()
{
+ _AKNTRACE_FUNC_ENTER;
if ( iFlags.IsSet( ECbaInsideDialog ) )
{
Window().SetNonFading( EFalse );
SizeChangedInsideDialog();
+ _AKNTRACE_FUNC_EXIT;
return;
}
else if ( iFlags.IsSet( ECbaEmbedded ) )
{
Window().SetNonFading( EFalse );
SizeChangedInPopup();
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -4862,6 +5102,7 @@
// Broadcast current state to CEikCbaButtons
BroadcastPostingTransparency( enabled );
}
+ _AKNTRACE_FUNC_EXIT;
}
// -----------------------------------------------------------------------------
@@ -4871,6 +5112,7 @@
//
void CEikCba::CheckSkinAndUpdateContext()
{
+ _AKNTRACE_FUNC_ENTER;
if (AknsUtils::SkinInstance())
{
// Use ENullBrush if there is skin background available.
@@ -4880,18 +5122,24 @@
{
iBrushAndPenContext->SetBrushStyle(CGraphicsContext::ESolidBrush);
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::Reserved_MtsmPosition()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::Reserved_MtsmObject()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
}
TInt CEikCba::AknLayoutFlags() const
{
+ _AKNTRACE_FUNC_ENTER;
TInt flags = 0;
TBool controlPane = ETrue;
@@ -4960,6 +5208,7 @@
flags |= EAknLayoutCbaInRightPane;
}
+ _AKNTRACE_FUNC_EXIT;
return flags;
}
@@ -4970,6 +5219,7 @@
//
void CEikCba::SizeChangedInControlPane()
{
+ _AKNTRACE_FUNC_ENTER;
TRect screen;
AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
@@ -5051,7 +5301,7 @@
rect,
AknLayoutScalable_Avkon::bg_sctrl_sk_pane_cp1().LayoutLine() );
frameSizeChanged = layoutRect.Rect() != iExtension->iRightFrameOuterRect;
- iExtension->iRightFrameOuterRect = layoutRect.Rect();
+ iExtension->iRightFrameOuterRect = layoutRect.Rect();
layoutRect.LayoutRect( iExtension->iRightFrameOuterRect,
AknLayoutScalable_Avkon::bg_sctrl_sk_pane_g1()
.LayoutLine() );
@@ -5446,11 +5696,13 @@
}
AknsUtils::RegisterControlPosition( this, posInScreen.iTl );
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::SizeChangedInStaconPane()
{
+ _AKNTRACE_FUNC_ENTER;
TRect screen( iAvkonAppUi->ApplicationRect() );
TBool softKeysUpAndDownMirrored = EFalse;
@@ -5799,6 +6051,7 @@
}
AknsUtils::RegisterControlPosition( this, TPoint(0,0) );
+ _AKNTRACE_FUNC_EXIT;
}
@@ -5808,6 +6061,7 @@
//
void CEikCba::SizeChangedInRightPane()
{
+ _AKNTRACE_FUNC_ENTER;
TRect screen;
AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, screen );
@@ -6072,12 +6326,14 @@
}
AknsUtils::RegisterControlPosition( this, TPoint( 0, 0 ) );
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::SizeChangedInsideDialog()
{
+ _AKNTRACE_FUNC_ENTER;
// Give both LSK and RSK buttons half of the available space.
//
if ( iControlArray )
@@ -6100,11 +6356,13 @@
(*iControlArray)[KControlArrayCBAButton2Posn].iControl->SetRect( buttonRect2 );
}
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::SizeChangedInPopup()
{
+ _AKNTRACE_FUNC_ENTER;
TRAP_IGNORE( iExtension->UpdateSoftkeyFrameL( EFalse ) );
TAknLayoutRect layoutRect;
@@ -6132,7 +6390,6 @@
AknLayoutScalable_Avkon::bg_sctrl_sk_pane_g1()
.LayoutLine() );
iExtension->iLeftFrameInnerRect = layoutRect.Rect();
- UpdateLabels( ETrue );
layoutRect.LayoutRect( iExtension->iRightFrameOuterRect,
AknLayoutScalable_Avkon::bg_sctrl_sk_pane_g1()
@@ -6150,11 +6407,13 @@
msk->SetRect( TRect() );
}
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::UpdateFonts()
{
+ _AKNTRACE_FUNC_ENTER;
// Control pane:
// Use the layout dll to get the right font for the CBA.
TAknTextLineLayout layout(
@@ -6203,6 +6462,7 @@
iRightPaneLabelFont =
AknLayoutUtils::FontFromId(
rightPaneTextLayout.FontId(), rightPaneCustomFont );
+ _AKNTRACE_FUNC_EXIT;
}
// Enhanced CBA
@@ -6215,6 +6475,7 @@
#ifdef RD_ENHANCED_CBA
EXPORT_C void CEikCba::OfferCommandListL(const RArray<TInt>& aCommandList)
{
+ _AKNTRACE_FUNC_ENTER;
if( !iCommandTable )
{
iCommandTable = CEikCommandTable::NewL();
@@ -6351,11 +6612,14 @@
}
CleanupStack::PopAndDestroy(); // previousIds
+ _AKNTRACE_FUNC_EXIT;
}
#else // !RD_ENHANCED_CBA
EXPORT_C void CEikCba::OfferCommandListL(const RArray<TInt>& /*aCommandList*/)
{
+ _AKNTRACE_FUNC_ENTER;
User::Leave( KErrNotSupported );
+ _AKNTRACE_FUNC_EXIT;
}
#endif // RD_ENHANCED_CBA
@@ -6367,6 +6631,7 @@
#ifdef RD_ENHANCED_CBA
EXPORT_C void CEikCba::OfferCommandListL(const TInt aResourceId)
{
+ _AKNTRACE_FUNC_ENTER;
if ( !iCommandTable ) // This is needed if cba was not constructed with enhanced cba.
{
iCommandTable = CEikCommandTable::NewL();
@@ -6512,11 +6777,14 @@
}
CleanupStack::PopAndDestroy(); // previousIds
+ _AKNTRACE_FUNC_EXIT;
}
#else // !RD_ENHANCED_CBA
EXPORT_C void CEikCba::OfferCommandListL(const TInt /*aResourceId*/)
{
+ _AKNTRACE_FUNC_ENTER;
User::Leave( KErrNotSupported );
+ _AKNTRACE_FUNC_EXIT;
}
#endif // RD_ENHANCED_CBA
@@ -6528,11 +6796,15 @@
#ifdef RD_ENHANCED_CBA
EXPORT_C TBool CEikCba::IsCommandInGroup(const TInt aCommandId) const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return ButtonById(aCommandId) ? ETrue : EFalse; // check the iControlArray
}
#else // !RD_ENHANCED_CBA
EXPORT_C TBool CEikCba::IsCommandInGroup(const TInt /*aCommandId*/) const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return EFalse;
}
#endif // RD_ENHANCED_CBA
@@ -6546,20 +6818,26 @@
#ifdef RD_ENHANCED_CBA
EXPORT_C void CEikCba::ReplaceCommand(const TInt aReplaceCommandId, const TInt aResourceId)
{
+ _AKNTRACE_FUNC_ENTER;
TInt index = IndexById( aReplaceCommandId );
TRAPD(err, SetCommandL( index, aResourceId ) );
+ _AKNTRACE_FUNC_EXIT;
}
#else
EXPORT_C void CEikCba::ReplaceCommand(const TInt /*aReplaceCommandId*/, const TInt /*aResourceId*/)
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
}
#endif // RD_ENHANCED_CBA
void CEikCba::HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType )
{
+ _AKNTRACE_FUNC_ENTER;
if ( !iFlags.IsSet( ECbaInsideDialog ) )
{
//User::Panic( _L( "CBA inside dialog" ), KErrNotSupported );
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -6594,11 +6872,13 @@
iCommandObserver->ProcessCommandL( command );
}
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::MakeVisible( TBool aVisible )
{
+ _AKNTRACE_FUNC_ENTER;
if ( aVisible )
{
TBool redrawNeeded( EFalse );
@@ -6680,6 +6960,7 @@
}
ReportContentChangedEvent();
+ _AKNTRACE_FUNC_EXIT;
}
@@ -6689,9 +6970,11 @@
// -----------------------------------------------------------------------------
void CEikCba::DoSetLayers( const TAknsItemID& aIID )
{
+ _AKNTRACE_FUNC_ENTER;
// Skin background is not drawn by embedded CBA.
if ( iFlags.IsSet( ECbaEmbedded ) )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -6910,11 +7193,13 @@
}
DrawDeferred();
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::LayoutControl( CCoeControl* aControl, const TRect& aRect )
{
+ _AKNTRACE_FUNC_ENTER;
if ( !iFlags.IsSet( ECbaInsideDialog ) )
{
TRect rect( aRect );
@@ -6929,10 +7214,12 @@
aControl->SetRect( rect );
aControl->ComponentControl( 0 )->SetRect( rect );
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCba::BroadcastPostingTransparency( TBool aEnable )
{
+ _AKNTRACE_FUNC_ENTER;
// Communicate change to CBA buttons.
for ( TInt i = 0; i < iControlArray->Count(); i++ )
{
@@ -6946,6 +7233,7 @@
}
}
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -6956,6 +7244,7 @@
//
void CEikCba::SetFadeState()
{
+ _AKNTRACE_FUNC_ENTER;
TBool canBeFaded =
IsEmpty() && !( ( iCbaFlags & EEikCbaFlagTransparent )
|| ( iExtension && iExtension->iEnablePostingTransparency ) );
@@ -6966,6 +7255,7 @@
{
Window().SetFaded( canBeFaded, RWindowTreeNode::EFadeIncludeChildren );
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -6976,6 +7266,7 @@
//
void CEikCba::UpdateLabels( TBool aDrawDeferred )
{
+ _AKNTRACE_FUNC_ENTER;
if ( iControlArray->Count() != 0)
{
CCoeControl *leftSoftkey = ( *iControlArray )
@@ -7098,6 +7389,7 @@
DrawDeferred();
}
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -7109,6 +7401,7 @@
CEikButtonGroupContainer& aButtonGroupContainer,
TBool aEnable )
{
+ _AKNTRACE_FUNC_ENTER;
CEikCba* cba = dynamic_cast<CEikCba*>( aButtonGroupContainer.ButtonGroup() );
TInt ret = KErrNone;
if ( cba )
@@ -7124,6 +7417,7 @@
cba->EnablePostingTransparency( aEnable );
}
}
+ _AKNTRACE_FUNC_EXIT;
return ret;
}
@@ -7134,6 +7428,7 @@
//
void CEikCba::EnablePostingTransparency( TBool aEnable )
{
+ _AKNTRACE_FUNC_ENTER;
if ( iExtension )
{
if ( iExtension->iEnablePostingTransparency != aEnable )
@@ -7166,6 +7461,7 @@
DrawDeferred();
}
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -7176,6 +7472,7 @@
//
EXPORT_C TBool CEikCba::IsEmpty() const
{
+ _AKNTRACE_FUNC_ENTER;
TBool isEmpty( ETrue );
if ( iFlags.IsSet( ECbaInsideDialog ) )
@@ -7210,6 +7507,7 @@
}
}
+ _AKNTRACE_FUNC_EXIT;
return isEmpty;
}
@@ -7221,6 +7519,8 @@
//
TBitFlags CEikCba::Flags()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return iFlags;
}
@@ -7232,10 +7532,12 @@
//
void CEikCba::SetContentObserver( TCallBack aCallBack )
{
+ _AKNTRACE_FUNC_ENTER;
if ( iExtension )
{
iExtension->iContentObserver = aCallBack;
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -7247,6 +7549,7 @@
//
void CEikCba::ReportContentChangedEvent()
{
+ _AKNTRACE_FUNC_ENTER;
if ( ItemSpecificSoftkey() )
{
UpdateItemSpecificSoftkey(
@@ -7255,6 +7558,7 @@
if ( !iFlags.IsSet( ECbaEmbedded ) )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -7282,6 +7586,7 @@
iExtension->iContentObserver.CallBack(); // return value ignored
}
}
+ _AKNTRACE_FUNC_EXIT;
}
// ---------------------------------------------------------------------------
@@ -7294,6 +7599,7 @@
CWindowGc& aGc,
CFbsBitmap* /*aMask*/ ) const
{
+ _AKNTRACE_FUNC_ENTER;
CEikCbaButton* button =
static_cast<CEikCbaButton*>( aGroupControl.iControl );
@@ -7323,24 +7629,29 @@
KAknsIIDQgnFrSctrlSkButton,
KAknsIIDQgnFrSctrlSkButtonCenter);
}
+ _AKNTRACE_FUNC_EXIT;
}
TBool CEikCba::UpdateIconL()
{
+ _AKNTRACE_FUNC_ENTER;
if ( iFlags.IsSet( ECbaInsideDialog ) )
{
+ _AKNTRACE_FUNC_EXIT;
return EFalse;
}
if ( !iExtension->iIfMskIconSet ||
!MskAllowed() )
{
+ _AKNTRACE_FUNC_EXIT;
return EFalse;
}
MAknsSkinInstance* skin = AknsUtils::SkinInstance();
if ( !skin )
{
+ _AKNTRACE_FUNC_EXIT;
return EFalse;
}
@@ -7349,6 +7660,7 @@
CEikCbaButton *button = static_cast<CEikCbaButton*>( gCtrl.iControl );
if ( !button )
{
+ _AKNTRACE_FUNC_EXIT;
return EFalse;
}
@@ -7395,8 +7707,9 @@
button->SetContainerWindowL( *this );
+ _AKNTRACE_FUNC_EXIT;
return ETrue;
-
+
}
@@ -7408,6 +7721,8 @@
//
TBool CEikCba::MskAllowed() const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return ( iMSKEnabledInPlatform &&
AknLayoutUtils::MSKEnabled() &&
IsMskEnabledLayoutActive() );
@@ -7422,6 +7737,7 @@
TBool CEikCba::SoftkeyStatusChangeAllowed(
TInt aSoftkeyPosition, TBool aDisabled )
{
+ _AKNTRACE_FUNC_ENTER;
TBool allowChange( ETrue );
if ( aSoftkeyPosition == KControlArrayCBAButton1Posn )
{
@@ -7439,6 +7755,7 @@
}
}
}
+ _AKNTRACE_FUNC_EXIT;
return allowChange;
}
@@ -7450,6 +7767,7 @@
//
TEikGroupControl* CEikCba::ItemSpecificSoftkey() const
{
+ _AKNTRACE_FUNC_ENTER;
TEikGroupControl* lsk( NULL );
if ( iFlags.IsSet( ECbaItemSpecificSoftkeyInUse ) )
{
@@ -7461,6 +7779,7 @@
lsk = &leftSoftkey;
}
}
+ _AKNTRACE_FUNC_EXIT;
return lsk;
}
@@ -7472,6 +7791,7 @@
//
void CEikCba::UpdateItemSpecificSoftkey( TBool aVisibleCollection )
{
+ _AKNTRACE_FUNC_ENTER;
if ( iFlags.IsSet( ECbaSingleClickEnabled )
&& iExtension && iExtension->iItemActionMenu )
{
@@ -7484,6 +7804,7 @@
UpdateItemSpecificSoftkey( *leftSk->iControl, enableSk );
}
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -7494,6 +7815,7 @@
//
void CEikCba::UpdateItemSpecificSoftkey( CCoeControl& aControl, TBool aEnable )
{
+ _AKNTRACE_FUNC_ENTER;
TBool skEnabled( aControl.IsVisible() && !aControl.IsDimmed() );
TBool changeState( EFalse );
if ( !aEnable )
@@ -7525,6 +7847,7 @@
aControl.DrawDeferred();
}
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -7534,6 +7857,7 @@
CEikCbaButton::~CEikCbaButton()
{
+ _AKNTRACE_FUNC_ENTER;
AKNTASHOOK_REMOVE();
delete iLabel;
if ( iImage )
@@ -7545,10 +7869,12 @@
delete iButtonOptions;
delete iText;
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCbaButton::ConstructL(TGulAlignmentValue aAlignment)
{
+ _AKNTRACE_FUNC_ENTER;
iLabel = new(ELeave) CEikLabel;
iPressedDown = EFalse;
iLabel->SetBufferReserveLengthL(KMaxCbaLabelLength);
@@ -7563,11 +7889,14 @@
iLabel->MakeVisible( EFalse );
}
AKNTASHOOK_ADDL( this, "CEikCbaButton" );
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCbaButton::AddCommandL(const TDesC& aText)
{
+ _AKNTRACE_FUNC_ENTER;
UpdateLabelText(aText);
+ _AKNTRACE_FUNC_EXIT;
}
struct STempCleanup
@@ -7578,6 +7907,7 @@
LOCAL_C void CleanupTemp(TAny* aPtr)
{
+ _AKNTRACE_FUNC_ENTER;
STempCleanup& temp = *(STempCleanup*)aPtr;
const TInt count = temp.iText->Count();
if (temp.iButtonOptions->Count() == count)
@@ -7585,10 +7915,12 @@
temp.iButtonOptions->Delete(count - 1);
}
temp.iText->Delete(count - 1);
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCbaButton::PushCommandL(TInt aCommandId,const TDesC& aText)
{
+ _AKNTRACE_FUNC_ENTER;
if (!iButtonOptions)
{
iButtonOptions = new(ELeave) CArrayFixFlat<SButtonOptions>(1);
@@ -7611,12 +7943,15 @@
iButtonOptions->AppendL(options);
UpdateLabelText(aText);
CleanupStack::Pop(); // temp
+ _AKNTRACE_FUNC_EXIT;
}
TInt CEikCbaButton::PopCommand()
{
+ _AKNTRACE_FUNC_ENTER;
if (!iButtonOptions)
{
+ _AKNTRACE_FUNC_EXIT;
return -1;
}
@@ -7625,6 +7960,7 @@
if (count < 0)
{
+ _AKNTRACE_FUNC_EXIT;
return -1;
}
@@ -7649,13 +7985,16 @@
{
iImage->DrawNow();
}
+ _AKNTRACE_FUNC_EXIT;
return buttonOptions.iCommandId;
}
void CEikCbaButton::RemoveCommand(TInt aCommandId)
{
+ _AKNTRACE_FUNC_ENTER;
if (!iButtonOptions)
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
TInt index = IndexFromCommandId(aCommandId);
@@ -7671,12 +8010,15 @@
iText = NULL;
}
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCbaButton::RemovePreviousCommand()
{
+ _AKNTRACE_FUNC_ENTER;
if (!iButtonOptions)
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
TInt index = iButtonOptions->Count() - 2;
@@ -7685,26 +8027,31 @@
iButtonOptions->Delete(index);
iText->Delete(index);
}
+ _AKNTRACE_FUNC_EXIT;
}
TInt CEikCbaButton::IndexFromCommandId(TInt aCommandId)
{
+ _AKNTRACE_FUNC_ENTER;
TInt index;
TKeyArrayFix key(0, ECmpTInt);
SButtonOptions options;
options.iCommandId = aCommandId;
if (iButtonOptions->Find(options, key, index) == KErrNone)
{
+ _AKNTRACE_FUNC_EXIT;
return index;
}
else
{
+ _AKNTRACE_FUNC_EXIT;
return KErrNotFound;
- }
+ }
}
void CEikCbaButton::SetContainerWindowL(const CCoeControl& aContainer)
{
+ _AKNTRACE_FUNC_ENTER;
CCoeControl::SetContainerWindowL(aContainer);
if (!iDoImage)
{
@@ -7714,40 +8061,50 @@
{
iImage->SetContainerWindowL(aContainer);
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCbaButton::ConstructFromResourceL(TResourceReader& aReader, TGulAlignmentValue anAlignment)
{
+ _AKNTRACE_FUNC_ENTER;
ConstructL(anAlignment);
UpdateLabelText(aReader.ReadTPtrC());
aReader.ReadTPtrC(); // bmp filename
aReader.ReadInt16(); // bmp id
aReader.ReadInt16(); // bmp mask id
+ _AKNTRACE_FUNC_EXIT;
}
TSize CEikCbaButton::MinimumSize()
{
+ _AKNTRACE_FUNC_ENTER;
if (!iDoImage)
{
+ _AKNTRACE_FUNC_EXIT;
return iLabel->MinimumSize();
}
else
{
+ _AKNTRACE_FUNC_EXIT;
return iImage->MinimumSize();
}
}
TInt CEikCbaButton::CountComponentControls() const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return 1;
}
CCoeControl* CEikCbaButton::ComponentControl(TInt aIndex) const
{
+ _AKNTRACE_FUNC_ENTER;
if (aIndex==0)
{
if (!iDoImage)
{
+ _AKNTRACE_FUNC_EXIT;
return iLabel;
}
else
@@ -7767,6 +8124,7 @@
return iImage;
}
}
+ _AKNTRACE_FUNC_EXIT;
return 0;
}
@@ -7777,25 +8135,31 @@
//
void CEikCbaButton::SizeChanged()
{
+ _AKNTRACE_FUNC_ENTER;
// Resizing is done at CEikCba::SizeChanged().
// We cannot resize here because this control has wrong
// coordinate system available.
-
+ _AKNTRACE_FUNC_EXIT;
}
EXPORT_C void CEikCbaButton::HandlePointerEventL(const TPointerEvent& aPointerEvent)
{
+ _AKNTRACE_FUNC_ENTER;
CCoeControl::HandlePointerEventL(aPointerEvent);
+ _AKNTRACE_FUNC_EXIT;
}
EXPORT_C void* CEikCbaButton::ExtensionInterface( TUid /*aInterface*/ )
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return NULL;
}
void CEikCbaButton::SetDimmed(TBool aDimmed)
{
+ _AKNTRACE_FUNC_ENTER;
CCoeControl::SetDimmed(aDimmed);
if (!iDoImage)
{
@@ -7806,6 +8170,7 @@
// Drawing dimmed CEikImages don't work (problem in uiklaf).
//iImage->SetDimmed(aDimmed);
}
+ _AKNTRACE_FUNC_EXIT;
}
@@ -7815,6 +8180,7 @@
//
void CEikCbaButton::UpdateLabelText( TPtrC aLabelText )
{
+ _AKNTRACE_FUNC_ENTER;
// Updates the label text with the given label, using tab delimited
// label text to identify normal / alternative labels.
if ( aLabelText.Length() > KMaxCbaLabelLength )
@@ -7847,20 +8213,24 @@
{
TruncateLabelText();
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCbaButton::SetTextBitmapMode( TBool aEnableBitmap )
{
+ _AKNTRACE_FUNC_ENTER;
iUseTextBitmap = aEnableBitmap;
if ( iLabel )
{
iLabel->MakeVisible( !aEnableBitmap );
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCbaButton::DrawToContext( CBitmapContext& aContext, CBitmapContext& aMaskContext, const TPoint& aOffset ) const
{
+ _AKNTRACE_FUNC_ENTER;
if ( iLabel )
{
// Draw text into EColor16MA bitmap
@@ -7873,10 +8243,12 @@
aMaskContext.SetOrigin( -aOffset );
iLabel->DrawToContext( aMaskContext, &maskColor );
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCbaButton::SwitchToShortTextL(TBool aShortText)
{
+ _AKNTRACE_FUNC_ENTER;
if (aShortText)
{
iLabel->SetTextL(iShortLabelText);
@@ -7899,24 +8271,31 @@
{
iImage->DrawDeferred();
}
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCbaButton::SetLabelFont(const CFont* aLabelFont)
{
+ _AKNTRACE_FUNC_ENTER;
iLabel->SetFont(aLabelFont);
+ _AKNTRACE_FUNC_EXIT;
}
void CEikCbaButton::TruncateLabelText()
{
+ _AKNTRACE_FUNC_ENTER;
// Truncation removed from here, as it was not bidi-text compatible.
// Let CEikLabel handle truncation instead.
iLabel->CropText();
+ _AKNTRACE_FUNC_EXIT;
}
TBool CEikCbaButton::IsEmptyText() const
{
+ _AKNTRACE_FUNC_ENTER;
if ( iDoImage )
{
+ _AKNTRACE_FUNC_EXIT;
return EFalse;
}
@@ -7932,25 +8311,32 @@
}
}
+ _AKNTRACE_FUNC_EXIT;
return allSpaces;
}
void CEikCbaButton::ConstructEmptyButtonL()
{
+ _AKNTRACE_FUNC_ENTER;
ConstructL( EHRightVCenter ); // creates label
_LIT(KEmptyText, "");
TPtrC16 ptr(KEmptyText);
UpdateLabelText( ptr );
+ _AKNTRACE_FUNC_EXIT;
}
TBool CEikCbaButton::PressedDown() const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return iPressedDown;
}
void CEikCbaButton::SetPressedDown( const TBool aPressedDown )
{
+ _AKNTRACE_FUNC_ENTER;
iPressedDown = aPressedDown;
+ _AKNTRACE_FUNC_EXIT;
}
// -----------------------------------------------------------------------------
@@ -7963,6 +8349,7 @@
CEikImage& aImage,
TBool aLeft)
{ // static
+ _AKNTRACE_FUNC_ENTER;
TInt commandPos = aLeft ? 0 : 2;
TInt commandId = aButtonGroupContainer->ButtonGroup()->CommandId(commandPos);
CEikCbaButton* cbaButton = (CEikCbaButton*) aButtonGroupContainer->ControlOrNull(commandId);
@@ -7977,6 +8364,7 @@
cbaButton->DrawNow();
aButtonGroupContainer->DrawNow();
}
+ _AKNTRACE_FUNC_EXIT;
}
// -----------------------------------------------------------------------------
@@ -7988,6 +8376,7 @@
CEikButtonGroupContainer* aButtonGroupContainer,
TBool aLeft)
{ // static
+ _AKNTRACE_FUNC_ENTER;
TInt commandPos = aLeft ? 0 : 2;
TInt commandId = aButtonGroupContainer->ButtonGroup()->CommandId(commandPos);
CEikCbaButton* cbaButton = (CEikCbaButton*) aButtonGroupContainer->ControlOrNull(commandId);
@@ -8003,6 +8392,7 @@
cbaButton->DrawNow();
aButtonGroupContainer->DrawNow();
}
+ _AKNTRACE_FUNC_EXIT;
}
// -----------------------------------------------------------------------------
@@ -8012,6 +8402,7 @@
//
void CEikCbaButton::SetImage(CEikImage &aImage)
{
+ _AKNTRACE_FUNC_ENTER;
iDoImage = ETrue;
if ( iImage )
@@ -8030,6 +8421,7 @@
{
ReplaceImageByLabel();
}
+ _AKNTRACE_FUNC_EXIT;
}
// -----------------------------------------------------------------------------
@@ -8040,6 +8432,7 @@
//
void CEikCbaButton::PrepareImageL()
{
+ _AKNTRACE_FUNC_ENTER;
// 50% transparent pressed down image is made with a alternative mask
// which is created when a image is set to CEikCbaButton.
// Original mask is copied and each of its pixels color components is
@@ -8050,6 +8443,7 @@
if ( !iMask )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -8085,6 +8479,7 @@
CleanupStack::PopAndDestroy( device ); // device
delete gc;
+ _AKNTRACE_FUNC_EXIT;
}
// -----------------------------------------------------------------------------
// CEikCbaButton::ReplaceImageByLabel
@@ -8093,6 +8488,7 @@
//
void CEikCbaButton::ReplaceImageByLabel()
{
+ _AKNTRACE_FUNC_ENTER;
iDoImage = EFalse;
if ( iImage )
{
@@ -8103,6 +8499,7 @@
delete iSfeMask;
iSfeMask = NULL;
}
+ _AKNTRACE_FUNC_EXIT;
}
//
@@ -8114,6 +8511,8 @@
// -----------------------------------------------------------------------------
CEikEnhancedCbaButton::CEikEnhancedCbaButton()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
}
// -----------------------------------------------------------------------------
@@ -8121,6 +8520,8 @@
// -----------------------------------------------------------------------------
CEikEnhancedCbaButton::~CEikEnhancedCbaButton()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
}
// -----------------------------------------------------------------------------
@@ -8130,11 +8531,15 @@
#ifdef RD_ENHANCED_CBA
void CEikEnhancedCbaButton::SetCommandType( const TInt aCommandType )
{
+ _AKNTRACE_FUNC_ENTER;
iCommandType = aCommandType;
+ _AKNTRACE_FUNC_EXIT;
}
#else
void CEikEnhancedCbaButton::SetCommandType( const TInt /*aCommandType*/ )
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
}
#endif // RD_ENHANCED_CBA
// -----------------------------------------------------------------------------
@@ -8144,6 +8549,8 @@
TInt CEikEnhancedCbaButton::CommandType() const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
#ifdef RD_ENHANCED_CBA
return iCommandType;
#else
@@ -8157,6 +8564,8 @@
// -----------------------------------------------------------------------------
TInt CEikEnhancedCbaButton::CommandId() const
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
#ifdef RD_ENHANCED_CBA
return iCommandId;
#else
@@ -8171,6 +8580,7 @@
#ifdef RD_ENHANCED_CBA
void CEikEnhancedCbaButton::ConstructFromResourceL(TResourceReader& aReader)
{
+ _AKNTRACE_FUNC_ENTER
// Alignment set to right.
ConstructL( EHRightVCenter ); // creates label
iCommandType = aReader.ReadUint8();
@@ -8181,10 +8591,13 @@
aReader.ReadTPtrC(); // bmp filename
aReader.ReadInt16(); // bmp id
aReader.ReadInt16(); // bmp mask id
+ _AKNTRACE_FUNC_EXIT;
}
#else
void CEikEnhancedCbaButton::ConstructFromResourceL(TResourceReader&)
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
}
#endif // RD_ENHANCED_CBA
@@ -8193,6 +8606,8 @@
// -----------------------------------------------------------------------------
void CEikEnhancedCbaButton::ConstructEmptyButtonL()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
#ifdef RD_ENHANCED_CBA
ConstructL( EHRightVCenter ); // creates label
iCommandType = EEikCommandTypeAnyCommand;
@@ -8209,6 +8624,8 @@
// -----------------------------------------------------------------------------
TPtrC* CEikEnhancedCbaButton::LabelText()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
#ifdef RD_ENHANCED_CBA
return &iLongLabelText;
#else
@@ -8222,6 +8639,8 @@
CEikCommandTable* CEikCommandTable::NewL()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
#ifdef RD_ENHANCED_CBA
CEikCommandTable* self = CEikCommandTable::NewLC();
CleanupStack::Pop( self );
@@ -8233,6 +8652,8 @@
CEikCommandTable* CEikCommandTable::NewLC()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
#ifdef RD_ENHANCED_CBA
CEikCommandTable* self = new (ELeave) CEikCommandTable;
CleanupStack::PushL( self );
@@ -8249,6 +8670,7 @@
// -----------------------------------------------------------------------------
void CEikCommandTable::ConstructL()
{
+ _AKNTRACE_FUNC_ENTER;
#ifdef RD_ENHANCED_CBA
// Get the cba priority configuration
TResourceReader reader;
@@ -8274,6 +8696,7 @@
CleanupStack::PopAndDestroy(); // reader
#endif
+ _AKNTRACE_FUNC_EXIT;
}
#ifdef RD_ENHANCED_CBA
@@ -8287,6 +8710,7 @@
CEikCommandTable::~CEikCommandTable()
{
+ _AKNTRACE_FUNC_ENTER;
#ifdef RD_ENHANCED_CBA
iCommandButtons.Reset(); // Reset array
for(TInt i = 0; i < iPriorities.Count(); i++)
@@ -8295,6 +8719,7 @@
}
iPriorities.Reset();
#endif
+ _AKNTRACE_FUNC_EXIT;
}
// -----------------------------------------------------------------------------
@@ -8304,11 +8729,14 @@
#ifndef RD_ENHANCED_CBA
TInt CEikCommandTable::AddCommandL(CEikEnhancedCbaButton* /*aButton*/)
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return KErrNone;
}
#else
TInt CEikCommandTable::AddCommandL(CEikEnhancedCbaButton* aButton)
{
+ _AKNTRACE_FUNC_ENTER;
// CommandType tells in which button this command should be placed
TInt commandType( aButton->CommandType() );
TInt index( KErrNotFound );
@@ -8349,6 +8777,7 @@
delete aButton;
aButton = NULL;
}
+ _AKNTRACE_FUNC_EXIT;
return KErrNone;
}
#endif // RD_ENHANCED_CBA
@@ -8360,9 +8789,11 @@
#ifndef RD_ENHANCED_CBA
TBool CEikCommandTable::IsCommandPlaced(const TInt /*aCommandId*/) const
{
+ _AKNTRACE_FUNC_ENTER;
#else // !RD_ENHANCED_CBA
TBool CEikCommandTable::IsCommandPlaced(const TInt aCommandId) const
{
+ _AKNTRACE_FUNC_ENTER;
TInt count( iCommandButtons.Count() );
for ( TInt i = 0; i < count; i++ )
@@ -8371,11 +8802,13 @@
{
if ( iCommandButtons[i]->CommandId() == aCommandId )
{
+ _AKNTRACE_FUNC_EXIT;
return ETrue;
}
}
}
#endif // RD_ENHANCED_CBA
+ _AKNTRACE_FUNC_EXIT;
return EFalse; // if no match for command id
}
@@ -8387,12 +8820,15 @@
#ifndef RD_ENHANCED_CBA
void CEikCommandTable::ReplaceCommandL( const TInt /*aCommandId*/, const TInt /*aResourceId*/ )
{
+ _AKNTRACE_FUNC_ENTER;
#else // !RD_ENHANCED_CBA
void CEikCommandTable::ReplaceCommandL( const TInt aCommandId, const TInt aResourceId )
{
+ _AKNTRACE_FUNC_ENTER;
// If the command is not in the command table, return.
if( !IsCommandPlaced( aCommandId ) )
{
+ _AKNTRACE_FUNC_EXIT;
return;
}
@@ -8431,6 +8867,7 @@
// Delete old button.
delete oldButton;
#endif // !RD_ENHANCED_CBA
+ _AKNTRACE_FUNC_EXIT;
}
// -----------------------------------------------------------------------------
@@ -8441,11 +8878,15 @@
#ifdef RD_ENHANCED_CBA
CEikEnhancedCbaButton* CEikCommandTable::Command( const TInt aCommandIndex )
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return iCommandButtons[aCommandIndex];
}
#else // RD_ENHANCED_CBA
CEikEnhancedCbaButton* CEikCommandTable::Command( const TInt /*aCommandIndex*/ )
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
return NULL;
}
#endif // RD_ENHANCED_CBA
@@ -8455,6 +8896,8 @@
// -----------------------------------------------------------------------------
void CEikCommandTable::Reset()
{
+ _AKNTRACE_FUNC_ENTER;
+ _AKNTRACE_FUNC_EXIT;
#ifdef RD_ENHANCED_CBA
iCommandButtons.Reset();
#endif // RD_ENHANCED_CBA
@@ -8467,10 +8910,12 @@
CEikCba* aCba,
TCallBack aCallBack )
{
+ _AKNTRACE_FUNC_ENTER;
if ( aCba )
{
aCba->SetContentObserver( aCallBack );
}
+ _AKNTRACE_FUNC_EXIT;
}
// End of file
--- a/uifw/EikStd/coctlsrc/eikspane.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/eikspane.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -69,8 +69,6 @@
/** This flag is used to turn redraw storing on/off in status pane. */
const TInt KEnableRedrawStoring = ETrue;
-const TUid KActiveIdle2Uid = {0x102750F0};
-
inline void CEikStatusPaneBase::TPaneCapabilities::SetPresent()
{
iFlags |= KStatusPaneCapsPresentBit;
@@ -1178,26 +1176,21 @@
* @param aRedrawStoreHandler Pointer to the redraw store handler should
* be also passed if @c aParentWindowGroup
* is specified.
+ * @param aTransparent Whether or not the control is transparent.
*/
void SetParentWindowL( RWindowGroup* aParentWindowGroup,
CCoeControl* aParentControl,
- CRedrawStoreHandler* aRedrawStoreHandler );
+ CRedrawStoreHandler* aRedrawStoreHandler,
+ TBool aTransparent );
/**
- * Sets the background drawer for the container control.
+ * Sets the container control transparency.
+ * The background drawer is used if transparency is not enabled.
*
* @param aBackground The background drawer.
*/
- void SetBackgroundDrawer( MCoeControlBackground* aBackground );
-
- /**
- * Checks if the status pane container is in the idle (Home Screen)
- * application. This check in required in some places since Home
- * Screen draws the status pane background itself.
- *
- * @return @c ETrue if in idle application, @c EFalse otherwise.
- */
- TBool InIdleApplication();
+ void SetTransparency( TBool aTransparent,
+ MCoeControlBackground* aBackground );
public: // From base class @c CCoeControl.
@@ -1394,18 +1387,6 @@
SetMopParent( iEikonEnv->EikAppUi() );
CreateWindowL( aParent );
-
- // This is added for homescreen transparency support.
- if ( InIdleApplication() )
- {
- if( KErrNone == Window().SetTransparencyAlphaChannel())
- Window().SetBackgroundColor(~0);
- }
- else
- {
- Window().SetBackgroundColor(
- iEikonEnv->ControlColor( EColorStatusPaneBackground, *this ) );
- }
// This helps for unsyncronized undimming problems.
aRedrawStoreHandler.SetStore( &Window(), KEnableRedrawStoring );
@@ -2622,7 +2603,8 @@
void CEikStatusPaneContainer::SetParentWindowL(
RWindowGroup* aParentWindowGroup,
CCoeControl* aParentControl,
- CRedrawStoreHandler* aRedrawStoreHandler )
+ CRedrawStoreHandler* aRedrawStoreHandler,
+ TBool aTransparent )
{
if ( aParentWindowGroup )
{
@@ -2638,24 +2620,24 @@
CreateWindowL( aParentWindowGroup );
- // Enable the transparency only in HomeScreen where it's needed
- // for performance reasons.
- if ( InIdleApplication() )
- {
- EnableWindowTransparency();
- }
- else
- {
- Window().SetBackgroundColor(
- iEikonEnv->ControlColor( EColorStatusPaneBackground, *this ) );
- }
-
RWindow& window = Window();
if ( aRedrawStoreHandler )
{
aRedrawStoreHandler->SetStore( &window, KEnableRedrawStoring );
}
+ // Enable the transparency only in HomeScreen where it's needed
+ // for performance reasons.
+ if ( aTransparent && window.SetTransparencyAlphaChannel() == KErrNone )
+ {
+ window.SetBackgroundColor( ~0 );
+ }
+ else
+ {
+ window.SetBackgroundColor(
+ iEikonEnv->ControlColor( EColorStatusPaneBackground, *this ) );
+ }
+
window.SetPointerGrab( ETrue );
window.SetShadowDisabled( ETrue );
window.SetNonFading( !LafStatusPaneContainer::AllowFading() );
@@ -2673,38 +2655,32 @@
// ---------------------------------------------------------------------------
-// Sets the background drawer for the container control.
+// Sets the container control transparency.
// ---------------------------------------------------------------------------
//
-void CEikStatusPaneContainer::SetBackgroundDrawer(
+void CEikStatusPaneContainer::SetTransparency(
+ TBool aTransparent,
MCoeControlBackground* aBackground )
{
- if ( aBackground && InIdleApplication() )
+ RWindow& window = Window();
+
+ if ( aTransparent )
{
- // In Home Screen the application draws also the status
- // pane background.
- aBackground = NULL;
+ if ( window.SetTransparencyAlphaChannel() == KErrNone )
+ {
+ window.SetBackgroundColor( ~0 );
+ }
+ }
+ else
+ {
+ window.SetBackgroundColor(
+ iEikonEnv->ControlColor( EColorStatusPaneBackground, *this ) );
}
- SetBackground( aBackground );
- }
-
-
-// ---------------------------------------------------------------------------
-// Checks if the status pane container is in the Home Screen application.
-// ---------------------------------------------------------------------------
-//
-TBool CEikStatusPaneContainer::InIdleApplication()
- {
- TBool retVal( EFalse );
-
- CEikApplication* app = iEikonEnv->EikAppUi()->Application();
- if ( app && app->AppDllUid() == KActiveIdle2Uid )
- {
- retVal = ETrue;
- }
-
- return retVal;
+ // Skin background is not drawn for the subpane if it's transparent
+ // OR if it's a child of another subpane.
+ TBool drawBackground( Parent() ? NULL : !aTransparent );
+ SetBackground( drawBackground ? aBackground : NULL );
}
@@ -2923,9 +2899,9 @@
AknsDrawUtils::ControlContext( &aControl ),
&aControl,
aGc,
- TPoint( 0, 0 ),
+ aRect.iTl,
aRect,
- KAknsDrawParamDefault );
+ KAknsDrawParamNoClearUnderImage );
}
}
@@ -3404,7 +3380,7 @@
iExtension->iDataSubscriber,
*iExtension->iRedrawStoreHandler );
- cont->SetBackgroundDrawer( iExtension );
+ cont->SetBackground( iExtension );
CleanupStack::PushL( cont );
iControls->AppendL( cont );
@@ -3803,7 +3779,9 @@
if ( combinedPane )
{
CCoeControl* combinedPaneControl = combinedPane->Control();
-
+
+ TBool transparencyEnabled( IsTransparent() );
+
// The subpane container controls inside combined pane are it's
// component controls.
TInt count( combinedPaneControl->CountComponentControls() );
@@ -3819,18 +3797,22 @@
{
subPane->SetParentWindowL( NULL,
combinedPaneControl,
- NULL );
+ NULL,
+ transparencyEnabled );
// Background is drawn by the combined pane so remove
// the subpane's own background drawer.
- subPane->SetBackgroundDrawer( NULL );
+ subPane->SetBackground( NULL );
}
else
{
subPane->SetParentWindowL(
iParentWindowGroup,
NULL,
- iExtension ? iExtension->iRedrawStoreHandler : NULL );
- subPane->SetBackgroundDrawer( iExtension );
+ iExtension ? iExtension->iRedrawStoreHandler : NULL,
+ transparencyEnabled );
+
+ subPane->SetBackground( transparencyEnabled ? NULL :
+ iExtension );
}
}
}
@@ -3932,13 +3914,19 @@
EnableTransparent( aFlags & KStatusPaneTransparentBit );
}
+// ---------------------------------------------------------------------------
+// CEikStatusPaneBase::EnableTransparent
+// Enables transparency in the status pane.
+// ---------------------------------------------------------------------------
+//
EXPORT_C void CEikStatusPaneBase::EnableTransparent( TBool aTransparent )
{
if ( COMPARE_BOOLS( aTransparent, IsTransparent() ) )
- {
- return;
- }
- if( aTransparent )
+ {
+ return;
+ }
+
+ if ( aTransparent )
{
iFlags |= KStatusPaneTransparentBit;
}
@@ -3946,14 +3934,30 @@
{
iFlags &= ~KStatusPaneTransparentBit;
}
- DoDrawNow( EDrawDeferred );
+
+ // Change the subpane window background colour and background drawer
+ // based on the transparency.
+ const TInt count = iControls->Count();
+ for ( TInt ii = 0; ii < count; ++ii )
+ {
+ iControls->At( ii )->SetTransparency( aTransparent, iExtension );
+ }
+ DoDrawNow( EDrawDeferred );
}
+
+// ---------------------------------------------------------------------------
+// CEikStatusPaneBase::IsTransparent
+// Checks if the status pane has transparency enabled.
+// ---------------------------------------------------------------------------
+//
EXPORT_C TBool CEikStatusPaneBase::IsTransparent() const
{
return iFlags & KStatusPaneTransparentBit;
}
+
+
// ---------------------------------------------------------------------------
// CEikStatusPaneBase::Flags
// Returns the status pane flags.
--- a/uifw/EikStd/coctlsrc/smileydrawer.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/smileydrawer.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -206,11 +206,6 @@
void CSmileyDrawer::DrawImageByIconL( CBitmapContext& aGc,
CSmileyIcon* aIcon )
{
- if ( aIcon->DocPos() < iVisibleStart && aIcon->DocPos() >=
- iVisibleStart + iVisibleLength )
- {
- return;
- }
CSmileyImageData* image( aIcon->ImageData() );
CFbsBitmap* bmp( image->Bitmap() );
CFbsBitmap* mask( image->Mask() );
--- a/uifw/EikStd/coctlsrc/smileymanager.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/coctlsrc/smileymanager.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -270,15 +270,6 @@
}
// ---------------------------------------------------------------------------
-// CSmileyManager::SetVisibleRange
-// ---------------------------------------------------------------------------
-//
-void CSmileyManager::SetVisibleRange( TInt aDocPos, TInt aLength )
- {
- iDrawer->SetVisibleRange( aDocPos, aLength );
- }
-
-// ---------------------------------------------------------------------------
// CSmileyManager::TextBlockLength
// ---------------------------------------------------------------------------
//
--- a/uifw/EikStd/dlgsrc/AknMediatorFacade.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/dlgsrc/AknMediatorFacade.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -20,7 +20,7 @@
#include <eikapp.h>
#include <coedef.h>
#include <MediatorDomainUIDs.h>
-#include <SecondaryDisplay/AknSecondaryDisplayDefs.h>
+#include <secondarydisplay/AknSecondaryDisplayDefs.h>
#include "AknMediatorFacade.h"
#include "AknMediatorObserver.h"
--- a/uifw/EikStd/dlgsrc/EIKCAPC.CPP Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/dlgsrc/EIKCAPC.CPP Mon Mar 15 12:41:34 2010 +0200
@@ -3906,7 +3906,7 @@
if ( !iIsCurrentLine )
{
- AknListUtils::DrawSeparator( aGc, Rect(), textColor );
+ AknListUtils::DrawSeparator( aGc, Rect(), textColor, skin );
aGc.SetBrushStyle( CGraphicsContext::ENullBrush ) ;
}
else // Highlight Skinning. Requires Frame
@@ -3920,7 +3920,7 @@
MAknsControlContext* parentCc = GetDialogControlContext( iDialogPage ) ;
AknsDrawUtils::Background( skin, parentCc, this, aGc, Rect() ) ;
- AknListUtils::DrawSeparator( aGc, Rect(), textColor );
+ AknListUtils::DrawSeparator( aGc, Rect(), textColor, skin );
// Set the rectangle(s) for the Frame context
iExtension->iEditModeHighlightControlContext->SetFrameRects( EditRect(), innerRect ) ;
@@ -3944,7 +3944,7 @@
AknsDrawUtils::BackgroundBetweenRects( skin, parentCc, this, aGc,
Rect(), innerRect );
- AknListUtils::DrawSeparator( aGc, Rect(), textColor );
+ AknListUtils::DrawSeparator( aGc, Rect(), textColor, skin );
// Draw the animation itself
if ( iExtension->IsHighlightAnimated()
--- a/uifw/EikStd/dlgsrc/EIKDIALG.CPP Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/EikStd/dlgsrc/EIKDIALG.CPP Mon Mar 15 12:41:34 2010 +0200
@@ -1759,12 +1759,17 @@
if (button)
{
- if (button->IsDimmed() || !button->IsVisible())
- {
+ TBool animateCommand = ( !button->IsDimmed() && button->IsVisible() );
+
+ if ( !animateCommand && buttonId != EEikBidCancel )
+ {
_AKNTRACE_FUNC_EXIT;
- return EKeyWasNotConsumed;
- }
- buttonGroupContainer.AnimateCommand(buttonId);
+ return EKeyWasNotConsumed;
+ }
+ else if ( animateCommand )
+ {
+ buttonGroupContainer.AnimateCommand( buttonId );
+ }
}
if (button || buttonId==EEikBidCancel || buttonId==EEikBidOk)
--- a/uifw/eikctl/src/EIKCLBD.CPP Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/eikctl/src/EIKCLBD.CPP Mon Mar 15 12:41:34 2010 +0200
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
@@ -2007,7 +2007,7 @@
if ( iExtension->iCurrentRow < list->BottomItemIndex() )
{
- AknListUtils::DrawSeparator( aGc, aRect, aColors.iText );
+ AknListUtils::DrawSeparator( aGc, aRect, aColors.iText, skin );
}
DrawHighLight( aGc, aRect, aHighlight, skin );
@@ -2473,7 +2473,7 @@
if ( iExtension->iCurrentRow < list->BottomItemIndex() )
{
- AknListUtils::DrawSeparator( aGc, aRect, aColors.iText );
+ AknListUtils::DrawSeparator( aGc, aRect, aColors.iText, skin );
}
// LISTBOX LINES NEED TO BE DRAWN HERE.
--- a/uifw/ganes/inc/HgVgButton.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/inc/HgVgButton.h Mon Mar 15 12:41:34 2010 +0200
@@ -94,6 +94,11 @@
*/
void Draw(const TRect& aWindowRect, TReal aAlpha=1);
+ /**
+ *
+ */
+ void EnableLandscapeRendering(TBool aEnabled);
+
private:
TSize iSize;
@@ -101,6 +106,7 @@
VGImage iImage;
TBool iEnabled;
TBool iPointerDown;
+ TBool iLandscape;
};
--- a/uifw/ganes/inc/HgVgConstants.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/inc/HgVgConstants.h Mon Mar 15 12:41:34 2010 +0200
@@ -28,7 +28,7 @@
const TReal KMaxSpringVelocity(300.0f);
//
- const TReal KSpringVelocityToAnimationFactor(20.0f);
+ const TReal KSpringVelocityToAnimationFactor(10.0f);
// maximum quads in coverflow
@@ -40,7 +40,7 @@
// fi
const TReal KMinFlickSpeed(0.5f);
- const TInt KViewUpdateInterval( 16000 ); // > ~60 fps
+ const TInt KViewUpdateInterval( 15000 ); // > ~60 fps
// The amound of pixels one item (virtually) takes on the screen (if you think coverflow as uniform list)
const TReal KRowHeight(1.0f);
@@ -50,16 +50,16 @@
const TReal PI(3.1415926535897932f);
// Spring constant
- const TReal KSpringK(35.0f);
+ const TReal KSpringK(20.0f);
// Spring damping
const TReal KSpringDamping(11.0f);
// maximum distance from target to snap
- const TReal KPositionSnap(0.02);
+ const TReal KPositionSnap(0.01);
// maximum speed where to snap to item
- const TReal KMinSpringVelocity(0.05);
+ const TReal KMinSpringVelocity(0.01);
// how far user must have dragged an item before
// we move to next item when user has stopped dragging gesture.
@@ -70,7 +70,7 @@
const TReal KItemsToDragOnFullScreenDrag(5.0f);
// Physics update timestep
- const TReal KTimeStep(0.01f); // we update physics 100 fps
+ const TReal KTimeStep(0.008333333333f); // we update physics 120 fps
// Width of one quad in 3d space
const TReal KWorldQuadWidth(1);
@@ -95,11 +95,11 @@
// how long it user must press to move one index further
const TInt KKeyPressDuration(800000);
// factor used for converting swipe speed to view movement
- const TReal KSwipeSpeedFactor(0.4f);
+ const TReal KSwipeSpeedFactor(0.5f);
// Camera rotation factor to use in animation
// when swiping
- const TReal KCameraRotationFactor(PI/8.0f);
+ const TReal KCameraRotationFactor(PI/12.0f);
// zooming factor to use in animation
const TReal KCameraZoomFactor(0);
@@ -122,6 +122,13 @@
// blur deviation factor for blur in zoom animation
const TReal KDefaultBlurDeviation(4);
+ //
+ const TReal KSpringVelocityToZAlpha(10.0f);
+
+ const TInt KFramesToZeroVelocity(60);
+
+ const TReal KHalfItemWidth(0.5);
+
// Specific constants for full screen coverflow mediawall
const TInt KMediaWallFullScreenItemsOnScreen(5);
const TReal KMediaWallFullScreenCameraZoomFactor(1.5);
@@ -129,7 +136,7 @@
const TReal KMediaWallFullScreenSpringVelocityToAnimationFactor(10);
const TReal KMediaWallFullScreenZOffset(1);
const TInt KMediaWallFullScreenRowCount(1);
- const TReal KMediaWallFullScreenSpringK(28);
+ const TReal KMediaWallFullScreenSpringK(KSpringK);
const TReal KMediaWallFullScreenSpringDamping(KSpringDamping);
const TReal KMediaWallFullScreenSpringMaxVelocity(KMaxSpringVelocity);
const TReal KMediaWallFullScreenItemsToMoveOnFullScreenDrag(5);
--- a/uifw/ganes/inc/HgVgEGL.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/inc/HgVgEGL.h Mon Mar 15 12:41:34 2010 +0200
@@ -62,7 +62,7 @@
EGLConfig CurrentConfig() const;
- CFbsBitmap* GetSurfaceToBitmap(const TRect& aRect) const;
+ CFbsBitmap* GetSurfaceToBitmap(const TRect& aRect, TBool aLandscape = EFalse) const;
protected: // Constructors
--- a/uifw/ganes/inc/HgVgHelper.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/inc/HgVgHelper.h Mon Mar 15 12:41:34 2010 +0200
@@ -213,7 +213,8 @@
* @param aPos position where to draw (in symbian screen coordinates).
* @param aWindowRect drawing windows rectangle.
*/
- void DrawImage(VGImage aImage, const TPoint& aPos, const TRect& aWindowRect, TBool aCentered = EFalse);
+ void DrawImage(VGImage aImage, const TPoint& aPos, const TRect& aWindowRect, TBool aCentered = EFalse,
+ TBool iLanscape = EFalse);
/**
* Draws vg image to current vg surface multiplying its colors by a color.
@@ -225,7 +226,8 @@
* @param aWindowRect drawing windows renctangle.
*/
void DrawImageColorized(VGImage aImage, const TRgb& aColor,
- const TPoint& aPos, const TRect& aWindowRect, TBool aCentered = EFalse);
+ const TPoint& aPos, const TRect& aWindowRect, TBool aCentered = EFalse,
+ TBool iLanscape = EFalse);
/**
--- a/uifw/ganes/inc/HgVgLabel.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/inc/HgVgLabel.h Mon Mar 15 12:41:34 2010 +0200
@@ -57,6 +57,8 @@
void DrawEmptyText(const TRect& aClientRect, const TDesC& aText);
+ void EnableLandscapeRendering(TBool enabled);
+
protected: // Constructors
CHgVgLabel(const TRect& aRect);
@@ -84,6 +86,8 @@
TAknTextComponentLayout iLayout;
TRect iParentRect;
+
+ TBool iLandscape;
};
#endif /* HGVGLABEL */
--- a/uifw/ganes/inc/HgVgLetterPopup.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/inc/HgVgLetterPopup.h Mon Mar 15 12:41:34 2010 +0200
@@ -80,6 +80,11 @@
void SetLayouts(const TAknWindowComponentLayout& aPopupLayout,
const TAknTextComponentLayout& aTextLayout, const TRect& aParentRect);
+ /**
+ *
+ */
+ void EnableLanscapeRendering(TBool enabled);
+
protected: // Constructors
CHgVgPopup();
@@ -98,6 +103,7 @@
TAknWindowComponentLayout iPopupLayout;
TAknTextComponentLayout iTextLayout;
TRect iParentRect;
+ TBool iLandscape;
};
#endif /* HGVGLETTERPOPUP_H */
--- a/uifw/ganes/inc/HgVgMediaWallRenderer.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/inc/HgVgMediaWallRenderer.h Mon Mar 15 12:41:34 2010 +0200
@@ -68,7 +68,8 @@
CHgVgMediaWall::THgVgAnimationState aAnimationState,
CHgVgMediaWall::THgVgOpeningAnimationType aSelectionAnimationType,
CHgVgMediaWall::THgVgMediaWallStyle aStyle,
- TReal aStartIndex);
+ TReal aStartIndex,
+ TReal aSpringVelocity);
/**
*
@@ -168,6 +169,12 @@
*/
void EnableFlipXY(TBool aEnabled);
+ /**
+ *
+ */
+ void EnableLandscapeMode(TBool enabled);
+
+
private:
class TQuad
@@ -233,7 +240,8 @@
VGfloat aAnimationAlpha,
CHgVgMediaWall::THgVgAnimationState aState,
CHgVgMediaWall::THgVgOpeningAnimationType aAnimationType,
- TReal aStartIndex);
+ TReal aStartIndex,
+ TReal aSpringVelocity);
/**
@@ -355,6 +363,8 @@
TPoint iOffset;
TBool iFlipXY;
+
+ TBool iLandscape;
};
#endif /* HGVGMEDIAWALLRENDERER */
--- a/uifw/ganes/inc/HgVgScrollBar.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/inc/HgVgScrollBar.h Mon Mar 15 12:41:34 2010 +0200
@@ -68,6 +68,8 @@
TSize aViewSize,
TBool aLandscapeScrolling,
CHgScroller::THgScrollBarType aScrollBarType);
+
+ void EnableLandscapeRendering(TBool aEnabled);
protected: // Constructors
CHgVgScrollBar( );
@@ -95,6 +97,8 @@
VGImage iScrollbarHandle;
VGImage iScrollbarBgSelected;
VGImage iScrollbarHandleSelected;
+
+ TBool iLandscape;
};
--- a/uifw/ganes/inc/HgVgSkinRenderer.h Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/inc/HgVgSkinRenderer.h Mon Mar 15 12:41:34 2010 +0200
@@ -64,7 +64,11 @@
*/
void Draw() const;
-
+
+ /**
+ *
+ */
+ void EnableLanscapeRendering(TBool aLandscape);
protected: // Constructors
CHgVgSkinRenderer(const TRect& aRect);
@@ -77,6 +81,8 @@
VGImage iSkinImage;
TRect iRect;
+
+ TBool iLandscape;
};
#endif /* HGVGSKINRENDERER */
--- a/uifw/ganes/src/HgDoubleGraphicList.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgDoubleGraphicList.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -23,6 +23,7 @@
#include "HgIndicatorManager.h"
#include "HgDrawUtils.h"
#include "HgConstants.h"
+#include "HgScrollbar.h"
#include <AknsUtils.h>
@@ -101,7 +102,8 @@
iLayoutData->SetTitleLayout(i, list_double_large_graphic_pane_t1( i ));
iLayoutData->SetTextLayout(list_double_large_graphic_pane_t2( 2 ));
iLayoutData->SetFirstIndicatorLayout(list_double_large_graphic_pane_g3(0));
- iLayoutData->SetSecondIndicatorLayout(list_double_large_graphic_pane_g2(1));
+ TInt variety = iScrollbar && !iScrollbar->IsStatic() ? 1 : 0;
+ iLayoutData->SetSecondIndicatorLayout(list_double_large_graphic_pane_g2(variety));
// Get the Row rect.
TAknLayoutRect layout;
@@ -230,3 +232,14 @@
}
}
+// -----------------------------------------------------------------------------
+// CHgDoubleGraphicList::HandleScrollbarVisibilityChange()
+// -----------------------------------------------------------------------------
+//
+void CHgDoubleGraphicList::HandleScrollbarVisibilityChange( TBool aVisible )
+ {
+ TInt variety = aVisible ? 1 : 0;
+ iLayoutData->SetSecondIndicatorLayout(list_double_large_graphic_pane_g2(variety));
+ }
+
+// End of file
--- a/uifw/ganes/src/HgDoubleTextList.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgDoubleTextList.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -24,6 +24,7 @@
#include "HgIndicatorManager.h"
#include "HgDrawUtils.h"
#include "HgConstants.h"
+#include "HgScrollbar.h"
#include <AknsUtils.h>
#include <AknUtils.h>
@@ -87,7 +88,8 @@
iLayoutData->SetTitleLayout(i, list_double_pane_t1( i ));
iLayoutData->SetTextLayout(list_double_pane_t2( 2 ));
iLayoutData->SetFirstIndicatorLayout(list_double_pane_g2(0));
- iLayoutData->SetSecondIndicatorLayout(list_double_pane_g1(1));
+ TInt variety = iScrollbar && !iScrollbar->IsStatic() ? 1 : 0;
+ iLayoutData->SetSecondIndicatorLayout(list_double_pane_g1(variety));
// Get the Row rect.
TAknLayoutRect layout;
@@ -183,3 +185,14 @@
}
+// -----------------------------------------------------------------------------
+// CHgDoubleTextList::HandleScrollbarVisibilityChange()
+// -----------------------------------------------------------------------------
+//
+void CHgDoubleTextList::HandleScrollbarVisibilityChange( TBool aVisible )
+ {
+ TInt variety = aVisible ? 1 : 0;
+ iLayoutData->SetSecondIndicatorLayout(list_double_pane_g1(variety));
+ }
+
+// End of file
--- a/uifw/ganes/src/HgGrid.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgGrid.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -673,8 +673,11 @@
void CHgGrid::SelectDefaultItem()
{
iSelectedIndex = CurrentIndex();
- FitSelectionToView();
- DrawDeferred();
+ if( iSelectedIndex >= 0 && iSelectedIndex < iItems.Count() )
+ {
+ FitSelectionToView();
+ DrawDeferred();
+ }
}
// -----------------------------------------------------------------------------
@@ -760,6 +763,10 @@
iLandScapeScrollingSupported = aSupportLandscapeScrolling;
}
+// -----------------------------------------------------------------------------
+// CHgGrid::ChangeSelectedIndex()
+// -----------------------------------------------------------------------------
+//
void CHgGrid::ChangeSelectedIndex( TInt aMove )
{
TInt nextIndex = 0;
@@ -792,4 +799,13 @@
iSelectedIndex = nextIndex;
}
+// -----------------------------------------------------------------------------
+// CHgGrid::HandleScrollbarVisibilityChange()
+// -----------------------------------------------------------------------------
+//
+void CHgGrid::HandleScrollbarVisibilityChange( TBool /*aVisible*/ )
+ {
+
+ }
+
// End of File
--- a/uifw/ganes/src/HgList.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgList.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -399,11 +399,14 @@
//
void CHgList::SelectDefaultItem()
{
- iSelectedIndex = iCurrentRow;
- FitSelectionToView();
- SelectionChanged();
-
- DrawDeferred();
+ if( iCurrentRow >= 0 && iCurrentRow < iItems.Count() )
+ {
+ iSelectedIndex = iCurrentRow;
+ FitSelectionToView();
+ SelectionChanged();
+
+ DrawDeferred();
+ }
}
TInt CHgList::CurrentIndex()
--- a/uifw/ganes/src/HgScroller.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgScroller.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -207,6 +207,9 @@
{
if( aIndex >= 0 && aIndex < iItems.Count() )
{
+ iSelectedIndex = iItems.Count() - 1;
+ FitSelectionToView();
+
iSelectedIndex = aIndex;
// Move view position so that it is fully visible.
FitSelectionToView();
@@ -540,12 +543,16 @@
{
if( iScrollbar && iItemCount )
{
+ TBool prevStatic = iScrollbar->IsStatic();
iScrollbar->InitScrollBarL( Rect(),
TotalSize(),
TSize(iWidth, iHeight),
iLandscapeScrolling);
iScrollbar->SetViewPosition( iViewPosition - TPoint(iWidth/2, iHeight/2));
+
+ if(prevStatic != iScrollbar->IsStatic())
+ HandleScrollbarVisibilityChange(iScrollbar->IsStatic());
}
}
// -----------------------------------------------------------------------------
@@ -1755,5 +1762,4 @@
}
}
-
// End of File
--- a/uifw/ganes/src/HgSingleGraphicList.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgSingleGraphicList.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -23,6 +23,7 @@
#include "HgIndicatorManager.h"
#include "HgDrawUtils.h"
#include "HgConstants.h"
+#include "HgScrollbar.h"
#include <AknsUtils.h>
#include <AknUtils.h>
@@ -87,7 +88,8 @@
for(TInt i = 0; i <= KMaxNumberOfTitleIndicators; ++i)
iLayoutData->SetTitleLayout( i, list_single_graphic_pane_t1( i ));
iLayoutData->SetFirstIndicatorLayout(list_single_graphic_pane_g3(0));
- iLayoutData->SetSecondIndicatorLayout(list_single_graphic_pane_g2(1));
+ TInt variety = iScrollbar && !iScrollbar->IsStatic() ? 1 : 0;
+ iLayoutData->SetSecondIndicatorLayout(list_single_graphic_pane_g2(variety));
// Get the Row rect.
TAknLayoutRect layout;
@@ -174,4 +176,14 @@
}
+// -----------------------------------------------------------------------------
+// CHgSingleGraphicList::HandleScrollbarVisibilityChange()
+// -----------------------------------------------------------------------------
+//
+void CHgSingleGraphicList::HandleScrollbarVisibilityChange( TBool aVisible )
+ {
+ TInt variety = aVisible ? 1 : 0;
+ iLayoutData->SetSecondIndicatorLayout(list_single_graphic_pane_g2(variety));
+ }
+
// End of file
--- a/uifw/ganes/src/HgSingleLargeList.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgSingleLargeList.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -23,6 +23,7 @@
#include "HgIndicatorManager.h"
#include "HgDrawUtils.h"
#include "HgConstants.h"
+#include "HgScrollbar.h"
#include <AknsUtils.h>
#include <AknUtils.h>
@@ -87,7 +88,8 @@
for(TInt i = 0; i <= KMaxNumberOfTitleIndicators; ++i)
iLayoutData->SetTitleLayout( i, list_single_large_graphic_pane_t1( i ));
iLayoutData->SetFirstIndicatorLayout(list_single_large_graphic_pane_g3(0));
- iLayoutData->SetSecondIndicatorLayout(list_single_large_graphic_pane_g2(1));
+ TInt variety = iScrollbar && !iScrollbar->IsStatic() ? 1 : 0;
+ iLayoutData->SetSecondIndicatorLayout(list_single_large_graphic_pane_g2(variety));
// Get the Row rect.
TAknLayoutRect layout;
@@ -175,6 +177,14 @@
}
-
+// -----------------------------------------------------------------------------
+// CHgSingleLargeList::HandleScrollbarVisibilityChange()
+// -----------------------------------------------------------------------------
+//
+void CHgSingleLargeList::HandleScrollbarVisibilityChange( TBool aVisible )
+ {
+ TInt variety = aVisible ? 1 : 0;
+ iLayoutData->SetSecondIndicatorLayout(list_single_large_graphic_pane_g2(variety));
+ }
// End of file
--- a/uifw/ganes/src/HgSingleTextList.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgSingleTextList.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -21,6 +21,7 @@
#include "HgLayoutData.h"
#include "HgIndicatorManager.h"
#include "HgDrawUtils.h"
+#include "HgScrollbar.h"
#include <AknsUtils.h>
#include <AknUtils.h>
@@ -73,7 +74,8 @@
for(TInt i = 0; i <= KMaxNumberOfTitleIndicators; ++i)
iLayoutData->SetTitleLayout( i, list_single_pane_t1( i ) );
iLayoutData->SetFirstIndicatorLayout(list_single_pane_g2(0));
- iLayoutData->SetSecondIndicatorLayout(list_single_pane_g1(1));
+ TInt variety = iScrollbar && !iScrollbar->IsStatic() ? 1 : 0;
+ iLayoutData->SetSecondIndicatorLayout(list_single_pane_g1(variety));
// Get the Row rect.
TAknLayoutRect layout;
@@ -155,4 +157,14 @@
}
-// EOF
+// -----------------------------------------------------------------------------
+// CHgSingleTextList::HandleScrollbarVisibilityChange()
+// -----------------------------------------------------------------------------
+//
+void CHgSingleTextList::HandleScrollbarVisibilityChange( TBool aVisible )
+ {
+ TInt variety = aVisible ? 1 : 0;
+ iLayoutData->SetSecondIndicatorLayout(list_single_pane_g1(variety));
+ }
+
+// End of file
--- a/uifw/ganes/src/HgSingleTextListWithIcon.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgSingleTextListWithIcon.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -21,6 +21,7 @@
#include "HgLayoutData.h"
#include "HgIndicatorManager.h"
#include "HgDrawUtils.h"
+#include "HgScrollbar.h"
#include <AknsUtils.h>
#include <AknUtils.h>
@@ -33,7 +34,7 @@
using namespace AknLayoutScalable_Avkon;
// -----------------------------------------------------------------------------
-// CHgSingleTextList::NewL()
+// CHgSingleTextListWithIcon::NewL()
// -----------------------------------------------------------------------------
//
EXPORT_C CHgSingleTextListWithIcon* CHgSingleTextListWithIcon::NewL(
@@ -62,7 +63,7 @@
}
// -----------------------------------------------------------------------------
-// CHgSingleTextList::HandleSizeChanged()
+// CHgSingleTextListWithIcon::HandleSizeChanged()
// -----------------------------------------------------------------------------
//
void CHgSingleTextListWithIcon::HandleSizeChanged()
@@ -73,7 +74,8 @@
for(TInt i = 0; i <= KMaxNumberOfTitleIndicators; ++i)
iGraphicLayoutData->SetTitleLayout( i, list_single_graphic_pane_t1( i ));
iGraphicLayoutData->SetFirstIndicatorLayout(list_single_graphic_pane_g3(0));
- iGraphicLayoutData->SetSecondIndicatorLayout(list_single_graphic_pane_g2(1));
+ TInt variety = iScrollbar && !iScrollbar->IsStatic() ? 1 : 0;
+ iGraphicLayoutData->SetSecondIndicatorLayout(list_single_graphic_pane_g2(variety));
// Get the Row rect.
TAknLayoutRect layout;
@@ -89,7 +91,7 @@
}
// -----------------------------------------------------------------------------
-// CHgSingleTextList::DrawItem()
+// CHgSingleTextListWithIcon::DrawItem()
// -----------------------------------------------------------------------------
//
void CHgSingleTextListWithIcon::DrawItem( TInt aIndex, const TRect& aRect ) const
@@ -146,7 +148,7 @@
}
// -----------------------------------------------------------------------------
-// CHgSingleTextList::CHgSingleTextList()
+// CHgSingleTextListWithIcon::CHgSingleTextList()
// -----------------------------------------------------------------------------
//
CHgSingleTextListWithIcon::CHgSingleTextListWithIcon( TInt aItemCount,
@@ -156,11 +158,25 @@
SetFlags( EHgScrollerFlatStatusPane ); // Set Flat status pane on
}
+// -----------------------------------------------------------------------------
+// CHgSingleTextListWithIcon::CHgSingleTextList()
+// -----------------------------------------------------------------------------
+//
void CHgSingleTextListWithIcon::ConstructL( const TRect& aRect, RWsSession* aSession )
{
iGraphicLayoutData = CHgListLayoutData::NewL();
CHgList::ConstructL( aRect, aSession );
}
+// -----------------------------------------------------------------------------
+// CHgSingleTextListWithIcon::HandleScrollbarVisibilityChange()
+// -----------------------------------------------------------------------------
+//
+void CHgSingleTextListWithIcon::HandleScrollbarVisibilityChange( TBool aVisible )
+ {
+ CHgSingleTextList::HandleScrollbarVisibilityChange(aVisible);
+ TInt variety = aVisible ? 1 : 0;
+ iGraphicLayoutData->SetSecondIndicatorLayout(list_single_graphic_pane_g2(variety));
+ }
-// EOF
+// End of file
--- a/uifw/ganes/src/HgVgButton.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgVgButton.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -169,8 +169,18 @@
{
TRgb color(KRgbWhite);
color.SetAlpha(aAlpha * 255.0f);
- HgVgHelper::DrawImageColorized(iImage, color, iPosition, aWindowRect, EFalse);
+ HgVgHelper::DrawImageColorized(iImage, color, iPosition, aWindowRect, EFalse, iLandscape);
}
}
+// -----------------------------------------------------------------------------
+// CHgVgButton::EnableLanscapeRendering()
+// -----------------------------------------------------------------------------
+//
+void CHgVgButton::EnableLandscapeRendering(TBool aEnabled)
+{
+ iLandscape = aEnabled;
+}
+
+
// End of File
--- a/uifw/ganes/src/HgVgEGL.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgVgEGL.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -280,12 +280,11 @@
// CHgVgEGL::GetSurfaceToBitmap()
// ---------------------------------------------------------------------------
//
-CFbsBitmap* CHgVgEGL::GetSurfaceToBitmap(const TRect& aRect) const
+CFbsBitmap* CHgVgEGL::GetSurfaceToBitmap(const TRect& aRect, TBool aLandscape) const
{
// make sure every thing is in back buffer
vgFinish();
- VGuint dataStride = 4 * aRect.Width();
CFbsBitmap* bitmap = new CFbsBitmap();
@@ -293,23 +292,49 @@
{
// create temporary buffer for data
RBuf8 buf;
- buf.Create(aRect.Height() * dataStride);
+ buf.Create(aRect.Width() * aRect.Height() * 4);
buf.Fill(0xFF);
- // read data from vg (this is sloooww)
- vgReadPixels((void*)buf.Ptr(),
- dataStride, VG_sARGB_8888, 0, 0, aRect.Width(), aRect.Height());
+ // read data back from vg (this is sloooww)
+ VGint dataStride = 0;
+ if (aLandscape)
+ {
+ dataStride = 4 * aRect.Height();
+ vgReadPixels((void*)buf.Ptr(),
+ dataStride, VG_sARGB_8888, 0, 0, aRect.Height(), aRect.Width());
+ }
+ else
+ {
+ dataStride = 4 * aRect.Width();
+ vgReadPixels((void*)buf.Ptr(),
+ dataStride, VG_sARGB_8888, 0, 0, aRect.Width(), aRect.Height());
+ }
// because of bug in vg driver we need to swap memory using for loop, because
- // negative datastrides case crash
+ // negative datastrides cause crash
bitmap->Create(TSize(aRect.Width(), aRect.Height()), EColor16MA);
bitmap->BeginDataAccess();
- TUint8* ptrTrg = (TUint8*)bitmap->DataAddress();
- TUint8* ptrSrc = (TUint8*)buf.Ptr();
- for (TInt i = 0; i < aRect.Height(); i++)
+ if (!aLandscape)
{
- Mem::Copy(ptrTrg + dataStride * i,
- ptrSrc + dataStride * (aRect.Height() - i - 1), dataStride);
+ TUint8* ptrTrg = (TUint8*)bitmap->DataAddress();
+ TUint8* ptrSrc = (TUint8*)buf.Ptr();
+ for (TInt i = 0; i < aRect.Height(); i++)
+ {
+ Mem::Copy(ptrTrg + dataStride * i,
+ ptrSrc + dataStride * (aRect.Height() - i - 1), dataStride);
+ }
+ }
+ else
+ {
+ TUint32* ptrTrg = (TUint32*)bitmap->DataAddress();
+ TUint32* ptrSrc = (TUint32*)buf.Ptr();
+ for (TInt i = 0; i < aRect.Height(); i++)
+ {
+ for (TInt j = 0; j < aRect.Width(); j++)
+ {
+ ptrTrg[(aRect.Height() - i - 1)*aRect.Width()+(aRect.Width()-j-1)] = ptrSrc[j*aRect.Height()+i];
+ }
+ }
}
bitmap->EndDataAccess();
buf.Close();
--- a/uifw/ganes/src/HgVgHelper.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgVgHelper.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -435,11 +435,16 @@
// ---------------------------------------------------------------------------
//
void DrawImage(VGImage aImage,
- const TPoint& aPos, const TRect& aWindowRect, TBool aCentered)
+ const TPoint& aPos, const TRect& aWindowRect, TBool aCentered, TBool aLandscape)
{
vgSeti(VG_MATRIX_MODE, VG_MATRIX_IMAGE_USER_TO_SURFACE);
vgLoadIdentity();
+ if (aLandscape)
+ {
+ vgTranslate(0.0f, 640.0f);
+ vgRotate(-90.0f);
+ }
if (!aCentered)
{
@@ -464,7 +469,7 @@
// ---------------------------------------------------------------------------
//
void DrawImageColorized(VGImage aImage, const TRgb& aColor,
- const TPoint& aPos, const TRect& aWindowRect, TBool aCentered)
+ const TPoint& aPos, const TRect& aWindowRect, TBool aCentered, TBool aLandscape)
{
VGfloat values[] = { 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0 };
@@ -477,7 +482,7 @@
vgSetfv(VG_COLOR_TRANSFORM_VALUES, KNumColorTransformValues, values);
vgSeti(VG_COLOR_TRANSFORM, VG_TRUE);
- HgVgHelper::DrawImage(aImage, aPos, aWindowRect, aCentered);
+ HgVgHelper::DrawImage(aImage, aPos, aWindowRect, aCentered, aLandscape);
vgSeti(VG_COLOR_TRANSFORM, VG_FALSE);
}
--- a/uifw/ganes/src/HgVgLabel.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgVgLabel.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -155,7 +155,7 @@
shadowColor.SetAlpha(255.0f * aAlpha);
//HgVgHelper::DrawImageColorized(iTextImage, shadowColor, iRect.iTl+TPoint(1,1), aWindowRect);
- HgVgHelper::DrawImageColorized(iTextImage, color, iRect.iTl, aWindowRect);
+ HgVgHelper::DrawImageColorized(iTextImage, color, iRect.iTl, aWindowRect, EFalse, iLandscape);
}
// -----------------------------------------------------------------------------
@@ -200,6 +200,10 @@
Draw(aClientRect, 1.0f);
}
+void CHgVgLabel::EnableLandscapeRendering(TBool enabled)
+{
+ iLandscape = enabled;
+}
// End of File
--- a/uifw/ganes/src/HgVgLetterPopup.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgVgLetterPopup.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -187,6 +187,11 @@
// draw background
vgSeti(VG_MATRIX_MODE, VG_MATRIX_PATH_USER_TO_SURFACE);
vgLoadIdentity();
+ if (iLandscape)
+ {
+ vgTranslate(0.0f, 640.0f);
+ vgRotate(-90.0f);
+ }
vgTranslate(iRect.iTl.iX, (aWindowRect.Height() - iRect.iBr.iY));
@@ -203,7 +208,7 @@
// draw letter
color.SetAlpha(aAlpha * 255.0f);
HgVgHelper::DrawImageColorized(iLetterImage,
- color, iRect.iTl, aWindowRect, EFalse);
+ color, iRect.iTl, aWindowRect, EFalse, iLandscape);
}
void CHgVgPopup::SetLayouts(const TAknWindowComponentLayout& aPopupLayout,
@@ -216,5 +221,10 @@
iParentRect = aParentRect;
}
+void CHgVgPopup::EnableLanscapeRendering(TBool enabled)
+{
+ iLandscape = enabled;
+}
+
// End of File
--- a/uifw/ganes/src/HgVgMediaWall.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgVgMediaWall.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -123,7 +123,7 @@
InitScreenL( aRect );
InitItemsL();
-
+
HandleViewPositionChanged(ETrue);
iCoeEnv->AddForegroundObserverL( *this );
@@ -135,9 +135,13 @@
AknTouchGestureFw::EAknTouchGestureFwGroupFlick);
ActivateL ( );
-
+#ifdef MEDIAWALL_ORIENTATION_FIX
+ iCoeEnv->WsSession().Flush();
+#endif
+
SetMopParent( aParent );
SetFlags( EHgVgMediaWallDrawToWindowGC | EHgVgMediaWallUninitialized );
+
}
// -----------------------------------------------------------------------------
@@ -145,10 +149,19 @@
// -----------------------------------------------------------------------------
//
EXPORT_C void CHgVgMediaWall::InitScreenL( const TRect& aRect )
- {
+ {
+
// Set the windows size
SetRect ( aRect );
-
+
+#ifdef MEDIAWALL_ORIENTATION_FIX
+ TSize screenSize = iCoeEnv->ScreenDevice()->SizeInPixels();
+ if (aRect == TRect(TPoint(0,0), screenSize) && iMediaWallStyle == EHgVgMediaWallStyleCoverflowFullScreen)
+ {
+ Window().FixNativeOrientation();
+ }
+#endif
+
}
// -----------------------------------------------------------------------------
@@ -162,8 +175,6 @@
{
return;
}
-
- //RDebug::Print(_L("\t\tMediaWall FirstIndexOnScreen=%d"), FirstIndexOnScreen());
if( !iAnimationTimer->IsActive() )
{
@@ -353,14 +364,10 @@
//
void CHgVgMediaWall::Draw ( const TRect& /*aRect*/ ) const
{
- //RDebug::Print(_L("CHgVgMediaWall::Draw begin"));
if(iFlags & EHgVgMediaWallUninitialized)
{
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
- AknsDrawUtils::DrawBackground( skin, cc, this, SystemGc(), TPoint(0,0),
- Rect(), KAknsDrawParamDefault );
+ FillSystemGcWithSkin( );
return;
}
@@ -379,8 +386,7 @@
}
else
{
- SystemGc().SetBrushColor(KRgbRed);
- SystemGc().Clear();
+ FillSystemGcWithSkin( );
}
}
else
@@ -398,23 +404,22 @@
{
if (iSurfaceBitmap)
{
- //RDebug::Print(_L("CHgVgMediaWall::Draw blit screenshot"));
-
SystemGc().BitBlt( Rect().iTl, iSurfaceBitmap );
}
else
{
- //RDebug::Print(_L("CHgVgMediaWall::Draw clear red"));
-
- // we should not get here, ever
- // still, clear with red color for debug purposes
- SystemGc().SetBrushColor(KRgbRed);
- SystemGc().Clear();
+ FillSystemGcWithSkin( );
}
}
+
+ }
- //RDebug::Print(_L("CHgVgMediaWall::Draw end"));
-
+void CHgVgMediaWall::FillSystemGcWithSkin( ) const
+ {
+ MAknsSkinInstance* skin = AknsUtils::SkinInstance();
+ MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
+ AknsDrawUtils::DrawBackground( skin, cc, this, SystemGc(), TPoint(0,0),
+ Rect(), KAknsDrawParamDefault );
}
// -----------------------------------------------------------------------------
@@ -1087,9 +1092,13 @@
if (!DrawAll())
return NULL;
-
- return iEGL->GetSurfaceToBitmap(iRect);
-
+
+#ifdef MEDIAWALL_ORIENTATION_FIX
+ return iEGL->GetSurfaceToBitmap(iRect, iMediaWallStyle == EHgVgMediaWallStyleCoverflowFullScreen);
+#else
+ return iEGL->GetSurfaceToBitmap(iRect, EFalse);
+#endif
+
}
// -----------------------------------------------------------------------------
@@ -1201,6 +1210,7 @@
//
void CHgVgMediaWall::HandleGainingForeground()
{
+ if(iIsForeground) return; // don't react to gaining foreground without losing it
// draw previous screenshot
DrawNow();
@@ -1228,6 +1238,7 @@
//
void CHgVgMediaWall::HandleLosingForeground()
{
+ if(!iIsForeground) return; // don't react to losing foreground without gaining it
// make sure we are not animating
HandleTransitionAnimationStop();
@@ -1277,8 +1288,6 @@
CHgVgMediaWall* self = const_cast<CHgVgMediaWall*>(this);
- //RDebug::Print(_L("\t\tMediaWall FirstIndexOnScreen=%d"), self->FirstIndexOnScreen());
-
if (!self->DrawAll())
return;
@@ -1385,6 +1394,17 @@
{
// update view position dependant stuff
HandleViewPositionChanged(ETrue);
+
+ // inform observer when needed
+ if (!iObserverNotified)
+ {
+ if (Abs(iSpring->GetX() - iSpring->EndX()) < KHalfItemWidth)
+ {
+ iObserverNotified = ETrue;
+ TRAP_IGNORE(
+ iSelectionObserver->HandleSelectL((int)iSpring->EndX(), this); )
+ }
+ }
}
}
@@ -1402,7 +1422,7 @@
iAnimationTimer->Cancel();
// handle view position change
- HandleViewPositionChanged();
+ HandleViewPositionChanged(EFalse);
}
}
@@ -1557,7 +1577,8 @@
TSize(MaxViewPosition(), 1), TSize(1, 1),
ETrue, CHgScroller::EHgScrollerScrollBar);
- iScrollBar->SetViewPosition( TPoint(iSelectedIndex, 0) );
+ iScrollBar->SetViewPosition( TPoint(iSelectedIndex, 0) );
+
}
// ---------------------------------------------------------------------------
@@ -1578,6 +1599,7 @@
iEGL->InitWindowSurfaceL(Window());
}
+
delete iRenderer; iRenderer = NULL;
delete iArtistLabel; iArtistLabel = NULL;
delete iAlbumLabel; iAlbumLabel = NULL;
@@ -1640,7 +1662,7 @@
iHideSKButton = CHgVgButton::NewL(rect.Rect().Size(), rect.Rect().iTl, *icon);
CleanupStack::PopAndDestroy(icon);
-
+
}
@@ -1900,13 +1922,20 @@
void CHgVgMediaWall::DrawScene()
{
- TReal t = iSpring->VelX() / iSpringVelocityToAnimationFactor;
- if (Abs(t) > 1.0f)
- t = t / Abs(t);
-
+ TReal springVel = iSpring->VelX();
+ if (iPointerDown)
+ springVel = iSpringDragVel;
+
+ TReal t = springVel / iSpringVelocityToAnimationFactor;
+ if (t > 1.0f)
+ t = 1.0f;
+ else if (t < -1.0f)
+ t = -1.0f;
+
if (AknLayoutUtils::LayoutMirrored())
t = -t;
+
iRenderer->SetCameraRotation(-t * iCameraRotationFactor);
if (iMediaWallStyle == EHgVgMediaWallStyleGrid)
@@ -1921,9 +1950,10 @@
}
else
{
+
iRenderer->Draw(iItems, /*iSelectedIndex*/iSpring->GetX(), iSpring->EndX(),
iSpring->GetInterpolatedX(), iAnimationAlpha, iAnimationState,
- iOpeningAnimationType, iMediaWallStyle, iSpring->StartX());
+ iOpeningAnimationType, iMediaWallStyle, iSpring->StartX(), springVel);
}
}
@@ -1941,10 +1971,17 @@
if (iMediaWallStyle != EHgVgMediaWallStyleGrid)
{
iSpring->SetEnd(iSelectedIndex, iSpring->EndY());
- }
+ }
+
+ iSpringVelAtDragStart = iSpringDragVel = iSpring->VelX();
}
+ else
+ {
+ iSpringVelAtDragStart = iSpringDragVel = 0;
+ }
iPointerDown = ETrue;
+ iDragFrames = 0;
iViewPositionAtDragStart = iSpring->GetX();
}
@@ -1978,6 +2015,14 @@
TReal x = iViewPositionAtDragStart + fDelta * iItemsToMoveOnFullScreenDrag;
iUpdateScrollBar = ETrue;
iSpring->Reset(x, 0);
+
+ // interpolate velocity during frame count to zero
+ TReal t = (TReal)iDragFrames/(TReal)KFramesToZeroVelocity;
+ if (t > 1.0f) t = 1.0f;
+ iSpringDragVel = iSpringVelAtDragStart * (1.0f - t);
+
+ iDragFrames++;
+
HandleViewPositionChanged(ETrue);
// draw view at new view position
DrawOpenVG();
@@ -2200,6 +2245,7 @@
iSpring->SetEnd(aX, aY);
iUpdateScrollBar = aUpdateScrollBar;
iAnimationState = EHgVgMediaWallAnimationStateTransition;
+ iObserverNotified = EFalse;
StartAnimationTimer();
}
@@ -2358,6 +2404,17 @@
KMediaWallFullScreenSpringMaxVelocity,
KPositionSnap, KMinSpringVelocity);
+#ifdef MEDIAWALL_ORIENTATION_FIX
+ iRenderer->EnableLandscapeMode(ETrue);
+ iAlbumLabel->EnableLandscapeRendering(ETrue);
+ iArtistLabel->EnableLandscapeRendering(ETrue);
+ iEmptyLabel->EnableLandscapeRendering(ETrue);
+ iSkinRenderer->EnableLanscapeRendering(ETrue);
+ iScrollBar->EnableLandscapeRendering(ETrue);
+ iHideSKButton->EnableLandscapeRendering(ETrue);
+ iLetterPopup->EnableLandscapeRendering(ETrue);
+#endif
+
}
// -----------------------------------------------------------------------------
@@ -2458,7 +2515,9 @@
iArtistLabel = CHgVgLabel::NewL( t1.TextRect() );
iAlbumLabel->SetLayout(l0, iRect);
- iArtistLabel->SetLayout(l1, iRect);
+ iArtistLabel->SetLayout(l1, iRect);
+
+
}
void CHgVgMediaWall::InitPopupL(TInt aLayoutVariant)
@@ -2469,7 +2528,8 @@
&ScreenFont( TCoeFont( KMediaWallTBonePopupFontSize, TCoeFont::EPlain )));
iLetterPopup->SetLayouts(AknLayoutScalable_Apps::cf0_flow_pane_g2(aLayoutVariant),
- AknLayoutScalable_Apps::cf0_flow_pane_t1(aLayoutVariant), iRect);
+ AknLayoutScalable_Apps::cf0_flow_pane_t1(aLayoutVariant), iRect);
+
}
// -----------------------------------------------------------------------------
@@ -2494,4 +2554,5 @@
}
+
// End of File
--- a/uifw/ganes/src/HgVgMediaWallRenderer.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgVgMediaWallRenderer.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -64,6 +64,29 @@
};
+VGfloat EaseOutQuad(VGfloat start, VGfloat end, VGfloat t)
+{
+ VGfloat s = t - 1.0f;
+ VGfloat f = -(s*s*s*s) + 1.0f;
+ return start * (1.0f - f) + end * f;
+}
+
+VGfloat EaseInQuad(VGfloat start, VGfloat end, VGfloat t)
+{
+ VGfloat s = t;
+ VGfloat f = (s*s*s*s);
+ return start * (1.0f - f) + end * f;
+}
+
+
+VGfloat BoundValue(VGfloat value, VGfloat min, VGfloat max)
+{
+ if (value > max) return max;
+ if (value < min) return min;
+
+ return value;
+}
+
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
@@ -436,11 +459,18 @@
//
void CHgVgMediaWallRenderer::DrawQuad(CHgVgMediaWallRenderer::TQuad* q, TBool aDrawMirrored)
{
- vgSeti(VG_MATRIX_MODE, VG_MATRIX_IMAGE_USER_TO_SURFACE);
+ vgSeti(VG_MATRIX_MODE, VG_MATRIX_IMAGE_USER_TO_SURFACE);
vgLoadIdentity();
- //vgTranslate(iOffset.iX, iOffset.iY);
+ if (iLandscape)
+ {
+ vgTranslate(0.0f, 640.0f);
+ vgRotate(-90.0f);
+ }
+
+ vgTranslate(iOffset.iX, iOffset.iY);
+
VGImage image = q->iImage;
if (q->iNoImage)
{
@@ -478,7 +508,8 @@
CHgVgMediaWall::THgVgAnimationState aState,
CHgVgMediaWall::THgVgOpeningAnimationType aSelectionAnimationType,
CHgVgMediaWall::THgVgMediaWallStyle /*aStyle*/,
- TReal aStartIndex)
+ TReal aStartIndex,
+ TReal aSpringVelocity)
{
TInt itemsOnScreen = 0;
@@ -486,7 +517,18 @@
aSelectedIndex, aNextIndex,
aViewPosition,
aAnimationAlpha,
- aState, aSelectionAnimationType, aStartIndex);
+ aState, aSelectionAnimationType, aStartIndex, aSpringVelocity);
+
+ vgSeti(VG_MATRIX_MODE, VG_MATRIX_PATH_USER_TO_SURFACE);
+ vgLoadIdentity();
+ vgRotate(-90.0f);
+ vgTranslate(0.0f, -640.0f);
+
+ vgSeti(VG_MATRIX_MODE, VG_MATRIX_IMAGE_USER_TO_SURFACE);
+ vgLoadIdentity();
+ vgRotate(-90.0f);
+ vgTranslate(0.0f, -640.0f);
+
TransformAndDraw(itemsOnScreen, aSelectionAnimationType);
}
@@ -586,6 +628,12 @@
{
vgSeti(VG_MATRIX_MODE, VG_MATRIX_PATH_USER_TO_SURFACE);
vgLoadIdentity();
+ if (iLandscape)
+ {
+ vgTranslate(0.0f, 640.0f);
+ vgRotate(-90.0f);
+ }
+
//vgTranslate(iOffset.iX, iOffset.iY);
vgScale(aWidth, aHeight);
vgSetPaint(iGroundPaint, VG_FILL_PATH);
@@ -753,12 +801,13 @@
// ---------------------------------------------------------------------------
//
TInt CHgVgMediaWallRenderer::SetupQuads(RPointerArray<CHgVgItem>& aItems,
- TInt aSelectedIndex, TReal aNextIndex,
+ TInt aSelectedIndex, TReal /*aNextIndex*/,
VGfloat aViewPosition,
VGfloat aAnimationAlpha,
CHgVgMediaWall::THgVgAnimationState aState,
CHgVgMediaWall::THgVgOpeningAnimationType aOpeningAnimationType,
- TReal aStartIndex)
+ TReal /*aStartIndex*/,
+ TReal aSpringVelocity)
{
@@ -796,6 +845,9 @@
TInt itemsOnScreen = 0;
TInt currentRow = (TInt)aViewPosition - KSelectedItemIndex;
+ TReal zAlpha = Abs(aSpringVelocity / KSpringVelocityToZAlpha);
+ VGfloat zNear = HgVgHelper::Lerp(iZFar, iZNear, 1.0f - BoundValue(zAlpha, 0, 1));
+
while (itemsOnScreen < iQuads.Count())
{
TInt itemIndex = currentRow + i;
@@ -827,23 +879,24 @@
q->iX = leftX - step * (leftIndex - fi);
- if (aStartIndex != aNextIndex)
+ /*if (aStartIndex != aNextIndex)
{
// if start and next index are not same, we can just interpolate
// items at these indices.
if (itemIndex == (TInt)aStartIndex ||
itemIndex == (TInt)aNextIndex)
{
- q->iZ = HgVgHelper::Lerp((VGfloat)iZNear, (VGfloat)iZFar, Abs(q->iX / leftX));
+ q->iZ = EaseInQuad((VGfloat)zNear, (VGfloat)iZFar, BoundValue(Abs(q->iX / leftX), 0, 1));
q->iZ = Min(q->iZ, (VGfloat)iZFar);
}
}
- else
+ else*/
{
// in this case we are just dragging and startindex and left index are
// same so we need to interpolate z for all items coming/leaving center
// of the screen.
- q->iZ = HgVgHelper::Lerp((VGfloat)iZNear, (VGfloat)iZFar, Abs(q->iX / leftX));
+
+ q->iZ = EaseInQuad((VGfloat)zNear, (VGfloat)iZFar, BoundValue(Abs(q->iX / leftX), 0, 1));
q->iZ = Min(q->iZ, (VGfloat)iZFar);
}
@@ -1139,4 +1192,10 @@
iFlipXY = aEnabled;
}
+void CHgVgMediaWallRenderer::EnableLandscapeMode(TBool enabled)
+{
+ iLandscape = enabled;
+}
+
+
// End of File
--- a/uifw/ganes/src/HgVgScrollBar.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgVgScrollBar.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -169,7 +169,7 @@
const TSize& /*aSize*/, const TRect& aWindowRect, TReal aAlpha) const
{
TRgb color(255, 255, 255, aAlpha * 255.0f);
- HgVgHelper::DrawImageColorized(aImage, color, aPosition, aWindowRect, EFalse);
+ HgVgHelper::DrawImageColorized(aImage, color, aPosition, aWindowRect, EFalse, iLandscape);
}
TBool CHgVgScrollBar::IsEnabled() const
@@ -195,6 +195,10 @@
iScrollbar->InitScrollBarL(aScrollbarRect, aTotalSize, aViewSize, aLandscapeScrolling);
}
+void CHgVgScrollBar::EnableLandscapeRendering(TBool aEnabled)
+{
+ iLandscape = aEnabled;
+}
// End of File
--- a/uifw/ganes/src/HgVgSkinRenderer.cpp Fri Mar 12 15:43:43 2010 +0200
+++ b/uifw/ganes/src/HgVgSkinRenderer.cpp Mon Mar 15 12:41:34 2010 +0200
@@ -137,7 +137,13 @@
//
void CHgVgSkinRenderer::Draw() const
{
- HgVgHelper::DrawImage(iSkinImage, TPoint(0, 0), iRect);
+ HgVgHelper::DrawImage(iSkinImage, TPoint(0, 0), iRect, EFalse, iLandscape);
}
+void CHgVgSkinRenderer::EnableLanscapeRendering(TBool aLandscape)
+{
+ iLandscape = aLandscape;
+}
+
+
// End of File