bluetoothengine/btui/btcpplugin/btcpuimainview.h
author hgs
Tue, 19 Oct 2010 15:09:34 +0300
changeset 70 f5508c13dfe0
parent 67 16e4b9007960
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     1
/*
42
hgs
parents: 31
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     3
* All rights reserved.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     8
*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     9
* Initial Contributors:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    11
*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    12
* Contributors:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    13
*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    14
* Description:  Main View of BT Application
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    15
*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    16
*/
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    17
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    18
#ifndef BTCPUIMAINVIEW_H
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    19
#define BTCPUIMAINVIEW_H
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    20
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    21
#include "btcpuibaseview.h"
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    22
#include <btqtconstants.h>
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    23
#include <btdelegateconsts.h>
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    24
#include "btcpuiviewmgr.h"
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    25
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    26
class HbLabel;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    27
class HbLineEdit;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    28
class HbPushButton;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    29
class HbIcon;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    30
class HbComboBox;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    31
class HbDocumentLoader;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    32
class HbGridView;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    33
class BtAbstractDelegate;
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    34
class HbListView;
42
hgs
parents: 31
diff changeset
    35
class HbGroupBox;
47
9e2a905b887f 201029_02
hgs
parents: 42
diff changeset
    36
class HbDataForm;
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    37
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    38
class BtcpuiMainView : public BtcpuiBaseView, public BtcpuiViewMgr
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    39
{
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    40
    Q_OBJECT
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    41
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    42
public:
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    43
    
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    44
    explicit BtcpuiMainView(QGraphicsItem *parent = 0 );    
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    45
    
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    46
    explicit BtcpuiMainView(BtSettingModel &settingModel, 
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    47
            BtDeviceModel &deviceModel, 
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    48
            QGraphicsItem *parent = 0 );
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    49
    
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    50
    ~BtcpuiMainView();
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    51
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    52
    // from base class BtcpuiBaseView
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    53
    virtual void activateView( const QVariant& value, bool backNavi);
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    54
    
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    55
    virtual void deactivateView();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    56
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    57
    virtual void createContextMenuActions(int majorRole);
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    58
    
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    59
public slots: 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    60
    void changeOrientation( Qt::Orientation orientation );
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    61
    void changePowerState();
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    62
    void changeVisibility(int index);
42
hgs
parents: 31
diff changeset
    63
    void changeBtLocalName();
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    64
    void updateSettingItems(const QModelIndex &topLeft, const QModelIndex &bottomRight);
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    65
    void launchDeviceDiscovery();
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    66
    void goToSearchView();
42
hgs
parents: 31
diff changeset
    67
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    68
    //from delegate classes
70
hgs
parents: 67
diff changeset
    69
    void powerDelegateCompleted(int status);
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    70
    void visibilityDelegateCompleted(int status);
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    71
    void btNameDelegateCompleted(int status);
42
hgs
parents: 31
diff changeset
    72
    void allActionTriggered();
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    73
    void pairActionTriggered(); 
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    74
    void menuActionTriggered(HbAction *action);
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    75
    virtual void viewByDialogClosed(HbAction* action);
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    76
    
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    77
    void disconnectAllDelegateCompleted(int status);
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    78
    void onRemoveQuestionDialogClosed(int action);
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    79
    void aboutToShowOptionsMenu();
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    80
    
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    81
    // returns the search view instance.
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    82
    BtcpuiBaseView *searchView();
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    83
    
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    84
    // From BtcpuiViewMgr
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    85
    BtcpuiBaseView *deviceView();
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    86
    
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    87
    void switchView(BtcpuiBaseView *from, BtcpuiBaseView *destination,
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    88
            const QVariant &init, bool backNavi);
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    89
    
42
hgs
parents: 31
diff changeset
    90
private:
hgs
parents: 31
diff changeset
    91
    enum filterType {
hgs
parents: 31
diff changeset
    92
        BtuiAll = 0,
hgs
parents: 31
diff changeset
    93
        BtuiPaired
hgs
parents: 31
diff changeset
    94
    };
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    95
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    96
private:
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    97
    
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    98
    void loadDocument();
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
    99
    
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   100
    VisibilityMode indexToVisibilityMode(int index);
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   101
    int visibilityModeToIndex(VisibilityMode mode);
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   102
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   103
    //Functions to set the Previous Local settings in case of error
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   104
    void setPrevBtLocalName();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   105
    void setPrevVisibilityMode();
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
   106
    void removeRegistryDevices(BtDelegate::EditorType type);
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   107
    
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
   108
    void updateDeviceListFilter(BtcpuiMainView::filterType filter);
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
   109
    
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
   110
    void updateOptionsMenu();
42
hgs
parents: 31
diff changeset
   111
    
67
16e4b9007960 201039_4
hgs
parents: 57
diff changeset
   112
   
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   113
private:
42
hgs
parents: 31
diff changeset
   114
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
   115
    // search view. Owned
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
   116
    BtcpuiBaseView *mSearchView;
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
   117
    // device view. Owned.
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
   118
    BtcpuiBaseView *mDeviceView;
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
   119
    
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   120
    HbDocumentLoader *mLoader;
42
hgs
parents: 31
diff changeset
   121
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   122
    HbLineEdit *mDeviceNameEdit;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   123
    HbPushButton *mPowerButton;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   124
    HbComboBox *mVisibilityMode;
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
   125
    HbGridView *mDeviceList;
42
hgs
parents: 31
diff changeset
   126
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   127
    Qt::Orientation mOrientation;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   128
    
42
hgs
parents: 31
diff changeset
   129
    HbAction *mAllAction;
hgs
parents: 31
diff changeset
   130
    HbAction *mPairAction;
47
9e2a905b887f 201029_02
hgs
parents: 42
diff changeset
   131
    HbDataForm *mDataForm;
9e2a905b887f 201029_02
hgs
parents: 42
diff changeset
   132
    HbAction* mRemovePairedDevices;
9e2a905b887f 201029_02
hgs
parents: 42
diff changeset
   133
    HbAction* mRemoveDevices;
9e2a905b887f 201029_02
hgs
parents: 42
diff changeset
   134
    HbMenu* mSubMenu;
57
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
   135
    BtDelegate::EditorType mRemoveDevDelegateType;
5ebadcda06cb 201035_7
hgs
parents: 47
diff changeset
   136
    
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   137
};
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   138
#endif // BTCPUIMAINVIEW_H