meetingrequest/mrgui/mrfieldbuilderplugin/src/cesmrbooleanfield.cpp
branchRCL_3
changeset 12 4ce476e64c59
parent 11 0396474f30f5
child 13 8592a65ad3fb
--- a/meetingrequest/mrgui/mrfieldbuilderplugin/src/cesmrbooleanfield.cpp	Mon Mar 15 12:39:10 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/*
-* Copyright (c) 2007-2009 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:  ESMR boolean field implementation
-*
-*/
-
-#include "emailtrace.h"
-#include "cesmrbooleanfield.h"
-
-#include <eiklabel.h>
-#include <StringLoader.h>
-#include <avkon.hrh>
-#include <esmrgui.rsg>
-#include <AknUtils.h>
-#include "mesmrcalentry.h"
-#include "mesmrlistobserver.h"
-#include "mesmrfieldvalidator.h"
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CESMRBooleanField::NewL
-// ---------------------------------------------------------------------------
-//
-CESMRBooleanField* CESMRBooleanField::NewL( MESMRFieldValidator* aValidator )
-    {
-    FUNC_LOG;
-    CESMRBooleanField* self = new (ELeave) CESMRBooleanField( aValidator );
-    CleanupStack::PushL ( self );
-    self->ConstructL ( );
-    CleanupStack::Pop ( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRBooleanField::~CESMRBooleanField
-// ---------------------------------------------------------------------------
-//
-CESMRBooleanField::~CESMRBooleanField( )
-    {
-    FUNC_LOG;
-    //do nothing
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRBooleanField::InitializeL
-// ---------------------------------------------------------------------------
-//
-void CESMRBooleanField::InitializeL()
-    {
-    FUNC_LOG;
-    iLabel->SetFont ( iLayout->Font (iCoeEnv, iFieldId ) );
-    iLabel->SetLabelAlignment (CESMRLayoutManager::IsMirrored ( ) ? ELayoutAlignRight
-                                                                  : ELayoutAlignLeft );
-    AknLayoutUtils::OverrideControlColorL ( *iLabel, 
-                                            EColorLabelText,
-                                            iLayout->GeneralListAreaTextColor()  );
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRBooleanField::InternalizeL
-// ---------------------------------------------------------------------------
-//
-void CESMRBooleanField::InternalizeL( MESMRCalEntry& aEntry )
-    {
-    FUNC_LOG;
-    if (aEntry.IsStoredL ( ) ) // entry is already stored in db  
-        {
-        MESMRCalEntry::TESMRAlarmType alarmType;
-        TTime alarmTime;
-        aEntry.GetAlarmL (alarmType, alarmTime );
-
-        switch (alarmType )
-            {
-            //flow through
-            case MESMRCalEntry::EESMRAlarmAbsolute:
-            case MESMRCalEntry::EESMRAlarmRelative: // Show alarm as - ON
-                {
-                iStatus = ETrue;
-                }
-                break;
-                //flow through
-            case MESMRCalEntry::EESMRAlarmNotFound:
-            default: // Show alarm as - OFF
-                {
-                iStatus = EFalse;
-                }
-                break;
-            }
-        }
-    else // This is a new entry and default implementation is required
-        {
-        switch (aEntry.Type ( ) )
-            {
-            case MESMRCalEntry::EESMRCalEntryTodo: // To-do
-                {
-                TTime alarmTime;
-                MESMRCalEntry::TESMRAlarmType alarmType;
-                aEntry.GetAlarmL (alarmType, alarmTime );
-
-                // Change status to "ON" if alarm has been set by default
-                iStatus = alarmType != MESMRCalEntry::EESMRAlarmNotFound;
-                }
-                break;
-            // Flow through
-            case MESMRCalEntry::EESMRCalEntryMeetingRequest: // Meeting request
-            case MESMRCalEntry::EESMRCalEntryMeeting: // Meeting
-                {
-                iStatus = ETrue;// Change the status to "ON" for these dialog default
-                }
-                break;
-                
-            case MESMRCalEntry::EESMRCalEntryAnniversary: // Anniversary    
-                {
-                iStatus = ETrue;// Change the status to "ON" for these dialog default
-                }
-                break;
-                // Flow through
-            case MESMRCalEntry::EESMRCalEntryMemo: // Memo
-            case MESMRCalEntry::EESMRCalEntryReminder: // Reminder
-            
-            default:
-                iStatus = EFalse; // Change the status to "OFF" for these dialog default
-                break;
-            }
-        }
-    ResetFieldL ( );
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRBooleanField::OfferKeyEventL
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CESMRBooleanField::OfferKeyEventL(const TKeyEvent& aEvent,
-        TEventCode aType )
-    {
-    FUNC_LOG;
-    TKeyResponse response( EKeyWasNotConsumed);
-    if ( aType == EEventKey )
-        {
-        switch ( aEvent.iScanCode )
-            {
-            // Flowthrough, doesn't matter which key was pressed since
-            // the value is always changes from "off" to "on" or vice versus.
-            case EStdKeyDevice3: // selection key
-            case EStdKeyLeftArrow:
-            case EStdKeyRightArrow:
-                iStatus = !iStatus; // change status
-                ResetFieldL ( );
-                response = EKeyWasConsumed;
-                break;
-
-            default:
-                break;
-            }
-        }
-    return response;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CESMRBooleanField::SetOutlineFocusL
-// ---------------------------------------------------------------------------
-//
-void CESMRBooleanField::SetOutlineFocusL( TBool aFocus )
-    {
-    FUNC_LOG;
-    CESMRField::SetOutlineFocusL( aFocus );
-
-    if (aFocus) //Focus is gained on the field
-        {
-        if (iStatus)
-            {
-            ChangeMiddleSoftKeyL(EESMRCmdAlarmOff,R_QTN_MEET_REQ_ALARM_OFF); //R_TEXT_SOFTKEY_OFF
-            }
-        else
-            {
-            ChangeMiddleSoftKeyL(EESMRCmdAlarmOn,R_QTN_MEET_REQ_ALARM_ON); //R_TEXT_SOFTKEY_ON
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRBooleanField::MakeVisible
-// ---------------------------------------------------------------------------
-//
-void CESMRBooleanField::MakeVisible(TBool aVisible )
-    {
-    FUNC_LOG;
-    CCoeControl::MakeVisible (aVisible );
-    if ( iObserver )
-        {
-        TRAP_IGNORE(ResetFieldL ( ) );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRBooleanField::ExecuteGenericCommandL()
-// ---------------------------------------------------------------------------
-//
-void CESMRBooleanField::ExecuteGenericCommandL( TInt aCommand )
-    {
-    FUNC_LOG;
-    if( aCommand == EESMRCmdAlarmOn || aCommand == EESMRCmdAlarmOff )
-        {    
-        SwitchMiddleSoftKeyL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRBooleanField::SwitchMiddleSoftKeyL
-// ---------------------------------------------------------------------------
-//
-void CESMRBooleanField::SwitchMiddleSoftKeyL()
-    {
-    FUNC_LOG;
-    iStatus = !iStatus; // change status
-    ResetFieldL ( );
-    if (iStatus)
-        {
-        ChangeMiddleSoftKeyL(EESMRCmdAlarmOff,R_QTN_MEET_REQ_ALARM_OFF); 
-        }
-    else
-        {
-        ChangeMiddleSoftKeyL(EESMRCmdAlarmOn,R_QTN_MEET_REQ_ALARM_ON); 
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRBooleanField::CESMRBooleanField
-// ---------------------------------------------------------------------------
-//
-CESMRBooleanField::CESMRBooleanField( MESMRFieldValidator* aValidator ) :
-    iValidator( aValidator)
-    {
-    FUNC_LOG;
-    iStatus = ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRBooleanField::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CESMRBooleanField::ConstructL( )
-    {
-    FUNC_LOG;
-    _LIT(KEmptyText, "" );
-    SetFieldId ( EESMRFieldAlarmOnOff );
-    iLabel = new (ELeave) CEikLabel();
-    iLabel->SetTextL (KEmptyText );
-
-    CESMRIconField::ConstructL (KAknsIIDQgnMeetReqIndiAlarm, iLabel );
-    }
-
-// ---------------------------------------------------------------------------
-// CESMRBooleanField::ResetFieldL
-// ---------------------------------------------------------------------------
-//
-void CESMRBooleanField::ResetFieldL( )
-    {
-    FUNC_LOG;
-    iValidator->SetAlarmOnOffL( iStatus );
-
-    HBufC* buf = StringLoader::LoadLC ( iStatus ?
-    R_QTN_MEET_REQ_ALARM_ON :
-    R_QTN_MEET_REQ_ALARM_OFF );
-
-    iLabel->SetTextL ( *buf );
-    CleanupStack::PopAndDestroy ( buf );
-
-    // if status on 'on', add time and date fields for
-    // all day event alert, otherwise remove them.
-    // if this field is not visible -> alldayevent not set
-    // let's not show the date and time fields either.
-    if ( iStatus && IsVisible ( ) )
-        {
-        iObserver->InsertControl ( EESMRFieldAlarmTime );
-        iObserver->InsertControl ( EESMRFieldAlarmDate );
-        }
-    else
-        {
-        iObserver->RemoveControl ( EESMRFieldAlarmTime );
-        iObserver->RemoveControl ( EESMRFieldAlarmDate );
-        }
-
-    iLabel->DrawDeferred ( );
-    }
-
-// EOF
-