diff -r 594d59766373 -r 7d48bed6ce0c phonesrv_plat/dialpad_api/inc/dialpadkeyhandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonesrv_plat/dialpad_api/inc/dialpadkeyhandler.h Tue Aug 31 15:45:17 2010 +0300 @@ -0,0 +1,101 @@ +/*! +* Copyright (c) 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: Dialpad key handler. +* +*/ + +#ifndef DIALPADKEYHANDLER_H +#define DIALPADKEYHANDLER_H + +#include + +class Dialpad; +class DialpadVoiceMailboxEventFilter; +class DialpadVideoMailboxEventFilter; +class DialpadBluetoothEventFilter; +class DialpadKeySequenceEventFilter; +class DialpadEmergencyCallEventFilter; +class DialpadHashEventFilter; +class HbMainWindow; + +#ifdef BUILD_DIALPADKEYHANDLER +#define DIALPADKEYHANDLER_EXPORT Q_DECL_EXPORT +#else +#define DIALPADKEYHANDLER_EXPORT Q_DECL_IMPORT +#endif + +/*! + DialpadKeyHandler + Class provides key handling for dialpad component. + + @code + Dialpad *dialpad = new Dialpad(); + DialpadKeyHandler *keyhandler = new DialpadKeyHandler(dialpad, this); + @endcode +*/ +class DIALPADKEYHANDLER_EXPORT DialpadKeyHandler : public QObject +{ + Q_OBJECT + +public: + /*! Declares possible key event filters which can be used with the + * dialpad. */ + enum DialpadKeyEventFilter + { + /*! Enables calling to voice mailbox with a long '1' key press. */ + VoiceMailbox = 0x0001, + /*! Enables calling to video mailbox with a long '2' key press. */ + VideoMailBox = 0x0002, + /*! Enables switching bluetooth on/off with a long '*' key press. */ + Bluetooth = 0x0004, + /*! Enables handling of key sequences like *#06# for showing IMEI. */ + KeySequence = 0x0008, + /*! Forced handling for emergency call. */ + EmergencyCall = 0x0010, + /*! Enables and disables silent mode with a long '#' key press. */ + Hash = 0x23 + }; + Q_DECLARE_FLAGS(DialpadKeyEventFilters, DialpadKeyEventFilter) + +public: + /*! \deprecated DialpadKeyHandler(Dialpad*, HbMainWindow&, QObject*) is + * deprecated. + * Please use + * DialpadKeyHandler( + * Dialpad*, + * QFlags, + * QObject*) + * instead. */ + explicit DialpadKeyHandler( + Dialpad *dialPad, + HbMainWindow& mainWindow, + QObject *parent = 0); + + explicit DialpadKeyHandler( + Dialpad *dialPad, + DialpadKeyHandler::DialpadKeyEventFilters filters, + QObject *parent = 0); + virtual ~DialpadKeyHandler(); + +private: + HbMainWindow& mMainWindow; + QScopedPointer mVmbxFilter; + QScopedPointer mVideoVmbxFilter; + QScopedPointer mBtFilter; + QScopedPointer mKeySequenceFilter; + QScopedPointer mEmergencyCallFilter; + QScopedPointer mHashFilter; +}; + +#endif // DIALPADKEYHANDLER_H