bluetoothengine/btui/btcpplugin/btcpuidevicedetailsview.cpp
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:
42
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  BtCpUiDeviceDetailsView implementation
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
47
9e2a905b887f 201029_02
hgs
parents: 42
diff changeset
    17
#include "btcpuidevicedetailsview.h"
42
hgs
parents:
diff changeset
    18
#include <QtGlobal>
hgs
parents:
diff changeset
    19
#include <QGraphicsLinearLayout>
hgs
parents:
diff changeset
    20
#include <HbInstance>
hgs
parents:
diff changeset
    21
#include <hblabel.h>
hgs
parents:
diff changeset
    22
#include <hbmenu.h>
hgs
parents:
diff changeset
    23
#include <hbaction.h>
hgs
parents:
diff changeset
    24
#include <hbcombobox.h>
hgs
parents:
diff changeset
    25
#include <hbgroupbox.h>
hgs
parents:
diff changeset
    26
#include <bluetoothuitrace.h>
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
// docml to load
hgs
parents:
diff changeset
    29
const char* BTUI_DEVICEDETAILSVIEW_DOCML = ":/docml/bt-device-details-view.docml";
hgs
parents:
diff changeset
    30
hgs
parents:
diff changeset
    31
BtCpUiDeviceDetailsView::BtCpUiDeviceDetailsView(QGraphicsItem *parent)
hgs
parents:
diff changeset
    32
    :CpBaseSettingView( 0 , parent )
hgs
parents:
diff changeset
    33
{
hgs
parents:
diff changeset
    34
   
hgs
parents:
diff changeset
    35
    mSoftKeyBackAction = new HbAction(Hb::BackNaviAction, this);
hgs
parents:
diff changeset
    36
    BTUI_ASSERT_X(mSoftKeyBackAction, "BtCpUiBaseView::BtCpUiBaseView", "can't create back action");
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
    // Create view for the application.
hgs
parents:
diff changeset
    39
    // Set the name for the view. The name should be same as the view's
hgs
parents:
diff changeset
    40
    // name in docml.
hgs
parents:
diff changeset
    41
    setObjectName("bt_device_details_view");
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
    mLoader = new HbDocumentLoader();
hgs
parents:
diff changeset
    44
    // Pass the view to documentloader. Document loader uses this view
hgs
parents:
diff changeset
    45
    // when docml is parsed, instead of creating new view.
hgs
parents:
diff changeset
    46
    QObjectList objectList;
hgs
parents:
diff changeset
    47
    objectList.append(this);
hgs
parents:
diff changeset
    48
    mLoader->setObjectTree(objectList);
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
    // read view info from docml file
hgs
parents:
diff changeset
    51
    bool ok = false;
hgs
parents:
diff changeset
    52
    mLoader->load( BTUI_DEVICEDETAILSVIEW_DOCML, &ok );
hgs
parents:
diff changeset
    53
    // Exit if the file format is invalid
hgs
parents:
diff changeset
    54
    BTUI_ASSERT_X( ok, "bt-device-details-view", "Invalid docml file" );
hgs
parents:
diff changeset
    55
    
hgs
parents:
diff changeset
    56
    mLayout = new QGraphicsLinearLayout(Qt::Vertical, this);
hgs
parents:
diff changeset
    57
    mGroupBox = new HbGroupBox();
hgs
parents:
diff changeset
    58
    mLayout->addItem(mGroupBox);
hgs
parents:
diff changeset
    59
    
hgs
parents:
diff changeset
    60
    setLayout( mLayout );
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
}
hgs
parents:
diff changeset
    63
hgs
parents:
diff changeset
    64
BtCpUiDeviceDetailsView::~BtCpUiDeviceDetailsView()
hgs
parents:
diff changeset
    65
{
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
}
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
void BtCpUiDeviceDetailsView::setDeviceName(const QString &deviceName)
hgs
parents:
diff changeset
    70
{
hgs
parents:
diff changeset
    71
    //todo: use Localised string Id.
hgs
parents:
diff changeset
    72
    QString heading(hbTrId("%1 details"));
hgs
parents:
diff changeset
    73
    
hgs
parents:
diff changeset
    74
    if(mGroupBox) {
hgs
parents:
diff changeset
    75
        mGroupBox->setHeading(heading.arg(deviceName));
hgs
parents:
diff changeset
    76
    }
hgs
parents:
diff changeset
    77
}
hgs
parents:
diff changeset
    78
hgs
parents:
diff changeset
    79
void BtCpUiDeviceDetailsView::addItem(HbDataForm *item)
hgs
parents:
diff changeset
    80
{
hgs
parents:
diff changeset
    81
    if (item && mLayout) {
hgs
parents:
diff changeset
    82
        mLayout->addItem(item);
hgs
parents:
diff changeset
    83
    }    
hgs
parents:
diff changeset
    84
}
hgs
parents:
diff changeset
    85
hgs
parents:
diff changeset
    86
void BtCpUiDeviceDetailsView::removeItem(HbDataForm *item)
hgs
parents:
diff changeset
    87
{
hgs
parents:
diff changeset
    88
    if (item && mLayout) {
hgs
parents:
diff changeset
    89
        //todo: with out this item is not removed from the view.
hgs
parents:
diff changeset
    90
        item->setVisible(false);
hgs
parents:
diff changeset
    91
        mLayout->removeItem(item);
hgs
parents:
diff changeset
    92
    }
hgs
parents:
diff changeset
    93
}
hgs
parents:
diff changeset
    94