bluetoothengine/btui/btcpplugin/btcpuideviceview.h
author hgs
Mon, 17 May 2010 11:06:23 +0300
changeset 31 a0ea99b6fa53
child 40 997690c3397a
child 42 b72428996822
permissions -rw-r--r--
201019_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
     1
/*
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
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;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    28
class HbTextEdit;
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;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    32
class HbListView;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    33
class HbDataFormModel;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    34
class HbDataFormModelItem;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    35
class CpSettingFormItemData;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    36
class BtAbstractDelegate;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    37
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    38
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    39
class BtCpUiDeviceView : public BtCpUiBaseView
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    40
{
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    41
    Q_OBJECT
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    42
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    43
public:
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    44
    explicit BtCpUiDeviceView(
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    45
            BtSettingModel &settingModel, 
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    46
            BtDeviceModel &deviceModel,            
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    47
            QGraphicsItem *parent = 0);
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    48
    virtual ~BtCpUiDeviceView();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    49
    virtual void activateView( const QVariant& value, int cmdId );
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    50
    virtual void deactivateView();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    51
    virtual void setSoftkeyBack();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    52
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    53
public slots:
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    54
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    55
    virtual void switchToPreviousView();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    56
    void updateDeviceData();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    57
    void changeBtDeviceName();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    58
    void pairUnpair();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    59
    void connectDisconnect();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    60
    void pairDelegateCompleted(int status);
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    61
    void unpairDelegateCompleted(int status);
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    62
    void connectDelegateCompleted(int status);
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    63
    void disconnectDelegateCompleted(int status);
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    64
 
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    65
private:
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    66
    void clearViewData();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    67
    void pairDevice();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    68
    void unpairDevice();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    69
    void connectDevice();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    70
    void disconnectDevice();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    71
    void setDeviceCategory(int cod, int majorRole, int minorRole);//cod:class of device
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    72
    void setDeviceStatus(int majorRole);
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    73
    void setTextAndVisibilityOfButtons();
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    74
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    75
private:
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    76
    HbDocumentLoader *mLoader;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    77
    HbGroupBox *mGroupBox;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    78
    HbLabel *mDeviceIcon;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    79
    HbTextEdit *mDeviceName;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    80
    HbLabel *mDeviceCategory;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    81
    HbLabel *mDeviceStatus;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    82
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    83
    HbPushButton *mPair_Unpair;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    84
    HbPushButton *mConnect_Disconnect;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    85
    HbPushButton *mDeviceSetting;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    86
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    87
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    88
    // data structures for switching between views
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    89
    bool mEventFilterInstalled;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    90
    int mAutoCmdId;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    91
    Qt::Orientation mOrientation;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    92
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    93
    HbMainWindow* mMainWindow;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    94
    BtCpUiBaseView* mMainView;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    95
    //BtCpUiBaseView* mDeviceView;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    96
    HbAction *mSoftKeyBackAction;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    97
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    98
    QModelIndex mDeviceIndex;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
    99
    QVariant mDeviceBdAddr;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   100
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   101
    //true -> device is paired; false -> device is unpaired
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   102
    bool mPairStatus;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   103
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   104
    //true-> device is connected; false -> device is disconnected
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   105
    bool mConnectStatus;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   106
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   107
	//true -> device is connectable
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   108
    //e.g. not possible to connect to a phone, but possible to connect to a headset
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   109
    bool mConnectable;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   110
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   111
    BtAbstractDelegate* mAbstractDelegate;
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   112
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   113
    
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   114
};
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   115
a0ea99b6fa53 201019_1
hgs
parents:
diff changeset
   116
#endif