diff -r b63e8c2d8cff -r 604cd42065d1 securitydialogs/lockapp/src/lockappidlecontrol.cpp --- a/securitydialogs/lockapp/src/lockappidlecontrol.cpp Thu Jun 17 12:11:51 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,223 +0,0 @@ -/* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Idle (unlocked) UI - * -*/ - - -#include "lockappidlecontrol.h" -#include "lockappstatecontrolinterface.h" -#include "lockapputils.h" -#include "lockapplockednote.h" // keyguard notes -#include "lockappkeycapturecontroller.h" - -#include // general avkon resources - -#include // keyguard spesific resources - -#include // feature manager - -// from keyguard ui spesification, 6 sec. -const TInt KAknOfferKeyguardTimeout = 6000000; - -// Asterisk key code for the keylock -const TUint KStdKeyAsterisk = 42; -//const TUint KAknChineseAsterisk = 0xFF0A; - -// --------------------------------------------------------------------------- -// Standard Symbian OS construction sequence -// --------------------------------------------------------------------------- -CLockAppIdleControl* CLockAppIdleControl::NewL(MLockAppStateControl& aStateControl ) - { - CLockAppIdleControl* self = new (ELeave) CLockAppIdleControl( aStateControl ); - CleanupStack::PushL( self ); - self->ConstructL( ); - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------------------------- -// Constructor passes the reference of the main state control. -// --------------------------------------------------------------------------- -CLockAppIdleControl::CLockAppIdleControl( MLockAppStateControl& aStateControl ) : - CLockAppBaseControl( aStateControl ) - { - } - -// --------------------------------------------------------------------------- -// Destructor. -// --------------------------------------------------------------------------- -CLockAppIdleControl::~CLockAppIdleControl( ) - { - delete iOfferLockNote; - } - -// --------------------------------------------------------------------------- -// Idle UI constructor reserves localized resources, configures itself -// using CenRep and FeatureManager and reserves child controls. -// --------------------------------------------------------------------------- -void CLockAppIdleControl::ConstructL( ) - { - INFO( "CLockAppIdleControl::ConstructL started" ); - CLockAppBaseControl::ConstructL( ); - - iOfferLockNote = new (ELeave) CLockAppLockedNote(this); - iOfferLockNote->ConstructSleepingNoteL( R_KEYLOCK_OFFER_LOCK_NOTE ); - iOfferLockNote->ButtonGroupContainer().ButtonGroup()->AsControl()->DrawableWindow()->SetOrdinalPosition( 0, 2 ); - - // Setup key pattern matcher - if ( !SetupKeyPatternsWithPolicyL( EPolicyActivateKeyguard ) ) - { - INFO( "CLockAppIdleControl::ConstructL - No CenRep policy defined" ); - iKeyPattern->AddPattern( EStdKeyDevice0, KStdKeyAsterisk ); // LSK + * - } -#ifdef __WINS__ - iKeyPattern->AddPattern( EStdKeyDevice0, EStdKeyNkpAsterisk ); // LSK + * -#endif - - INFO( "CLockAppIdleControl::ConstructL completed" ); - } - -// --------------------------------------------------------------------------- -// Offers keylock. -// --------------------------------------------------------------------------- -void CLockAppIdleControl::OfferKeyLock( ) - { - ShowNote( iOfferLockNote, (CAknNoteDialog::TTimeout)KAknOfferKeyguardTimeout, CAknNoteDialog::ENoTone ); - } - -// --------------------------------------------------------------------------- -// Cancels offering keylock. -// --------------------------------------------------------------------------- -void CLockAppIdleControl::CancelOfferKeyLock( ) - { - CancelNote( ); - } - -// --------------------------------------------------------------------------- -// Activate control -// --------------------------------------------------------------------------- -void CLockAppIdleControl::HandleActivateEventL( TUint aEnvMask ) - { - RDebug::Printf( "%s %s (%u) value=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 ); - CLockAppBaseControl::HandleActivateEventL( aEnvMask ); - } - -// --------------------------------------------------------------------------- -// DeActivate control -// --------------------------------------------------------------------------- -void CLockAppIdleControl::HandleDeActivateEventL( TUint aEnvMask ) - { - CLockAppBaseControl::HandleDeActivateEventL( aEnvMask ); - CancelOfferKeyLock( ); - } - -// --------------------------------------------------------------------------- -// Idle UI key events are handled trough here. -// --------------------------------------------------------------------------- -TKeyResponse CLockAppIdleControl::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode /*aType*/ ) - { - RDebug::Printf( "%s %s (%u) aKeyEvent.iCode=%x 1=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, aKeyEvent.iCode, 1 ); - TKeyResponse keyResponse = EKeyWasNotConsumed; - if ( iActive ) - { - if ( iOfferLockNote->IsVisible( ) ) - { - // if keylock has been offered - switch ( aKeyEvent.iCode ) - { - case EKeyOK: - iStateControl.EnableKeyguardL( ETrue ); - keyResponse = EKeyWasConsumed; - break; - case EKeyLeftArrow: - case EKeyRightArrow: - case EKeyUpArrow: - case EKeyDownArrow: - case EKeyApplication: - keyResponse = EKeyWasConsumed; - break; - default: - break; - } - } - else - { - // keys pressed normally in idle - however keys are not captured - // this is where locking policy could be monitored to check keyguard activation - /*if ( aType == EEventKeyDown ) - { - switch ( iKeyPattern->HandleKeyEvent( aKeyEvent.iScanCode ) ) - { - case EPatternNoMatch: - case EPatternPrimaryMatch: - break; - case EPatternSecondaryMatch: - iStateControl.EnableKeyguardL( ETrue ); - keyResponse = EKeyWasConsumed; - break; - default: - break; - } - } - */ - } - } - return keyResponse; - } - -// --------------------------------------------------------------------------- -// Handle UI commands received from the child controls -// --------------------------------------------------------------------------- -void CLockAppIdleControl::ProcessCommandL(TInt aCommandId ) - { - // handle command - RDebug::Printf( "%s %s (%u) value=%x", __FILE__, __PRETTY_FUNCTION__, __LINE__, 0 ); - switch ( aCommandId ) - { - case EAknSoftkeyLock: - { - // user has accepted offer keyguard enquiry - lock keys - iStateControl.EnableKeyguardL( ETrue ); - } - break; - case EAknSoftkeyExit: - case KNoteCmdFocusLost: - { - // user has declined offer keyguard enquiry - cancel offer - CancelOfferKeyLock( ); - } - break; - default: - break; - } - } - -TInt CLockAppIdleControl::CountComponentControls( ) const - { - return 0; - } - -CCoeControl* CLockAppIdleControl::ComponentControl(TInt /*aIndex*/) const - { - return NULL; - } - -// --------------------------------------------------------------------------- -// Notification if layout changes. -// --------------------------------------------------------------------------- -void CLockAppIdleControl::HandleResourceChange(TInt aType ) - { - CCoeControl::HandleResourceChange( aType ); - }