diff -r 000000000000 -r 2f259fa3e83a uifw/EikStd/alertsrc/EIKALMCT.CPP --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uifw/EikStd/alertsrc/EIKALMCT.CPP Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,223 @@ +/* +* Copyright (c) 1997-1999 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: +* +*/ + +#include +#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS +#include +#endif + +#include "AlarmObserver.h" +#include "Eikalmct.h" +//#include "eikalert.hrh" + + +_LIT(KAlertDllFile, "AlmAlert.dll"); + +// +// CEikAlarmControl class +// + +EXPORT_C CEikAlarmControl::CEikAlarmControl(CEikAlmControlSupervisor* aSupervisor, CEikServAppUiBase* aAppUi) + : iSupervisor(aSupervisor), iAppUi(aAppUi) + // + // default c'tor + // + { + } + +EXPORT_C CEikAlarmControl::~CEikAlarmControl() + // + // d'tor + // + { + if (iAlarm) + { + iAlarm->Release(); + } + iLibrary.Close(); + } + +void CEikAlarmControl::Release() + { + delete this; + } + +void CEikAlarmControl::StartPlayAlarmL(const TDesC& aAlarmName) + { + if (iAlarm) + { + iAlarm->StartPlayAlarmL(aAlarmName); + } + /*if (iAlarmPlayer) + iAlarmPlayer->StartPlay(); + else + iAlarmPlayer=CEikAlarmPlayer::NewL(*iEikonEnv,aAlarmName);*/ + } + +void CEikAlarmControl::StopPlayAlarm() + { + if (iAlarm) + { + iAlarm->StopPlayAlarm(); + } + /*if (iAlarmPlayer) + iAlarmPlayer->StopPlay();*/ + } + +EXPORT_C void CEikAlarmControl::ConstructL() + // + // Create window and components + // + { + User::LeaveIfError(iLibrary.Load(KAlertDllFile)); + TLibraryFunction constructor = iLibrary.Lookup(1); + iAlarm = (MAlarmObserver*)((*constructor)()); + User::LeaveIfNull(iAlarm); + iAlarm->ConstructL(iSupervisor, iAppUi); + } + +void CEikAlarmControl::ShowAlarm() + { + if (iAlarm) + { + iAlarm->ShowAlarm(); + } + } + +void CEikAlarmControl::HideAlarm() + { + if (iAlarm) + { + iAlarm->HideAlarm(); + } + /*if (!IsVisible()) + return; + delete iAlarmPlayer; + iAlarmPlayer=NULL; + RWindowGroup& groupWin=iAppUi->AlertGroupWin(); + for (TInt i=0; i<3; i++) + { + groupWin.CancelCaptureKey(iExternalKeys[i]); + groupWin.CancelCaptureKeyUpAndDowns(iExternalKeyUpAndDowns[i]); + } + iAppUi->BringAlertGroupWinForwards(EFalse); + MakeVisible(EFalse); + + iCba->MakeVisible(EFalse); + // Make the CBA refuse keypresses + CCoeControl* cba = iCba->ButtonGroup()->AsControl(); + iEikonEnv->EikAppUi()->UpdateStackedControlFlags(cba, + ECoeStackFlagRefusesAllKeys | ECoeStackFlagRefusesFocus, + ECoeStackFlagRefusesAllKeys | ECoeStackFlagRefusesFocus); + + iEikonEnv->RouseSleepingDialog(this,EFalse);*/ + } + +TInt CEikAlarmControl::CurrentServerState() const + { + if (iAlarm) + { + return iAlarm->CurrentServerState(); + } + return iCurrentAlarmServerState; + } + +void CEikAlarmControl::UpdateSoundPauseTimeInterval(TInt aMinutes) + // + // Update the visual pause time + // + { + if (iAlarm) + { + iAlarm->UpdateSoundPauseTimeInterval(aMinutes); + } + } + +void CEikAlarmControl::UpdateForAlarmServerState(TInt aNewAlarmServerState) + { + iCurrentAlarmServerState = aNewAlarmServerState; + if (iAlarm) + { + iAlarm->UpdateForAlarmServerState(aNewAlarmServerState); + } + // The order of the following are important + // Note that these are always updated because they can change independently + // of their binary state. + /*TInt timePaused=iSupervisor->PauseSoundMinutes(); + if (!timePaused && aNewAlarmServerState&EAlmSvrSoundOff) + iAlarmInfoView->SetSoundOff(); + else if (!timePaused && aNewAlarmServerState&EAlmSvrQuietPeriod) + iAlarmInfoView->SetQuietPeriodTimeEnd(iSupervisor->QuietPeriodEndTime()); + else + iAlarmInfoView->SetPauseSoundTime(timePaused); + if (aNewAlarmServerState==iCurrentAlarmServerState) + return; + if (!timePaused && (aNewAlarmServerState&EAlmSvrNoSoundToPlay) && (!(aNewAlarmServerState&EAlmSvrSoundOff))) + { + CEikAlarmControlInfo::TSilentType silent=CEikAlarmControlInfo::ESilentAlarm; + //if (!(iButtons->ControlById(EEikBidOk)->IsDimmed())) // silence pressed + if (!iSilence) + silent=CEikAlarmControlInfo::EAlarmSilenced; + //iAlarmInfoView->SetNoSoundToPlay(silent); + } + if (aNewAlarmServerState&EAlmSvrManyDueAlarms) + iAlarmInfoView->SetManyDueAlarms(); + if (aNewAlarmServerState&EAlmSvrNoSnoozeMemory) + iAlarmInfoView->SetNoMemoryToSnooze(); + iAlarmInfoView->DrawSnoozeLabelNow();*/ + // + } + +/*void CEikAlarmControl::CheckSilenceButtonDimmed() + {*/ + /*CCoeControl* silenceButton=iButtons->ControlById(EEikBidOk); + TBool wasDimmed=silenceButton->IsDimmed(); + TBool newDimmed=iCurrentAlarmServerState&(EAlmSvrQuietPeriod|EAlmSvrSoundOff|EAlmSvrNoSoundToPlay); + if (wasDimmed!=newDimmed) + { + silenceButton->SetDimmed(newDimmed); + silenceButton->DrawNow(); + }*/ +/* TBool wasDimmed(iSilence); + TBool newDimmed(iCurrentAlarmServerState & + (EAlmSvrQuietPeriod|EAlmSvrSoundOff|EAlmSvrNoSoundToPlay)); + if (wasDimmed != newDimmed) + { + iSilence = newDimmed; + } + }*/ + +void CEikAlarmControl::UpdateAlarmInfo(const TASShdAlarm& aAlarm,const TFullName &aOwner) + { + if (iAlarm) + { + iAlarm->UpdateAlarmInfo(aAlarm, aOwner); + } + //iTime->UpdateDate(); + //iTime->UpdateCityInfo(); + /*_LIT(KFormatBuf," (%S)"); + TBuf ownerBuf; + if (aAlarm.iType!=EAlarmTypeClock) + { + TPtrC owner=BaflUtils::ExtractAppNameFromFullName(aOwner); + if (owner.Length()) + ownerBuf.Format(KFormatBuf ,&owner); + } + iAlarmInfoView->SetAlarm(aAlarm, ownerBuf); + iAlarmInfoView->DrawAllLabelsNow();*/ + } +