The purpose of Speed Dial Utility Control API is to set contact phone numbers as Speed Dial entries. The user can assign keys one to nine for numbers stored in the Personal Directory to be used as speed dialing numbers. This document is valid for S60 3rd Edition, Feature Pack 2.

API description

Speed Dial Utility Control API is used to save or remove a Speed Dial number using grid control as well as to save a Speed Dial number without using the grid control. It is also used to initialize the Speed Dial Control.

Use cases

There are two API use cases of this module:

  • Assigning a Speed Dial number

  • Removing a Speed Dial number

API class structure

Using Speed Dial Utility Control API

Assigning a Speed Dial number

When the client application wants to assign a contact to a particular speed dial index, AssignDialIndexL function from Speed Dial Utility Control API is used. This API takes a speed dial index as the parameter. If the given speed dial index is already assigned, it asks for confirmation from the user to remove the existing contact and to add a new one. If there is no contact assigned to the speed dial, the user can select any contact from the contact list and assign the speed dial index to it. See the usage of AssignDialIndexL function below.

              //Assigns the index data at the index in the phone book's contact entry. index is a index of array. Returns ETrue if successful and EFalse if fails.
TInt index(3); /* A valid speed dial index */
CSpdiaControl* speedDialCtrl = CSpdiaControl::NewL();
speedDialCtrl ->AssignDialIndexL(index);

Another way of assigning a SpeedDial Number from Speed Dial Utility Control API is by using ExecuteLD function. When the client application already has a contact item and it wants to assign a speed dial number to a particular field in that contact item. The API ExecuteLD() is provided for this purpose. The API client should provide a valid contact item id and the field index to which he wants the speed dial to be assigned. The following code explains how to use this API.

              TContactItemId  cId (3256); /* This should be a valid contact item id */
TInt fieldIdx (3); /* This should be a valid field id */
CSpdiaControl* speedDialCtrl = CSpdiaControl::NewL();
// Runs the Speed Dial Selection Grid Dialog, If accepted sets speed dial key to fieldIdx.
// cId a contact item id. fieldIdx index to aItems field set. Returns nonzero if accepted, zero if canceled.

speedDialCtrl ->ExecuteLD(cId,fieldIdx);
Related APIs
  • AssignDialIndexL
  • ExecuteLD
  • ExecuteLD()

Removing a Speed Dial number

RemoveDialIndexL API is used to remove the contact item assigned to a speed dial index. The speed dial index for removal is given as parameter to this API. The code below illustrates how to use it.

              TInt index(3); /* A valid speed dial index */
CSpdiaControl* speedDialCtrl = CSpdiaControl::NewL();

// Removes a speed dial from the Phonebook's contact entry. aIndex is a index of an array. Returns ETrue if success
speedDialCtrl ->RemoveDialIndexL(index);

Error handling

Normal Symbian platform error handling practises should be used, including e.g. using cleanup stack and trap harness. Leaves and system wide error codes as function return values are used if the error is recoverable. A client application can handle these errors similarly as a normal Symbian platform application.