--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuiview/inc/cphonedialercontroller.h Wed Sep 01 12:30:10 2010 +0100
@@ -0,0 +1,217 @@
+/*
+* Copyright (c) 2009, 2010 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: Handles the updating dialer, toolbar buttons.
+*
+*/
+
+
+#ifndef CPHONEDIALERCONTROLLER_H
+#define CPHONEDIALERCONTROLLER_H
+
+#include <e32base.h>
+#include "mphonedialercontroller.h"
+#include "mphonenumberentrychangedhandler.h"
+
+class CPhoneBubbleWrapper;
+class CCoeEnv;
+class MAknsSkinInstance;
+class TPhoneCommandParam;
+class CPhoneEasyDialingController;
+
+/**
+ * Dialer controller, provides toolbar button data for the normal mode dialer
+ *
+ * @lib PhoneUIView.lib
+ * @since S60 v5.0
+ */
+class CPhoneDialerController :
+ public CBase,
+ public MPhoneDialerController
+ {
+public: // constructor and destructor
+ /**
+ * Two-phased constructor.
+ * @param aBubbleWrapper Handle to bubble wrapper. Ownership not transferred.
+ * May be NULL, but then emergency call state can't be identified
+ * @param aCoeEnv Handle to coeenv. Ownership not transferred.
+ */
+ static CPhoneDialerController* NewL( CPhoneBubbleWrapper* aBubbleWrapper,
+ CCoeEnv& aCoeEnv );
+ /**
+ * Destructor.
+ */
+ IMPORT_C virtual ~CPhoneDialerController();
+
+protected: // constructors
+
+ /**
+ * Constructor.
+ *
+ * @param aBubbleWrapper
+ * @param aCoeEnv
+ */
+ IMPORT_C CPhoneDialerController( CPhoneBubbleWrapper* aBubbleWrapper,
+ CCoeEnv& aCoeEnv );
+ /**
+ * Symbian 2nd phase constructor.
+ *
+ */
+ IMPORT_C void ConstructL();
+
+public: // new methods
+
+ /**
+ * Sets state of restricted dialer.
+ *
+ * @since S60 v5.0
+ * @param aRestricted
+ */
+ void SetRestrictedDialer( TBool aRestricted );
+
+ /**
+ * Sets state of service code flag.
+ *
+ * @since S60 v5.0
+ * @param aCommandParam
+ */
+ void SetServiceCodeFlag( TPhoneCommandParam* aCommandParam );
+
+ /**
+ * Sets handle to the Easy Dialing controller.
+ *
+ * @since S60 v5.2
+ * @param aController Easy Dialing controller. Ownership not transferred.
+ */
+ void SetEasyDialingController( CPhoneEasyDialingController* aController );
+
+public: // From MPhoneDialerController
+
+ /**
+ * @see MPhoneDialerController
+ */
+ IMPORT_C TInt CbaResourceId() const;
+
+ /**
+ * @see MPhoneDialerController
+ */
+ IMPORT_C TInt MenuResourceId() const;
+
+ /**
+ * @see MPhoneDialerController
+ */
+ IMPORT_C const TDesC& NumberEntryPromptTextL();
+
+ /**
+ * @see MPhoneDialerController
+ */
+
+ /**
+ * @see MPhoneDialerController
+ */
+ IMPORT_C TInt GetButtonData( TButtonIndex aIndex, RPointerArray<CButtonData>& aData ) const;
+
+ /**
+ * @see MPhoneDialerController
+ */
+ IMPORT_C void SetNumberEntryIsEmpty( TBool aEmpty );
+
+ /**
+ * @see MPhoneDialerController
+ */
+ IMPORT_C TInt ButtonState( TButtonIndex aIndex ) const;
+
+ /**
+ * @see MPhoneDialerController
+ */
+ IMPORT_C TBool ButtonDimmed( TButtonIndex aIndex ) const;
+
+ /**
+ * @see MPhoneDialerController
+ */
+ IMPORT_C TBool EasyDialingAllowed() const;
+
+public: // data types
+ /**
+ * Initialization data for one toolbar button state.
+ */
+ struct TLocalButtonData
+ {
+ TInt iCommandId;
+ TInt iSkinItemIdMinor;
+ TInt iBitmapIndex;
+ TInt iBitmapMaskIndex;
+ TInt iTooltipResourceId;
+ };
+
+protected: // methods
+
+ /**
+ * Check is there an emergency call ongoing.
+ * @return ETrue if there's an active emergency call.
+ * EFalse otherwise.
+ */
+ TBool EmergencyCallActive() const;
+
+ /**
+ * Check if Easy Dialing contact listbox is in focus.
+ * @return ETrue if contact list is in focus
+ * EFalse otherwise (may be also because there's no ED
+ * present in the device)
+ */
+ TBool EasyDialingFocused() const;
+
+ /**
+ * Create button data object from given source data.
+ * @param aSourceData Defines, where the data should be loaded.
+ * @param aSkin Skin instance. Ownership not transferred.
+ * @param aMifFile Full path to the MIF file holding the fallback graphics.
+ * @return New CButtonData instance. Ownership is transferred.
+ */
+ CButtonData* CreateButtonDataL( const TLocalButtonData& aSourceData,
+ MAknsSkinInstance* aSkin, const TDesC& aMifFile ) const;
+
+protected: // data
+ /**
+ * CoeEnv
+ */
+ CCoeEnv& iCoeEnv;
+
+ /**
+ * Handle to the Bubblewrapper. May be NULL. Not owned.
+ */
+ CPhoneBubbleWrapper* iBubbleWrapper;
+
+ /**
+ * Handle to Easy Dialing controller. May be NULL. Not owned.
+ */
+ CPhoneEasyDialingController* iEasyDialingController;
+
+ /**
+ * Used to check is the Dialer in the restricted mode.
+ */
+ TBool iRestrictedDialer;
+
+ /**
+ * Used to check is the service code flag set, meaning that number entry
+ * contains a service code rather than phone number.
+ */
+ TBool iServiceCodeFlag;
+
+ /**
+ * Store availability of phone number (etc) in the number entry.
+ */
+ TBool iNumberAvailable;
+ };
+
+#endif // CPHONEDIALERCONTROLLER_H