--- a/extras/calcsoft/src/CalcAppUi.cpp Tue Feb 02 00:11:26 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +0,0 @@
-/*
-* Copyright (c) 2002 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: An App UI class, CCalcAppUi, derived from CAknAppUi
-* Mainly menu command is handled.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <avkon.hrh>
-#include <bacntf.h> // For CEnvironmentChangeNotifier
-#include <Calcsoft.rsg>
-#include <featmgr.h>
-
-#include "CalcApp.h"
-#include "CalcAppUi.h"
-#include "CalcDoc.h"
-#include "CalcHistory.h"
-#include "CalcEnv.h"
-#include "CalcView.h"
-#include "calc.hrh"
-
-// LOCAL CONSTANTS AND MACROS
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-
-// C++ default constructor can NOT contain any code, that
-// might leave.
-//
-CCalcAppUi::CCalcAppUi()
- {
- }
-
-// Destructor
-CCalcAppUi::~CCalcAppUi()
- {
- delete iCalcAppEnv;
- iCalcAppEnv = NULL;
-
- if (iLocaleChangeNotifier)
- {
- iLocaleChangeNotifier->Cancel();
- }
-
- if (iLocaleChangeNotifier)
- {
- delete iLocaleChangeNotifier;
- iLocaleChangeNotifier = NULL;
- }
- FeatureManager::UnInitializeLib();
- }
-
-
-// ---------------------------------------------------------
-// CCalcAppUi::ExitCalculator
-// Exit Calculator application.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CCalcAppUi::ExitCalculator()
- {
- TRAP_IGNORE(CEikAppUi::SaveL()); // Save memory and last result
- Exit();
- }
-
-// ---------------------------------------------------------
-// CCalcAppUi::LocaleCallback
-// Called when locale is changed or application is launched.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-TInt CCalcAppUi::LocaleCallback
- (TAny* aThisPtr)
- {
- STATIC_CAST(CCalcAppUi*, aThisPtr)->HandleLocaleChangeEvent();
- return 0;
- }
-
-// ---------------------------------------------------------
-// CCalcAppUi::HandleLocaleChangeEvent
-// Handle locale change event.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CCalcAppUi::HandleLocaleChangeEvent()
- {
- TLocale locale;
- TChar newDecimal(locale.DecimalSeparator());
- TChar oldDecimal(iCalcAppEnv->DecimalSeparator());
-
- if (newDecimal != oldDecimal)
- {
- iCalcAppEnv->SetDecimalSeparator(newDecimal);
- CCalcView* view = STATIC_CAST(CCalcView*, iView);
- view->NotifyChangeDecimal(oldDecimal, newDecimal);
- CCalcDocument* doc = STATIC_CAST(CCalcDocument*, Document());
- doc->History()->NotifyChangeDecimal(oldDecimal, newDecimal);
- }
- }
-
-// Second-phase constructor.
-void CCalcAppUi::ConstructL()
- {
- // Allow base class (CEikAppUi) to perform necessary construction
- BaseConstructL(CAknAppUi::EAknEnableSkin | EAknEnableMSK);
-
- FeatureManager::InitializeLibL();
-
- iCalcAppEnv = CCalcAppEnv::NewL(this);
-
- CCalcView* calcView = CCalcView::NewLC();
- AddViewL(calcView);
- CleanupStack::Pop(calcView);
-
- // Get pointer to CCalcDocument
- CCalcDocument* doc = STATIC_CAST(CCalcDocument*, Document());
- // CCalcDocument needs the pointer to the iCalcAppEnv
- doc->SetAppEnv(iCalcAppEnv);
-
- // Set locale change notifier
- TCallBack callBack(LocaleCallback, this);
- iLocaleChangeNotifier = CEnvironmentChangeNotifier::NewL
- (EActivePriorityLogonA, callBack);
-
- if(iLocaleChangeNotifier->IsActive())
- iLocaleChangeNotifier->Cancel();
- iLocaleChangeNotifier->Start();
-
- //EISkin2.6
- //Set IsSkinchanged value to EFalse when the application launches.
- SetSkinChanged(EFalse);
-
- TFileName path;
- iEikonEnv->FsSession().PrivatePath(path);
- iEikonEnv->FsSession().MkDirAll(path);
- }
-
-// ---------------------------------------------------------
-// CCalcAppUi::HandleCommandL
-// Handle Exit command.
-// (other items were commented in a header).
-// ---------------------------------------------------------
-//
-void CCalcAppUi::HandleCommandL(TInt aCommand)
- {
- if (aCommand == EEikCmdExit)
- {
- ExitCalculator();
- }
- }
-//EISkin2.6
-//----------------------------------------------------------
-//CCalcAppUi::HandleResourceChangeL
-// To Handle Skin Change event
-// Update Bitmaps
-//----------------------------------------------------------
-void CCalcAppUi::HandleResourceChangeL(TInt aType)
-{
- if (aType == KAknsMessageSkinChange)
- {
- iCalcAppEnv->LoadFuncMapBitmapSkinChangeL();
- SetSkinChanged(ETrue);
- }
- else
- {
- CAknViewAppUi::HandleResourceChangeL(aType);
- }
-}
-
-//----------------------------------------------------------
-//CCalcAppUi::HandleWsEventL
-// Handles events sent to the application by the window server.
-// When EKeyOK is long pressed, to avoid being filtered by the AppUi,
-// send this event directly to the container.
-// Thus the container can get the EKeyOK key event.
-//----------------------------------------------------------
-void CCalcAppUi::HandleWsEventL( const TWsEvent& aEvent, CCoeControl* aDestination )
- {
- CAknViewAppUi::HandleWsEventL(aEvent, aDestination); //pass the event to appui
- if ( aEvent.Type() == EEventKey)
- {
- //judge the key is EKeyOK or not and the key is long pressed or not
- TKeyEvent* key = aEvent.Key();
- if ( key->iCode == EKeyOK && key->iRepeats )
- {
- //send EEventKey to the Container
- TopFocusedControl()->OfferKeyEventL( *key, EEventKey );
- }
- }
- }
-// End of File