diff -r 2a11b5b00470 -r fd64c38c277d phonebookui/pbkcommonui/tsrc/mobactionextensionexample/src/mobexampledynamicaction.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phonebookui/pbkcommonui/tsrc/mobactionextensionexample/src/mobexampledynamicaction.cpp Thu May 27 12:45:19 2010 +0300 @@ -0,0 +1,129 @@ +/* +* Copyright (c) 2010 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 "mobexampledynamicaction.h" +#include +#include +#include +#include +#include + +//Action class +MobExampleDynamicAction::MobExampleDynamicAction(const QString& actionName, const QString& vendorName) : + MobBaseAction(actionName, vendorName) +{ +} + +MobExampleDynamicAction::MobExampleDynamicAction(const QString& actionName, const QString& vendorName, const MobExampleDynamicAction& copy) : + MobBaseAction(actionName, vendorName) +{ + mTitleField = copy.mTitleField; + mValueField = copy.mValueField; + mTitleFieldDetail = copy.mTitleFieldDetail; + mValueFieldDetail = copy.mValueFieldDetail; + mIcon = copy.mIcon; + mFilter = copy.mFilter; + mDefinitionName = copy.mDefinitionName; +} + +MobExampleDynamicAction::~MobExampleDynamicAction() +{ +} + +QVariantMap MobExampleDynamicAction::metaData() const +{ + QVariantMap variantMap; + + variantMap.insert(KCntUiActionMetaTitleTextDetail, !mTitleField.isEmpty() ? mTitleField : mTitleFieldDetail); + + if(!mValueFieldDetail.isEmpty()) + variantMap.insert(KCntUiActionMetaValueTextDetail, mValueFieldDetail); + else if(!mValueField.isEmpty()) + variantMap.insert(KCntUiActionMetaValueText, mValueField); + // Must be QIcon + QIcon icon(mIcon); + QVariant iconVariant(icon); + variantMap.insert("icon", iconVariant); + return variantMap; +} + +QContactFilter MobExampleDynamicAction::contactFilter(const QVariant& value) const +{ + return mFilter; +} + +bool MobExampleDynamicAction::isDetailSupported(const QContactDetail &detail, const QContact &contact) const +{ + if(mDefinitionName == detail.definitionName()) + { + return true; + } + else + { + return false; + } +} + +QList MobExampleDynamicAction::supportedDetails(const QContact& contact) const +{ + +} + +QContactAction::State MobExampleDynamicAction::state() const +{ + +} + +MobExampleDynamicAction* MobExampleDynamicAction::clone() const +{ + return new MobExampleDynamicAction(m_actionName, m_vendorName, *this); +} + +void MobExampleDynamicAction::setDefinitionName(const QString& definitionName) +{ + mDefinitionName = definitionName; +} + +void MobExampleDynamicAction::setFilter(QContactFilter filter) +{ + mFilter = filter; +} + +void MobExampleDynamicAction::setIcon(QIcon icon) +{ + mIcon = icon; +} + +void MobExampleDynamicAction::setTitleField(QString titleField) +{ + mTitleField = titleField; +} + +void MobExampleDynamicAction::setValueField(QString valueField) +{ + mValueField = valueField; +} + +void MobExampleDynamicAction::setTitleFieldDetail(QString titleFieldDetail) +{ + mTitleFieldDetail = titleFieldDetail; +} + +void MobExampleDynamicAction::setValueFieldDetail(QString valueFieldDetail) +{ + mValueFieldDetail = valueFieldDetail; +}