ScShortcuts Engine Wrapper API
Article Metadata
Code Example
Source file: Media:ShortCutExample.zip
Article
Created: ltomuta
(16 Jun 2007)
Last edited: hamishwillee
(26 Jul 2012)
Note: :This API is not part of the public SDK. It can be found in the SDK API Plug-in.
Contents |
APIPurpose
This API can be used to change the softkey shortcuts in Active Idle Screen of the S60 3rd Edition phones.
Use cases
To assign shortcut for S60 Calendar application.In the active idle screen we will get left soft key option for launching Calendar
Example code
Header Files
#include<MScShortcutEngineWrapperObserver.h>
#include<cscshortcutenginewrapper.h>
Library : scshortcutenginewrapper.lib
Capabities Required : ReadUserData ReadDeviceData WriteDeviceData
- Derive your class from MScShortcutEngineWrapperObserver
- Provide implementations for MScShortcutEngineWrapperObserver::HandleShortcutEvent() and MScShortcutEngineWrapperObserver::HandleShortcutError() methods.
- Create an object for CScShortcutWrapper
- Call AsynchronouslyPrepareShortcutListL(RPointerArray&).If the list gets created successfully then MScShortcutEngineWrapperObserver::HandleShortcutEvent() will be called along with "EShortcutListComplete" event.
- Inside MScShortcutEngineWrapperObserver::HandleShortcutEvent() implementation call CScShortcutWrapper::SetShortcutL( ).The index which we pass as argument to the above mentioned API call will decide the application as to which we are creating the shorcut for.
RFs iSession;
CScShortcutEngineWrapper* iShortcut;
RPointerArray<CScWrapperShortcut> iPArray;
//In the ConstructL
iSession.Connect();
iShortcut=CScShortcutEngineWrapper::NewL(iSession,*this);
iShortcut->AsynchronouslyPrepareShortcutListL(iPArray);
//Implementing MScShortcutEngineWrapperObserver::HandleShortcutEvent() method
void CShortCutEngineUsage::HandleShortcutEvent( TScShortcutEvent aEvent )
{
if(aEvent==EShortcutListComplete)
{
//note here 1 is the index to denote that we are creating a shortcut for calendar application
iShortcut->SetShorcutL(CScShortcutEngineWrapper::EKeyTypeLeft,1)
}
}

