phonesettings/cpphonesettingsplugins/divertplugin/src/cpdivertquery.h
author hgs
Fri, 03 Sep 2010 13:33:36 +0300
changeset 65 2a5d4ab426d3
permissions -rw-r--r--
201035
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
65
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
 * cpdivertquery.h
hgs
parents:
diff changeset
     3
 *
hgs
parents:
diff changeset
     4
 *  Created on: Aug 10, 2010
hgs
parents:
diff changeset
     5
 *      Author: jahelaak
hgs
parents:
diff changeset
     6
 */
hgs
parents:
diff changeset
     7
hgs
parents:
diff changeset
     8
#ifndef CPDIVERTQUERY_H_
hgs
parents:
diff changeset
     9
#define CPDIVERTQUERY_H_
hgs
parents:
diff changeset
    10
hgs
parents:
diff changeset
    11
#include <qobject.h>
hgs
parents:
diff changeset
    12
#include <psetcalldivertingwrapper.h>
hgs
parents:
diff changeset
    13
hgs
parents:
diff changeset
    14
class HbAction;
hgs
parents:
diff changeset
    15
class QString;
hgs
parents:
diff changeset
    16
class HbListWidget;
hgs
parents:
diff changeset
    17
class HbDialog;
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
class CpDivertQuery : public QObject
hgs
parents:
diff changeset
    20
{
hgs
parents:
diff changeset
    21
    Q_OBJECT
hgs
parents:
diff changeset
    22
    
hgs
parents:
diff changeset
    23
    // Activate divert phases
hgs
parents:
diff changeset
    24
    enum ActivateDivertPhases
hgs
parents:
diff changeset
    25
    {
hgs
parents:
diff changeset
    26
        NonePhase,
hgs
parents:
diff changeset
    27
        PopUpVoiceNumberListQueryPhase,
hgs
parents:
diff changeset
    28
        PopUpTimerQueryPhase
hgs
parents:
diff changeset
    29
    };
hgs
parents:
diff changeset
    30
    
hgs
parents:
diff changeset
    31
public:
hgs
parents:
diff changeset
    32
    CpDivertQuery(PSetCallDivertingWrapper &callDivertingWrapper);
hgs
parents:
diff changeset
    33
    virtual ~CpDivertQuery();
hgs
parents:
diff changeset
    34
    
hgs
parents:
diff changeset
    35
    
hgs
parents:
diff changeset
    36
    void show(
hgs
parents:
diff changeset
    37
            const QString &heading,
hgs
parents:
diff changeset
    38
            PSCallDivertingCommand command,
hgs
parents:
diff changeset
    39
            bool needTimeOutInfo);
hgs
parents:
diff changeset
    40
    
hgs
parents:
diff changeset
    41
signals:
hgs
parents:
diff changeset
    42
    void result(PSCallDivertingCommand &command);
hgs
parents:
diff changeset
    43
    void cancelled(PSCallDivertingCommand &command);
hgs
parents:
diff changeset
    44
    void handleDivertingError(int aReason);
hgs
parents:
diff changeset
    45
    
hgs
parents:
diff changeset
    46
private slots:
hgs
parents:
diff changeset
    47
    void voiceNumberListQueryClosed(HbAction* action);
hgs
parents:
diff changeset
    48
    void popUpNumberEditorClosed(HbAction* action);
hgs
parents:
diff changeset
    49
    void popUpTimerQueryClosed(HbAction* action);
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
private:
hgs
parents:
diff changeset
    52
    /**
hgs
parents:
diff changeset
    53
     Show to user divert number query list.
hgs
parents:
diff changeset
    54
     */
hgs
parents:
diff changeset
    55
    void popUpVoiceNumberListQuery(
hgs
parents:
diff changeset
    56
            const QString& heading, PsServiceGroup serviceGroup);
hgs
parents:
diff changeset
    57
    
hgs
parents:
diff changeset
    58
    /**
hgs
parents:
diff changeset
    59
     Show to user number query.
hgs
parents:
diff changeset
    60
     */
hgs
parents:
diff changeset
    61
    void popUpNumberEditor(const QString& heading);
hgs
parents:
diff changeset
    62
    
hgs
parents:
diff changeset
    63
    /**
hgs
parents:
diff changeset
    64
     Show to user divert time out query list.
hgs
parents:
diff changeset
    65
     */
hgs
parents:
diff changeset
    66
    void popUpTimerQuery();
hgs
parents:
diff changeset
    67
    
hgs
parents:
diff changeset
    68
    
hgs
parents:
diff changeset
    69
    void nextPhaseForActivateDivert(bool ok);
hgs
parents:
diff changeset
    70
    
hgs
parents:
diff changeset
    71
private:
hgs
parents:
diff changeset
    72
    
hgs
parents:
diff changeset
    73
    /**
hgs
parents:
diff changeset
    74
     Creates dialog with default parameters
hgs
parents:
diff changeset
    75
     */
hgs
parents:
diff changeset
    76
    HbDialog* createDialog( const QString& heading ) const;
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
    /**
hgs
parents:
diff changeset
    79
     Adds item to given list widget
hgs
parents:
diff changeset
    80
     */
hgs
parents:
diff changeset
    81
    void addItemToListWidget(HbListWidget* w,
hgs
parents:
diff changeset
    82
        const QString& item, const QString& data) const;
hgs
parents:
diff changeset
    83
hgs
parents:
diff changeset
    84
    /**
hgs
parents:
diff changeset
    85
     Adds item to given list widget
hgs
parents:
diff changeset
    86
     */
hgs
parents:
diff changeset
    87
    void addItemToListWidget(HbListWidget* w,
hgs
parents:
diff changeset
    88
        const QString& item, const int& data) const;
hgs
parents:
diff changeset
    89
    
hgs
parents:
diff changeset
    90
private:
hgs
parents:
diff changeset
    91
    PSetCallDivertingWrapper &m_callDivertingWrapper;
hgs
parents:
diff changeset
    92
    ActivateDivertPhases m_activateDivertPhase;
hgs
parents:
diff changeset
    93
    PSCallDivertingCommand m_divertCommand;
hgs
parents:
diff changeset
    94
    bool m_needTimeOutInfo;
hgs
parents:
diff changeset
    95
    HbDialog *m_dialog;
hgs
parents:
diff changeset
    96
};
hgs
parents:
diff changeset
    97
hgs
parents:
diff changeset
    98
#endif /* CPDIVERTQUERY_H_ */