diff -r 40a3f856b14d -r 41a7f70b3818 phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonesettings/cpphonesettingsplugins/cpnetworkplugin/src/cpnetworkplugin.cpp Tue Aug 31 15:14:29 2010 +0300 @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Nokia Corporation - initial contribution. + * + * Contributors: + * + * Description: + * + */ +#include +#include "cpnetworkplugin.h" +#include "cpnetworkpluginview.h" +#include "cppluginlogging.h" + + +/*! + CpNetworkPlugin::CpNetworkPlugin + */ +CpNetworkPlugin::CpNetworkPlugin() : + QObject(NULL), + m_localisation(NULL), + m_networkStatus(NULL) +{ + INSTALL_TRACE_MSG_HANDLER; + DPRINT << ": IN"; + + // Create guarded objects + m_localisation.reset(new CpPhoneLocalisation); + m_networkStatus.reset(new CpNetworkStatus); + + // Install required translations + m_localisation->installTranslator( + CpPhoneLocalisation:: + TranslationFileCommon); + + DPRINT << ": OUT"; +} + + +/*! + CpNetworkPlugin::~CpNetworkPlugin + */ +CpNetworkPlugin::~CpNetworkPlugin() +{ + DPRINT; + UNINSTALL_TRACE_MSG_HANDLER; +} + + +/*! + CpNetworkPlugin::createSettingFormItemData + */ +QList CpNetworkPlugin::createSettingFormItemData( + CpItemDataHelper &itemDataHelper) const +{ + DPRINT << ": IN"; + QList ret; + ret.append(new CpSettingFormEntryItemDataImpl( + itemDataHelper, + hbTrId("txt_cp_dblist_mobile_network"), + m_networkStatus->statusText(), + m_networkStatus->statusIcon())); + + m_networkStatus->setSettingFormItemData(ret.first()); + + DPRINT << ": OUT"; + return ret; +} + +/*! + CpNetworkPlugin::createSettingView + */ +CpBaseSettingView *CpNetworkPlugin::createSettingView(const QVariant &hint) const + { + DPRINT << ": IN"; + + CpItemDataHelper *itemDataHelper(NULL); + QScopedPointer > + data(new CpSettingFormEntryItemDataImpl( + *itemDataHelper, + hbTrId("txt_cp_dblist_mobile_network"), + m_networkStatus->statusText())); + CpBaseSettingView *view = data->createSettingView(); + + CpNetworkPluginView *networkPluginView = qobject_cast(view); + QVariantHash hash = hint.value(); + if ((hash.value("command").toString().compare("searchAvailableNetworks",Qt::CaseInsensitive) == 0) && + networkPluginView){ + networkPluginView->searchAvailableNetworks(); + } + + DPRINT << ": OUT"; + return view; + } + +Q_EXPORT_PLUGIN2(CpNetworkPlugin, CpNetworkPlugin); +