www.pudn.com > SystemSounds_Example_v1_0.zip > SystemSoundsView.cpp
/* * ============================================================================ * Name : CSystemSoundsView from SystemSoundsView.h * Part of : SystemSounds * Created : 06/12/2003 by Forum Nokia * Implementation notes: * Initial content was generated by Nokia Series 60 AppWizard. * Version : 1.0 * Copyright: Nokia * ============================================================================ */ // INCLUDE FILES #include#include #include #include "SystemSoundsView.h" #include "SystemSoundsContainer.h" #include "SystemSounds.hrh" // Definitions #define KWavSoundId 2 // ================= MEMBER FUNCTIONS ======================= // --------------------------------------------------------- // CSystemSoundsView::ConstructL(const TRect& aRect) // EPOC two-phased constructor // --------------------------------------------------------- // void CSystemSoundsView::ConstructL() { BaseConstructL( R_SYSTEMSOUNDS_VIEW1 ); // Create player iSoundPlayer = (STATIC_CAST(CAknAppUi*, CEikonEnv::Static()->AppUi()))->KeySounds(); // Add system wav to soundlist TRAPD(error, iSoundPlayer->AddAppSoundInfoListL( R_SYSTEM_WAV_SOUND )); if ( ( error != KErrAlreadyExists ) && ( error != KErrNone) ) User::LeaveIfError(error); } // --------------------------------------------------------- // CSystemSoundsView::~CSystemSoundsView() // ?implementation_description // --------------------------------------------------------- // CSystemSoundsView::~CSystemSoundsView() { if ( iContainer ) { AppUi()->RemoveFromViewStack( *this, iContainer ); } delete iContainer; } // --------------------------------------------------------- // TUid CSystemSoundsView::Id() // ?implementation_description // --------------------------------------------------------- // TUid CSystemSoundsView::Id() const { return KViewId; } // --------------------------------------------------------- // CSystemSoundsView::HandleCommandL(TInt aCommand) // ?implementation_description // --------------------------------------------------------- // void CSystemSoundsView::HandleCommandL(TInt aCommand) { if (aCommand>=EAvkonSIDNoSound && aCommand<=EAvkonSIDRingGoing) { TInt soundNumber=aCommand; // Play system sounds // Note that some of the sounds are played in the loudspeaker, // some in the earpiece (speaker) // These sounds follow the profiles. However, those system sounds // involving phone speaker, not loudspeaker will be played even in the silent mode. // You need to have the phone on the ear to hear it. if (iSoundPlayer)iSoundPlayer->PlaySound(soundNumber); } switch ( aCommand ) { case EAknSoftkeyBack: { AppUi()->HandleCommandL(EEikCmdExit); break; } case ESystemSoundsView1Cmd1: { TInt soundNumber=KWavSoundId; // Play system wav sound if (iSoundPlayer)iSoundPlayer->PlaySound(soundNumber); break; } default: { AppUi()->HandleCommandL( aCommand ); break; } } } // --------------------------------------------------------- // CSystemSoundsView::HandleClientRectChange() // --------------------------------------------------------- // void CSystemSoundsView::HandleClientRectChange() { if ( iContainer ) { iContainer->SetRect( ClientRect() ); } } // --------------------------------------------------------- // CSystemSoundsView::DoActivateL(...) // --------------------------------------------------------- // void CSystemSoundsView::DoActivateL( const TVwsViewId& /*aPrevViewId*/,TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/) { if (!iContainer) { iContainer = new (ELeave) CSystemSoundsContainer; iContainer->SetMopParent(this); iContainer->ConstructL( ClientRect() ); AppUi()->AddToStackL( *this, iContainer ); } } // --------------------------------------------------------- // CSystemSoundsView::HandleCommandL(TInt aCommand) // --------------------------------------------------------- // void CSystemSoundsView::DoDeactivate() { if ( iContainer ) { AppUi()->RemoveFromViewStack( *this, iContainer ); } delete iContainer; iContainer = NULL; } // End of File