phonesrv_plat/dialpad_api/inc/dialpadkeyhandler.h
changeset 27 7eb70891911c
parent 23 427125ac6cb8
child 32 1f002146abb4
equal deleted inserted replaced
23:427125ac6cb8 27:7eb70891911c
    23 class Dialpad;
    23 class Dialpad;
    24 class DialpadVoiceMailboxEventFilter;
    24 class DialpadVoiceMailboxEventFilter;
    25 class DialpadVideoMailboxEventFilter;
    25 class DialpadVideoMailboxEventFilter;
    26 class DialpadBluetoothEventFilter;
    26 class DialpadBluetoothEventFilter;
    27 class DialpadKeySequenceEventFilter;
    27 class DialpadKeySequenceEventFilter;
       
    28 class DialpadEmergencyCallEventFilter;
    28 class HbMainWindow;
    29 class HbMainWindow;
    29 
    30 
    30 #ifdef BUILD_DIALPADKEYHANDLER
    31 #ifdef BUILD_DIALPADKEYHANDLER
    31 #define DIALPADKEYHANDLER_EXPORT Q_DECL_EXPORT
    32 #define DIALPADKEYHANDLER_EXPORT Q_DECL_EXPORT
    32 #else
    33 #else
    33 #define DIALPADKEYHANDLER_EXPORT Q_DECL_IMPORT
    34 #define DIALPADKEYHANDLER_EXPORT Q_DECL_IMPORT
    34 #endif
    35 #endif
       
    36 
    35 /*!
    37 /*!
    36     DialpadKeyHandler
    38     DialpadKeyHandler
    37     Class provides key handling for dialpad component.
    39     Class provides key handling for dialpad component.
    38 
    40 
    39     @code
    41     @code
    40     Dialpad *dialpad = new Dialpad();
    42     Dialpad *dialpad = new Dialpad();
    41     DialpadKeyHandler *keyhandler = new DialpadKeyHandler(dialpad, this);
    43     DialpadKeyHandler *keyhandler = new DialpadKeyHandler(dialpad, this);
    42     @endcode
    44     @endcode
    43     
       
    44 */
    45 */
    45 class DIALPADKEYHANDLER_EXPORT DialpadKeyHandler : public QObject
    46 class DIALPADKEYHANDLER_EXPORT DialpadKeyHandler : public QObject
    46 {
    47 {
    47     Q_OBJECT
    48     Q_OBJECT
    48 
    49 
    49 public:
    50 public:
    50     explicit DialpadKeyHandler(Dialpad *dialPad, HbMainWindow& mainWindow, QObject *parent = 0);
    51     /*! Declares possible key event filters which can be used with the 
       
    52      * dialpad. */
       
    53     enum DialpadKeyEventFilter
       
    54     {
       
    55         /*! Enables calling to voice mailbox with a long '1' key press. */
       
    56         VoiceMailbox    = 0x0001,
       
    57         /*! Enables calling to video mailbox with a long '2' key press. */
       
    58         VideoMailBox    = 0x0002,
       
    59         /*! Enables switching bluetooth on/off with a long '*' key press. */
       
    60         Bluetooth       = 0x0004,
       
    61         /*! Enables handling of key sequences like *#06# for showing IMEI. */
       
    62         KeySequence     = 0x0008,
       
    63         /*! Forced handling for emergency call. */
       
    64         EmergencyCall   = 0x0010
       
    65     };
       
    66     Q_DECLARE_FLAGS(DialpadKeyEventFilters, DialpadKeyEventFilter)
       
    67     
       
    68 public:
       
    69     /*! \deprecated DialpadKeyHandler(Dialpad*, HbMainWindow&, QObject*) is 
       
    70      * deprecated. 
       
    71      * Please use 
       
    72      *     DialpadKeyHandler(
       
    73      *         Dialpad*, 
       
    74      *         QFlags<DialpadKeyHandler::DialpadKeyEventFilter>, 
       
    75      *         QObject*) 
       
    76      * instead. */
       
    77     explicit DialpadKeyHandler(
       
    78         Dialpad *dialPad, 
       
    79         HbMainWindow& mainWindow, 
       
    80         QObject *parent = 0);
       
    81     
       
    82     explicit DialpadKeyHandler(
       
    83         Dialpad *dialPad, 
       
    84         DialpadKeyHandler::DialpadKeyEventFilters filters,
       
    85         QObject *parent = 0);
    51     virtual ~DialpadKeyHandler();
    86     virtual ~DialpadKeyHandler();
    52 
    87     
    53 private:
    88 private:
    54     HbMainWindow& mMainWindow;
    89     HbMainWindow& mMainWindow;
    55     QScopedPointer<DialpadVoiceMailboxEventFilter> mVmbxFilter;
    90     QScopedPointer<DialpadVoiceMailboxEventFilter> mVmbxFilter;
    56     QScopedPointer<DialpadVideoMailboxEventFilter> mVideoVmbxFilter;
    91     QScopedPointer<DialpadVideoMailboxEventFilter> mVideoVmbxFilter;
    57     QScopedPointer<DialpadBluetoothEventFilter> mBtFilter;
    92     QScopedPointer<DialpadBluetoothEventFilter> mBtFilter;
    58     QScopedPointer<DialpadKeySequenceEventFilter> mKeySequenceFilter;
    93     QScopedPointer<DialpadKeySequenceEventFilter> mKeySequenceFilter;
    59     bool mIsVideoMailboxSupported;
    94     QScopedPointer<DialpadEmergencyCallEventFilter> mEmergencyCallFilter;
    60 };
    95 };
    61 
    96 
    62 #endif // DIALPADKEYHANDLER_H
    97 #endif // DIALPADKEYHANDLER_H