fotaapplication/fotaserver/FotaServer/src/FotaReminderDlg.cpp
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:27:42 +0100
branchRCL_3
changeset 26 19bba8228ff0
parent 0 b497e44ab2fc
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* Copyright (c) 2005 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:   methods for CFotaReminderDlg
*
*/



#include <fotaserver.rsg>
#include "FotaReminderDlg.h"

#include "FotaDB.h"
#include "FotaSrvDebug.h"

// ---------------------------------------------------------------------------
// CFotaReminderDlg::NewLC
// Two-phase construction
// ---------------------------------------------------------------------------
//
CFotaReminderDlg* CFotaReminderDlg::NewLC(TInt& aSelectedItem, CDesCArray* aItemArray, TInt& aEvent)
	{
	CFotaReminderDlg* self = new (ELeave) CFotaReminderDlg(aSelectedItem, aItemArray, aEvent);
	CleanupStack::PushL(self);
	self->ConstructL();
	
	return self;
	}

// ---------------------------------------------------------------------------
// CFotaReminderDlg::NewL
// Two-phase construction
// ---------------------------------------------------------------------------
//
CFotaReminderDlg* CFotaReminderDlg::NewL(TInt& aSelectedItem, CDesCArray* aItemArray, TInt& aEvent)
	{
	CFotaReminderDlg* self = CFotaReminderDlg::NewLC(aSelectedItem, aItemArray, aEvent);
	CleanupStack::Pop(self);
	return self;
	}

// ---------------------------------------------------------------------------
// CFotaReminderDlg::~CFotaReminderDlg
// Destructor.
// ---------------------------------------------------------------------------
//
CFotaReminderDlg::~CFotaReminderDlg()
	{
	FLOG(_L("CFotaReminderDlg::~CFotaReminderDlg   >>"));
	iAppKeyClient.Close();
	FLOG(_L("CFotaReminderDlg::~CFotaReminderDlg   <<"));
	}

// ---------------------------------------------------------------------------
// CFotaReminderDlg::CFotaReminderDlg
// Constructor.
// ---------------------------------------------------------------------------
//	
CFotaReminderDlg::CFotaReminderDlg(TInt& aSelectedItem, CDesCArray* aItemArray, TInt& aEvent):
								CAknRadioButtonSettingPage( R_SETTING_REMAINDER, aSelectedItem, aItemArray ),
    	                        iSelectedItem(aSelectedItem),
								iEvent(aEvent),
								iIsAppKeySuppressed(EFalse)
	{
		
	}

// ---------------------------------------------------------------------------
// CFotaReminderDlg::~CFotaReminderDlg
// Two-phase construction.
// ---------------------------------------------------------------------------
//	
void CFotaReminderDlg::ConstructL()
	{
	FLOG(_L("CFotaReminderDlg::ConstructL   >>"));
	
	SuppressAppKey(ETrue);

	CAknRadioButtonSettingPage::ConstructL();
	iList = ListBoxControl();

	FLOG(_L("CFotaReminderDlg::ConstructL   <<"));    
	}

// ---------------------------------------------------------------------------
// CFotaReminderDlg::ActivateL
// Used to activate the radiobuttonsettingpage.
// ---------------------------------------------------------------------------
//
void CFotaReminderDlg::ActivateL()
	{
	FLOG(_L("CFotaReminderDlg::ActivateL   >>"));

	//iList->SetCurrentItemIndexAndDraw(0);
	CAknRadioButtonSettingPage::ActivateL();

	FLOG(_L("CFotaReminderDlg::ActivateL   <<"));
	}
	
// ---------------------------------------------------------------------------
// CFotaReminderDlg::OkToExitL
// Determines if the dialog can be closed.
// ---------------------------------------------------------------------------
//
TBool CFotaReminderDlg::OkToExitL( TInt aButtonId )
	{
   	FLOG(_L("CFotaReminderDlg::OkToExitL   >>"));

    TBool IsAccepted = aButtonId;

    if ( IsAccepted )
        {
        iSelectedItem = iList->CurrentItemIndex();
        }

	SuppressAppKey(EFalse);
	FLOG(_L("CFotaReminderDlg::OkToExitL   <<"));

    return ETrue;
    }
    	

// ---------------------------------------------------------------------------
// CFotaReminderDlg::ProcessCommandL
// Process events from softkeys
// ---------------------------------------------------------------------------
//
void CFotaReminderDlg::ProcessCommandL( TInt aCommandId )
	{
   	FLOG(_L("CFotaReminderDlg::ProcessCommandL   >>"));

    if ( aCommandId == EAknSoftkeyOk )
    	{
    	AttemptExitL(ETrue);
    	}
    	
    if (aCommandId == EAknSoftkeyCancel ||
         aCommandId == EAknCmdExit)
        {
        AttemptExitL( EFalse );
        }

   	FLOG(_L("CFotaReminderDlg::ProcessCommandL   <<"));
	}


// ---------------------------------------------------------------------------
// CFotaReminderDlg::OfferKeyEventL
// This routine routes the keys to the editor.
// ---------------------------------------------------------------------------
//	
TKeyResponse CFotaReminderDlg::OfferKeyEventL(
    const TKeyEvent& aKeyEvent,
    TEventCode aType )
    {
	FLOG(_L("CFotaReminderDlg::OfferKeyEventL   >>"));
   
	/*if (iResumeOnFG && iIsDlgOpen)
    {
		TApaTaskList taskList(CEikonEnv::Static()->WsSession());
		TApaTask task=taskList.FindApp(TUid::Uid(KFotaServerUid));
		if(task.Exists())
			task.BringToForeground();

    }
    
    iResumeOnFG = EFalse;
    //Menu key is pressed when reminder dialog is shown
 	TBool aStartDmUi (EFalse);   
    if (aKeyEvent.iCode == EKeyApplication0)
    {
    	iResumeOnFG = ETrue;
		aStartDmUi = ETrue;	
    }*/
   
    iEvent = aType;
    TKeyResponse aResp (EKeyWasConsumed );
    aResp = CAknRadioButtonSettingPage::OfferKeyEventL( aKeyEvent, aType );
    
    FLOG(_L("CFotaReminderDlg::OfferKeyEventL   <<"));
    return aResp;
    }

// ---------------------------------------------------------------------------
// CFotaReminderDlg::SuppressAppKey
// Used to suppress the menu/app key
// ---------------------------------------------------------------------------
//
void CFotaReminderDlg::SuppressAppKey(TBool aValue)
	{
	FLOG(_L("CFotaReminderDlg::SuppressAppKey   >>"));

	if (iIsAppKeySuppressed!=aValue)
		{	
		
		TInt error = iAppKeyClient.ConnectAndSendAppsKeySuppress(aValue);
		FLOG(_L("Return for suppress (%d)....%d"),aValue,error);
		iIsAppKeySuppressed = aValue;
		}

	FLOG(_L("CFotaReminderDlg::SuppressAppKey   <<"));
	}