phonebookui/cntcommonui/tsrc/ut_contactcard/cntactionextensionexample/src/cntexampleaction.cpp
author hgs
Fri, 15 Oct 2010 12:24:46 +0300
changeset 81 640d30f4fb64
parent 72 phonebookui/cntcommonui/tsrc/ut_pbkcontactcard/cntactionextensionexample/src/cntexampleaction.cpp@6abfb1094884
permissions -rw-r--r--
201041

/*
* 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 "cntexampleaction.h"
#include <qcontactonlineaccount.h>
#include <xqservicerequest.h>
#include <qcontactphonenumber.h>
#include <qcontactfilters.h>
#include <cntuiactionextension.h>
#include <QIcon>
#include <hbicon.h>

//Action class
MobExampleAction::MobExampleAction(const QString& actionName, const QString& vendorName) : 
    MobBaseAction(actionName, vendorName)
{
}

MobExampleAction::~MobExampleAction()
{
}

QVariantMap MobExampleAction::metaData() const
{
    QVariantMap variantMap;
    const QString& string("Test action 1");
    QVariant localization(string);
    variantMap.insert(KCntUiActionMetaTitleText, localization);
    const QString& string2(QContactOnlineAccount::FieldAccountUri);
    const QVariant detailField(string2);
    variantMap.insert(KCntUiActionMetaValueTextDetail, detailField);
    QString menuString("Do example action");
    QVariant longPressMenu(menuString);
    variantMap.insert(KCntUiActionMetaValueTextLongPress, longPressMenu);
    HbIcon hIcon("qtg_large_voip.svg");
    // Must be QIcon
    QIcon icon(hIcon.qicon());
    QVariant iconVariant(icon);
    variantMap.insert("icon", iconVariant);
    return variantMap;
}

QContactFilter MobExampleAction::contactFilter(const QVariant& value) const
{
    Q_UNUSED(value);
    
    QContactDetailFilter onlineFilter;
    onlineFilter.setDetailDefinitionName(QContactOnlineAccount::DefinitionName, QContactOnlineAccount::FieldSubTypes);
    onlineFilter.setValue(QLatin1String(QContactOnlineAccount::SubTypeImpp));

    return onlineFilter;
}

bool MobExampleAction::isDetailSupported(const QContactDetail &detail, const QContact &contact) const
{
    if(QContactOnlineAccount::DefinitionName == detail.definitionName())
    {
        return true;
    }
    else
    {
        return false;
    }
}

QList<QContactDetail> MobExampleAction::supportedDetails(const QContact& contact) const
{
    
}

QContactAction::State MobExampleAction::state() const
{
    
}

MobExampleAction* MobExampleAction::clone() const
{
     return new MobExampleAction(m_actionName, m_vendorName);
}