phonebookui/Phonebook2/ccapplication/ccacommlauncherplugin/inc/ccappcommlauncherlpadmodel.h
branchRCL_3
changeset 7 b3431bff8c19
parent 3 04ab22b956c2
child 8 5586b4d2ec3e
equal deleted inserted replaced
6:e8e3147d53eb 7:b3431bff8c19
   235      * Updates information if addresses are validated
   235      * Updates information if addresses are validated
   236      *
   236      *
   237      * @param aContactFieldInfo 
   237      * @param aContactFieldInfo 
   238      */    
   238      */    
   239     void UpdateAddressesValidationL( const CCmsContactFieldInfo& aContactFieldInfo );
   239     void UpdateAddressesValidationL( const CCmsContactFieldInfo& aContactFieldInfo );
   240    
   240     
   241 
       
   242 private: // New
       
   243 
       
   244     /**
       
   245      * Maps communication methods to icons in launchpad-listbox.
       
   246      *
       
   247      * @since S60 v5.0
       
   248      * @param aContactAction communication method
       
   249      * @return icon array index of the icon 
       
   250      */
       
   251     TInt MapCommMethodToIcon( 
       
   252         VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector aContactAction ) const;
       
   253 
       
   254     /**
       
   255      * Updates button's popup text
       
   256      *
       
   257      * @since S60 v5.0
       
   258      * @param aButtonIndex
       
   259      * @param aContactAction communication method
       
   260      * @param aContactField method
       
   261      */
       
   262     void CheckPopupTextL(
       
   263         const TInt aButtonIndex,
       
   264         const VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector aContactAction, 
       
   265         const CCmsContactField& aContactField );
       
   266 
       
   267     /**
       
   268      * Getter for button label text
       
   269      *
       
   270      * @since S60 v5.0
       
   271      * @param aContactAction communication method
       
   272      * @param aText descriptor the text will be copied to, needs size of at least KCCAppCommLauncherMaxButtonDataTextLength
       
   273      */    
       
   274     void ButtonTextL( 
       
   275         VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector aContactAction, 
       
   276         TDes& aText );
       
   277 
       
   278     /**
       
   279      * Replace the bitmap with original default bitmap. Supports only
       
   280      * ECmsPresenceVoIPNotification and ECmsPresenceChatNotification.
       
   281      * Will leave with KErrArgument if tried with other type.
       
   282      *
       
   283      * @since S60 v5.0
       
   284      * @param aBitmap, aMask bitmaps to be replaced
       
   285      * @param aServiceType service type identifying the bitmap
       
   286      */     
       
   287     void ReplaceWithDefaultIconL(
       
   288         CFbsBitmap*& aBitmap,
       
   289         CFbsBitmap*& aMask,
       
   290         const TUint32 aServiceType );
       
   291 
       
   292     /**
       
   293      * Draws find/show on map button
       
   294      *
       
   295      * @param aNumberOfAddresses number of addresses
       
   296      * @param aIndex communication method index 
       
   297      */    
       
   298     void AddressButtonL( const TInt aNumberOfAddresses, const TInt aIndex );
       
   299 
       
   300     /**
       
   301      * Updates addresses button popup text
       
   302      *
       
   303      * @since S60 v5.0
       
   304      * @param aButtonIndex
       
   305      * @param aContactAction communication method
       
   306      * @param aContactField method
       
   307      */
       
   308     void CheckAddressesPopupTextL(
       
   309         const TInt aButtonIndex,
       
   310         const VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector aContactAction, 
       
   311         const CCmsContactField& aContactField );
       
   312 
       
   313 private:
       
   314 
       
   315     /**
       
   316      * Private constructor
       
   317      */    
       
   318     CCCAppCommLauncherLPadModel( CCCAppCommLauncherContainer& aContainer,
       
   319     		CEikListBox& aListBox, 
       
   320             CCCAppCommLauncherPlugin& aPlugin );
       
   321 
       
   322     /**
       
   323      * ConstructL
       
   324      */    
       
   325     void ConstructL();        
       
   326     
   241     
   327     /**
   242     /**
   328      * Loads the VOIP Button Icon & Label 
   243      * Loads the VOIP Button Icon & Label 
   329      * Usecase : If we have only one voip service, the voip(Internet Call)
   244      * Usecase : If we have only one voip service, the voip(Internet Call)
   330      * button should have the Branded Icon of that Service and the label
   245      * button should have the Branded Icon of that Service and the label
   337      *          VOIP Buttton or not. We use KVOIPButtonImageSet && with the returnval
   252      *          VOIP Buttton or not. We use KVOIPButtonImageSet && with the returnval
   338      *          to know whether Image has been set or not
   253      *          to know whether Image has been set or not
   339      *          Will be used in   HandleNotifyChange
   254      *          Will be used in   HandleNotifyChange
   340      */
   255      */
   341     TInt LoadVoipButtonInfoL();
   256     TInt LoadVoipButtonInfoL();
       
   257    
       
   258 
       
   259 private: // New
       
   260 
       
   261     /**
       
   262      * Maps communication methods to icons in launchpad-listbox.
       
   263      *
       
   264      * @since S60 v5.0
       
   265      * @param aContactAction communication method
       
   266      * @return icon array index of the icon 
       
   267      */
       
   268     TInt MapCommMethodToIcon( 
       
   269         VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector aContactAction ) const;
       
   270 
       
   271     /**
       
   272      * Updates button's popup text
       
   273      *
       
   274      * @since S60 v5.0
       
   275      * @param aButtonIndex
       
   276      * @param aContactAction communication method
       
   277      * @param aContactField method
       
   278      */
       
   279     void CheckPopupTextL(
       
   280         const TInt aButtonIndex,
       
   281         const VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector aContactAction, 
       
   282         const CCmsContactField& aContactField );
       
   283 
       
   284     /**
       
   285      * Getter for button label text
       
   286      *
       
   287      * @since S60 v5.0
       
   288      * @param aContactAction communication method
       
   289      * @param aText descriptor the text will be copied to, needs size of at least KCCAppCommLauncherMaxButtonDataTextLength
       
   290      */    
       
   291     void ButtonTextL( 
       
   292         VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector aContactAction, 
       
   293         TDes& aText );
       
   294 
       
   295     /**
       
   296      * Replace the bitmap with original default bitmap. Supports only
       
   297      * ECmsPresenceVoIPNotification and ECmsPresenceChatNotification.
       
   298      * Will leave with KErrArgument if tried with other type.
       
   299      *
       
   300      * @since S60 v5.0
       
   301      * @param aBitmap, aMask bitmaps to be replaced
       
   302      * @param aServiceType service type identifying the bitmap
       
   303      */     
       
   304     void ReplaceWithDefaultIconL(
       
   305         CFbsBitmap*& aBitmap,
       
   306         CFbsBitmap*& aMask,
       
   307         const TUint32 aServiceType );
       
   308 
       
   309     /**
       
   310      * Draws find/show on map button
       
   311      *
       
   312      * @param aNumberOfAddresses number of addresses
       
   313      * @param aIndex communication method index 
       
   314      */    
       
   315     void AddressButtonL( const TInt aNumberOfAddresses, const TInt aIndex );
       
   316 
       
   317     /**
       
   318      * Updates addresses button popup text
       
   319      *
       
   320      * @since S60 v5.0
       
   321      * @param aButtonIndex
       
   322      * @param aContactAction communication method
       
   323      * @param aContactField method
       
   324      */
       
   325     void CheckAddressesPopupTextL(
       
   326         const TInt aButtonIndex,
       
   327         const VPbkFieldTypeSelectorFactory::TVPbkContactActionTypeSelector aContactAction, 
       
   328         const CCmsContactField& aContactField );
       
   329 
       
   330 private:
       
   331 
       
   332     /**
       
   333      * Private constructor
       
   334      */    
       
   335     CCCAppCommLauncherLPadModel( CCCAppCommLauncherContainer& aContainer,
       
   336     		CEikListBox& aListBox, 
       
   337             CCCAppCommLauncherPlugin& aPlugin );
       
   338 
       
   339     /**
       
   340      * ConstructL
       
   341      */    
       
   342     void ConstructL();        
   342     
   343     
   343     /**
   344     /**
   344      * Finds the number of services that support internet call 
   345      * Finds the number of services that support internet call 
   345      * by scanning all the services in the SPSettings Table.
   346      * by scanning all the services in the SPSettings Table.
   346      * @param aServiceId - Stores the last matched service id    
   347      * @param aServiceId - Stores the last matched service id    
   364                 CFbsBitmap*& aBitmap, CFbsBitmap*& aMask, HBufC*& aLocalisedServiceName );
   365                 CFbsBitmap*& aBitmap, CFbsBitmap*& aMask, HBufC*& aLocalisedServiceName );
   365     
   366     
   366     /**
   367     /**
   367      * Handles SPSettings Changes
   368      * Handles SPSettings Changes
   368      */            
   369      */            
   369 		void DoHandleNotifyChangeL() ;
   370 	void DoHandleNotifyChangeL() ;
       
   371 	
       
   372 	/**
       
   373      * Get the size of service bitmap
       
   374 	 * @return - Size of the bitmap
       
   375      */	
       
   376 	TSize GetServiceBitmapSize();
   370     
   377     
   371 private:
   378 private:
   372     //From MSPNotifyChangeObserver
   379     //From MSPNotifyChangeObserver
   373     void HandleNotifyChange( TServiceId aServiceId );
   380     void HandleNotifyChange( TServiceId aServiceId );
   374     void HandleError( TInt aError );
   381     void HandleError( TInt aError );
   400      */
   407      */
   401     TBool ClipFromBeginning(
   408     TBool ClipFromBeginning(
   402         TDes& aBuffer,
   409         TDes& aBuffer,
   403         TInt aItemIndex,
   410         TInt aItemIndex,
   404         TInt aSubCellNumber) const;
   411         TInt aSubCellNumber) const;
       
   412 
       
   413     /*
       
   414      * In Arabic variant the displaying of numbers in phonebook should follow 
       
   415      * the Arabic/Latin number setting that is found in General Settings > 
       
   416      * Phone > Language, So the second row text must be digits.
       
   417      * @param aContactField method
       
   418      */
       
   419     TBool IsPhoneNumber( const CCmsContactField& iContactField );
   405 
   420 
   406 private: // Data
   421 private: // Data
   407 
   422 
   408     /**
   423     /**
   409      * Array of button data
   424      * Array of button data