--- a/idlehomescreen/widgetmanager/inc/wmmaincontainer.h Wed Sep 15 12:00:00 2010 +0300
+++ b/idlehomescreen/widgetmanager/inc/wmmaincontainer.h Wed Oct 13 14:18:30 2010 +0300
@@ -38,7 +38,7 @@
class CAknSearchField;
class CCoeControl;
class CAknSearchField;
-class CWmStore;
+class CWmPortalButton;
class CWmMainContainerView;
class CWmConfiguration;
@@ -94,6 +94,11 @@
TBool IsLoadingWidgets();
/**
+ * @return true, if portal button is currently selected
+ */
+ TBool PortalSelected();
+
+ /**
* @return true, if a widget in list is currently selected
*/
TBool WidgetSelected();
@@ -169,9 +174,14 @@
void UninstallWidgetL();
/**
- * Store menu command.
+ * opens currently selected portal
*/
- void HandleStoreCommandL();
+ void OpenPortalL();
+
+ /**
+ * Selection key (middle soft key)
+ */
+ void SelectL();
/**
* Show widget manager help
@@ -216,6 +226,12 @@
* @see CCoeControl::HandlePointerEventL
*/
void HandlePointerEventL( const TPointerEvent& aPointerEvent );
+
+ /**
+ * Moves focus to the OVI button
+ * @param aIndex 0=first button, 1=second (if it exists)
+ */
+ void SetFocusToPortalButton( TInt aIndex );
/**
* Moves focus to the widgets list, alternatively also setting the currently
@@ -236,6 +252,17 @@
* To set iClosingDown. See above.
*/
void SetClosingDown( TBool aClosingDown );
+
+ /**
+ * access to WM configuration
+ */
+ CWmConfiguration& Configuration();
+
+ /**
+ * Process foregound events.
+ * @param aForeground ETrue indicates foreground
+ */
+ void ProcessForegroundEvent( TBool aForeground );
/**
* access to WM list
@@ -287,22 +314,28 @@
private: // New functions
- void DisplayAndLaunchStoresL();
- static void CleanupIconArray( TAny* aIconArray );
-
void AddControlL( CCoeControl* aControl, TInt aControlId );
void InitializeControlsL( const TRect& aRect );
void LayoutControls();
void StartLoadingWidgetsL();
void RemoveCtrlsFromStack();
+ void UpdateFocusMode();
+ void ResetFocus( TDrawNow aDrawNow = ENoDrawNow );
CCoeControl* FindChildControlByPoint( const TPoint& aPoint );
void HandleFindSizeChanged();
+ TKeyResponse MoveFocusByKeys(
+ const TKeyEvent& aKeyEvent,
+ TEventCode aType );
+ TKeyResponse HandleButtonKeyEventL(
+ const TKeyEvent& aKeyEvent,
+ TEventCode aType );
TKeyResponse HandleListKeyEventL(
const TKeyEvent& aKeyEvent,
TEventCode aType );
TKeyResponse HandleSearchKeyEventL(
const TKeyEvent& aKeyEvent,
TEventCode aType );
+ TInt OperatorButtonHigherPriority( TInt aIndex );
public: // from MWmWidgetloaderObserver
void LoadDoneL( TBool aWidgetListChanged );
@@ -333,23 +366,55 @@
* background
*/
CAknsBasicBackgroundControlContext* iBgContext;
+
+ /**
+ * portal button
+ * (if there is only one button, this is it)
+ */
+ CWmPortalButton* iPortalButtonOne;
/**
+ * portal button
+ * (if there is only one button, this is NULL)
+ */
+ CWmPortalButton* iPortalButtonTwo;
+
+ /** whether we are orientated in landscape */
+ TBool iLandscape;
+
+ /** whether we have mirrored layout */
+ TBool iMirrored;
+
+ /** focus modes */
+ enum TWmFocusMode
+ {
+ ENowhere,
+ EPortal,
+ EList,
+ EFind
+ };
+
+ /**
+ * current widget manager focus mode
+ */
+ TWmFocusMode iFocusMode;
+
+ /**
* AO for loading widgets into the list UI
*/
CWmWidgetLoaderAo* iWidgetLoader;
-
- /**
- * Currectly selected store.
- */
- CWmStore* iSelectedStore;
-
+
/**
* If this is set to ETrue it means wmview is closing and all user inputs
* should be ignored.
*/
TBool iClosingDown;
+ /**
+ * The configuration
+ */
+ CWmConfiguration* iConfiguration;
+
#ifdef _WM_UNIT_TEST
friend class CWmUnitTest;
#endif