bluetoothengine/btnotif/btdevicedialogplugin/inc/btdevicesearchdialogwidget.h
author hgs
Mon, 12 Jul 2010 18:51:05 +0300
changeset 42 b72428996822
parent 31 a0ea99b6fa53
child 47 9e2a905b887f
permissions -rw-r--r--
201025
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     1
/*
48ae3789ce00 201017_2
hgs
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
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:  
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
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    19
#ifndef BTDEVICESEARCHDIALOGWIDGET_H
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    20
#define BTDEVICESEARCHDIALOGWIDGET_H
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    21
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    22
#include <QObject>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    23
#include <QVariantMap>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    24
#include <hbdialog.h>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    25
#include <hbdevicedialoginterface.h>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    26
#include <hbpopup.h>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    27
#include <hbdocumentloader.h>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    28
#include <qstandarditemmodel.h>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    29
#include <hbradiobuttonlist.h>
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    30
#include <hblistwidget.h>
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    31
#include <hblabel.h>
42
hgs
parents: 31
diff changeset
    32
#include <hbaction.h>
hgs
parents: 31
diff changeset
    33
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    34
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    35
struct device
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    36
    {
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    37
    QString mDeviceName;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    38
    QString mDeviceType;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    39
    int     mDeviceIdx;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    40
    };
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    41
42
hgs
parents: 31
diff changeset
    42
hgs
parents: 31
diff changeset
    43
class BTDeviceSearchDialogWidget : public QObject,
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    44
                                public HbDeviceDialogInterface
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    45
    {
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    46
    Q_OBJECT
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    47
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    48
public:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    49
    BTDeviceSearchDialogWidget(const QVariantMap &parameters);
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    50
    ~BTDeviceSearchDialogWidget();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    51
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    52
public: // from HbDeviceDialogInterface
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    53
    bool setDeviceDialogParameters(const QVariantMap &parameters);
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    54
    int deviceDialogError() const;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    55
    void closeDeviceDialog(bool byClient);
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    56
    HbPopup *deviceDialogWidget() const;
42
hgs
parents: 31
diff changeset
    57
    virtual QObject *signalSender() const;
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    58
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    59
public slots:
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    60
    void stopRetryClicked();
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    61
    void retryClicked();
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    62
    void viewByClicked();
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    63
    void deviceSelected(const QModelIndex& modelIndex);
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    64
//    void viewByItemSelected(int index);
42
hgs
parents: 31
diff changeset
    65
    void selectionDialogClosed(HbAction *action);
hgs
parents: 31
diff changeset
    66
    void searchDialogClosed(); 
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    67
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    68
private:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    69
    bool constructDialog(const QVariantMap &parameters);
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    70
    void hideEvent(QHideEvent *event);
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    71
    void showEvent(QShowEvent *event);
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    72
    void appendToDeviceList(const QString deviceName);
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    73
    bool appendToDeviceTypeList(const QString deviceType);
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    74
    QIcon icon();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    75
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    76
signals:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    77
    void deviceDialogClosed();
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    78
    void deviceDialogData(QVariantMap  data);
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    79
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    80
private:
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    81
    HbDocumentLoader *mLoader;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    82
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    83
    /**
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    84
     * 
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    85
     * item model for content list view.
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    86
     */
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    87
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    88
    QStandardItemModel* mContentItemModel;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    89
    HbDialog*           mViewByDialog;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    90
    HbRadioButtonList*  mRbl;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    91
    QList<QString>      mDeviceTypeList;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    92
    QList<device>       mDeviceList;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    93
    HbListView*         mListView;
31
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    94
    HbLabel*            mSearchLabel; 
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    95
    HbLabel*            mSearchIconLabel;
a0ea99b6fa53 201019_1
hgs
parents: 29
diff changeset
    96
    HbLabel*            mSearchDoneLabel;
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    97
    bool                mViewByChosen;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    98
    QList<device>       mDeviceLstOfType;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
    99
    int                 mDeviceLstIdx;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   100
    int                 mSelectedType;
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   101
    int                 mDeviceDialogData;
42
hgs
parents: 31
diff changeset
   102
    HbDialog *mSearchDevicesDialog;
hgs
parents: 31
diff changeset
   103
    HbAction *mStopRetryAction;
hgs
parents: 31
diff changeset
   104
    HbAction *mViewByAction;
hgs
parents: 31
diff changeset
   105
hgs
parents: 31
diff changeset
   106
    int mStopRetryFlag;
29
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   107
    
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   108
    Q_DISABLE_COPY(BTDeviceSearchDialogWidget)
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   109
    };
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   110
48ae3789ce00 201017_2
hgs
parents:
diff changeset
   111
#endif /* BTDEVICESEARCHDIALOGWIDGET_H */