diff -r fb3763350a08 -r 4d54b72983ae idlehomescreen/widgetmanager/inc/wmconfiguration.h --- a/idlehomescreen/widgetmanager/inc/wmconfiguration.h Fri Jan 22 09:35:14 2010 +0200 +++ b/idlehomescreen/widgetmanager/inc/wmconfiguration.h Tue Jan 26 11:48:23 2010 +0200 @@ -54,13 +54,17 @@ public: // API /** - * portal button methods + * portal button methods. This - along with the parameter - + * represents the action that the portal button is configured + * to do when pressed. The portal button itself should contain + * the execution code itself. */ enum TMethod { ENone = 0, // no method EHttp, // open browser to a certain page - EWidget // open given widget with params + EWidget, // open given widget with params + EApplication // launch an application }; /** @@ -76,19 +80,12 @@ /** * Icon to be displayed on a portal button - * Logo syntax follows the widget icon syntax in MHsContentInfo + * Logo syntax follows the widget icon syntax in CWmImageConverter * @param aIndex index of the button, starting at 0 */ const TDesC& PortalButtonIcon( TInt aIndex ); /** - * Bundle ID related to this button - * parameter is valid if this button launches an application - * @param aIndex index of the button, starting at 0 - */ - const TDesC& PortalButtonBundleId( TInt aIndex ); - - /** * Portal button action method. * Defines what happens when the portal button is pressed. * @param aIndex index of the button, starting at 0 @@ -96,9 +93,19 @@ TMethod PortalButtonPrimaryMethod( TInt aIndex ); /** + * Service name for the primary method. + * For EHttp this is unused. + * For EWidget, this is the widget Bundle ID. + * For EApplication, this is the application name. + * @param aIndex index of the button, starting at 0 + */ + const TDesC& PortalButtonPrimaryService( TInt aIndex ); + + /** * parameters related to the method. * For EHttp this is the HTTP address - * for EWidget the parameters passed to the widget + * For EWidget the parameters passed to the widget + * For EApplication the params passed to the app. * @param aIndex index of the button, starting at 0 */ const TDesC& PortalButtonPrimaryParams( TInt aIndex ); @@ -112,18 +119,28 @@ TMethod PortalButtonSecondaryMethod( TInt aIndex ); /** + * Service name for the primary method. + * For EHttp this is unused. + * For EWidget, this is the widget Bundle ID. + * For EApplication, this is the application name. + * @param aIndex index of the button, starting at 0 + */ + const TDesC& PortalButtonSecondaryService( TInt aIndex ); + + /** * Parameters for Secondary method. Like Primary method * Works like Primary params. * @param aIndex index of the button, starting at 0 */ const TDesC& PortalButtonSecondaryParams( TInt aIndex ); - private: // New functions + void LoadConfigurationL(); TInt FindCorrectLanguageId(); HBufC* ReadParameterL( TInt aKey ); HBufC* ReadLocalisedParameterL( TInt aOffset ); + void IndexConversion( TInt& aIndex ); private: @@ -144,29 +161,45 @@ TInt iLanguageIndex; /** - * OviStore widget bundle ID + * OVI store button text */ - HBufC* iOviStoreBundleId; + HBufC* iOviButtonTitle; /** - * OviStore widget client param + * OVI store button icon + */ + HBufC* iOviButtonIcon; + + /** + * OVI store button browser Url + * (browser is used if OVI client is not working) + */ + HBufC* iOviButtonUrl; + + /** + * OVI store button widget client param */ HBufC* iOviStoreClientParam; /** - * Localized Url to start browser + * OVI store button widget bundle ID */ - HBufC* iOviStoreUrl; + HBufC* iOviStoreBundleId; /** - * Localised OVI store text + * OPERATOR button text */ - HBufC* iOviStoreText; + HBufC* iOperatorButtonTitle; /** - * OVI store icon + * OPERATOR store icon */ - HBufC* iOviStoreIcon; + HBufC* iOperatorButtonIcon; + + /** + * OPERATOR store button browser Url + */ + HBufC* iOperatorButtonUrl; };