bluetoothengine/btui/btcpplugin/btcpuideviceview.h
author hgs
Fri, 23 Jul 2010 15:57:13 +0300
changeset 47 9e2a905b887f
parent 42 b72428996822
child 57 5ebadcda06cb
permissions -rw-r--r--
201029_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
     1
/*
42
hgs
parents: 31
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
     3
 * All rights reserved.
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0""
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
     8
 *
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
     9
 * Initial Contributors:
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    11
 *
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    12
 * Contributors:
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    13
 *
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    14
 * Description:  
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    15
 *
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    16
 */
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    17
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    18
#ifndef	BTCPUIDEVICEVIEW_H
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    19
#define	BTCPUIDEVICEVIEW_H
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    20
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    21
#include <cpbasesettingview.h>
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    22
#include <hbaction.h>
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    23
#include <hbtoolbar.h>
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    24
#include "btcpuibaseview.h"
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    25
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    26
class HbGroupBox;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    27
class HbLabel;
42
hgs
parents: 31
diff changeset
    28
class HbLineEdit;
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    29
class HbPushButton;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    30
class HbIcon;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    31
class HbDocumentLoader;
42
hgs
parents: 31
diff changeset
    32
class HbDataForm;
hgs
parents: 31
diff changeset
    33
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    34
class HbDataFormModel;
42
hgs
parents: 31
diff changeset
    35
//class HbDataFormModelItem;
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    36
class CpSettingFormItemData;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    37
class BtAbstractDelegate;
42
hgs
parents: 31
diff changeset
    38
class BtCpUiDeviceDetail;
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    39
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    40
class BtCpUiDeviceView : public BtCpUiBaseView
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    41
{
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    42
    Q_OBJECT
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    43
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    44
public:
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    45
    explicit BtCpUiDeviceView(
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    46
            BtSettingModel &settingModel, 
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    47
            BtDeviceModel &deviceModel,            
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    48
            QGraphicsItem *parent = 0);
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    49
    virtual ~BtCpUiDeviceView();
42
hgs
parents: 31
diff changeset
    50
    virtual void activateView( const QVariant& value, bool fromBackButton );
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    51
    virtual void deactivateView();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    52
    virtual void setSoftkeyBack();
42
hgs
parents: 31
diff changeset
    53
        
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    54
public slots:
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    55
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    56
    virtual void switchToPreviousView();
42
hgs
parents: 31
diff changeset
    57
    void changeOrientation( Qt::Orientation orientation );
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    58
    void updateDeviceData();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    59
    void changeBtDeviceName();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    60
    void pairUnpair();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    61
    void connectDisconnect();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    62
    void pairDelegateCompleted(int status);
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    63
    void unpairDelegateCompleted(int status);
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    64
    void connectDelegateCompleted(int status);
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    65
    void disconnectDelegateCompleted(int status);
42
hgs
parents: 31
diff changeset
    66
    void changeDevNameDelegateCompleted(int status, QVariant param);
hgs
parents: 31
diff changeset
    67
    void handleDeviceSetting();
hgs
parents: 31
diff changeset
    68
    void handleDeviceSettingsChange(bool status);
hgs
parents: 31
diff changeset
    69
    
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    70
private:
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    71
    void clearViewData();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    72
    void pairDevice();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    73
    void unpairDevice();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    74
    void connectDevice();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    75
    void disconnectDevice();
42
hgs
parents: 31
diff changeset
    76
    void setDeviceCategory(int cod, int majorRole);//cod:class of device
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    77
    void setDeviceStatus(int majorRole);
42
hgs
parents: 31
diff changeset
    78
    void setConnectionCombobox();
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    79
    void setTextAndVisibilityOfButtons();
42
hgs
parents: 31
diff changeset
    80
    void updateStatusVariables(int majorRole);
47
9e2a905b887f 201029_02
hgs
parents: 42
diff changeset
    81
    void loadDeviceDetails();
9e2a905b887f 201029_02
hgs
parents: 42
diff changeset
    82
    void unloadDeviceDetails();
9e2a905b887f 201029_02
hgs
parents: 42
diff changeset
    83
    void setPrevBtDeviceName();
9e2a905b887f 201029_02
hgs
parents: 42
diff changeset
    84
    
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    85
private:
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    86
    HbDocumentLoader *mLoader;
42
hgs
parents: 31
diff changeset
    87
    //HbGroupBox *mGroupBox;
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    88
    HbLabel *mDeviceIcon;
42
hgs
parents: 31
diff changeset
    89
    HbLineEdit *mDeviceName;
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    90
    HbLabel *mDeviceCategory;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    91
    HbLabel *mDeviceStatus;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    92
    
42
hgs
parents: 31
diff changeset
    93
    HbDataForm *mConnectionCombobox;
hgs
parents: 31
diff changeset
    94
    HbDataFormModel *mConnectionComboboxModel;
hgs
parents: 31
diff changeset
    95
    
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    96
    HbPushButton *mPair_Unpair;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    97
    HbPushButton *mConnect_Disconnect;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    98
    HbPushButton *mDeviceSetting;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    99
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   100
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   101
    // data structures for switching between views
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   102
    bool mEventFilterInstalled;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   103
    int mAutoCmdId;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   104
    Qt::Orientation mOrientation;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   105
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   106
    HbMainWindow* mMainWindow;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   107
    BtCpUiBaseView* mMainView;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   108
    //BtCpUiBaseView* mDeviceView;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   109
    HbAction *mSoftKeyBackAction;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   110
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   111
    QModelIndex mDeviceIndex;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   112
    QVariant mDeviceBdAddr;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   113
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   114
    //true -> device is paired; false -> device is unpaired
42
hgs
parents: 31
diff changeset
   115
    bool mPairedStatus;
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   116
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   117
    //true-> device is connected; false -> device is disconnected
42
hgs
parents: 31
diff changeset
   118
    bool mConnectedStatus;
47
9e2a905b887f 201029_02
hgs
parents: 42
diff changeset
   119
    bool mPreviousConnectedStatus;
42
hgs
parents: 31
diff changeset
   120
    bool mTrustedStatus;
hgs
parents: 31
diff changeset
   121
    bool mBlockedStatus;
hgs
parents: 31
diff changeset
   122
hgs
parents: 31
diff changeset
   123
    //true -> device is connectable
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   124
    //e.g. not possible to connect to a phone, but possible to connect to a headset
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   125
    bool mConnectable;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   126
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   127
    BtAbstractDelegate* mAbstractDelegate;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   128
42
hgs
parents: 31
diff changeset
   129
    BtCpUiDeviceDetail* mDeviceDetail;
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   130
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   131
};
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   132
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   133
#endif