controlpanel/src/cpframework/src/cpbasesettingview_p.cpp
author hgs
Thu, 10 Jun 2010 16:03:48 +0800
changeset 39 c044bc2ea8f7
parent 37 940f6b67827d
child 52 58cebe0861a8
permissions -rw-r--r--
201023
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     1
/*
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     3
 * All rights reserved.
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0""
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     8
 *
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
     9
 * Initial Contributors:
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    11
 *
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    12
 * Contributors:
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    13
 *
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    14
 * Description:  
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    15
 *
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    16
 */
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    17
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    18
#include "cpbasesettingview_p.h"
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    19
#include "cpbasesettingview.h"
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    20
#include <hbinstance.h>
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    21
#include <hbaction.h>
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    22
#include <hbmainwindow.h>
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    23
#include <hbdataform.h>
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    24
#include <hbdataformmodel.h>
32
hgs
parents: 31
diff changeset
    25
#include <QGraphicsLayout>
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    26
#include "cpitemdatahelper.h"
32
hgs
parents: 31
diff changeset
    27
#include "cppluginutility.h"
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    28
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    29
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    30
CpBaseSettingViewPrivate::CpBaseSettingViewPrivate() :
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    31
    mBaseSettingView(0),
35
159cfcd3c1c5 201009_01
hgs
parents: 32
diff changeset
    32
    mSoftKeyBackAction(0)
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    33
{
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    34
}
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    35
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    36
CpBaseSettingViewPrivate::~CpBaseSettingViewPrivate()
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    37
{
35
159cfcd3c1c5 201009_01
hgs
parents: 32
diff changeset
    38
    if (mBaseSettingView) {
159cfcd3c1c5 201009_01
hgs
parents: 32
diff changeset
    39
        mBaseSettingView->setNavigationAction (0);
159cfcd3c1c5 201009_01
hgs
parents: 32
diff changeset
    40
    }
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    41
    
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    42
    delete mSoftKeyBackAction;
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    43
    mSoftKeyBackAction = 0;
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    44
}
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    45
32
hgs
parents: 31
diff changeset
    46
void CpBaseSettingViewPrivate::init(QGraphicsWidget *widget,CpBaseSettingView *baseSettingView)
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    47
{
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    48
    mBaseSettingView = baseSettingView;
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    49
    
32
hgs
parents: 31
diff changeset
    50
    if (!widget) {
hgs
parents: 31
diff changeset
    51
        widget = new HbDataForm();
hgs
parents: 31
diff changeset
    52
		CpPluginUtility::addCpItemPrototype(qobject_cast<HbDataForm *>(widget));
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    53
    }    
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    54
    
32
hgs
parents: 31
diff changeset
    55
	mBaseSettingView->setWidget(widget);
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    56
    
39
hgs
parents: 37
diff changeset
    57
    mBaseSettingView->setTitle(hbTrId("txt_cp_title_control_panel"));	//give a default title, sub classes need set it correctly
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    58
37
hgs
parents: 36
diff changeset
    59
    mSoftKeyBackAction = new HbAction(Hb::BackNaviAction , mBaseSettingView);
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    60
    QObject::connect(mSoftKeyBackAction, 
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    61
            SIGNAL(triggered()), 
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    62
            mBaseSettingView, 
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    63
            SLOT(_q_softkeyClicked()) );
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    64
35
159cfcd3c1c5 201009_01
hgs
parents: 32
diff changeset
    65
    mBaseSettingView->setNavigationAction (mSoftKeyBackAction);
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    66
}
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    67
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    68
void CpBaseSettingViewPrivate::_q_softkeyClicked()
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    69
{
37
hgs
parents: 36
diff changeset
    70
    mBaseSettingView->close();
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    71
}
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    72
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    73
#include "moc_cpbasesettingview.cpp"
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    74
35
159cfcd3c1c5 201009_01
hgs
parents: 32
diff changeset
    75
//End of File