controlpanel/src/cpframework/src/cpbasesettingview_p.cpp
author hgs
Thu, 02 Sep 2010 17:14:05 +0800
changeset 55 4c15d9aa2384
parent 39 c044bc2ea8f7
permissions -rw-r--r--
201035
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
 *
55
hgs
parents: 39
diff changeset
    14
 * Description:  Private implementaion for CpBaseSettingView
31
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();
55
hgs
parents: 39
diff changeset
    52
        // add item prototypes by default.
32
hgs
parents: 31
diff changeset
    53
		CpPluginUtility::addCpItemPrototype(qobject_cast<HbDataForm *>(widget));
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    54
    }    
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    55
    
32
hgs
parents: 31
diff changeset
    56
	mBaseSettingView->setWidget(widget);
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    57
    
39
hgs
parents: 37
diff changeset
    58
    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
    59
37
hgs
parents: 36
diff changeset
    60
    mSoftKeyBackAction = new HbAction(Hb::BackNaviAction , mBaseSettingView);
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    61
    QObject::connect(mSoftKeyBackAction, 
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    62
            SIGNAL(triggered()), 
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    63
            mBaseSettingView, 
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    64
            SLOT(_q_softkeyClicked()) );
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    65
35
159cfcd3c1c5 201009_01
hgs
parents: 32
diff changeset
    66
    mBaseSettingView->setNavigationAction (mSoftKeyBackAction);
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    67
}
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    68
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    69
void CpBaseSettingViewPrivate::_q_softkeyClicked()
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    70
{
37
hgs
parents: 36
diff changeset
    71
    mBaseSettingView->close();
31
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    72
}
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    73
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    74
#include "moc_cpbasesettingview.cpp"
2c9d3aa5bea2 201003_2
hgs
parents:
diff changeset
    75
35
159cfcd3c1c5 201009_01
hgs
parents: 32
diff changeset
    76
//End of File