phonebookui/pbkcommonui/tsrc/mobactionextensionexample/src/mobexampledynamicaction.cpp
changeset 37 fd64c38c277d
equal deleted inserted replaced
31:2a11b5b00470 37:fd64c38c277d
       
     1 /*
       
     2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 #include "mobexampledynamicaction.h"
       
    19 #include <qcontactonlineaccount.h>
       
    20 #include <xqservicerequest.h>
       
    21 #include <qcontactphonenumber.h>
       
    22 #include <qcontactfilters.h>
       
    23 #include <cntuiactionextension.h>
       
    24 
       
    25 //Action class
       
    26 MobExampleDynamicAction::MobExampleDynamicAction(const QString& actionName, const QString& vendorName) : 
       
    27     MobBaseAction(actionName, vendorName)
       
    28 {
       
    29 }
       
    30 
       
    31 MobExampleDynamicAction::MobExampleDynamicAction(const QString& actionName, const QString& vendorName, const MobExampleDynamicAction& copy) : 
       
    32     MobBaseAction(actionName, vendorName)
       
    33 {
       
    34     mTitleField = copy.mTitleField;
       
    35     mValueField = copy.mValueField;
       
    36     mTitleFieldDetail = copy.mTitleFieldDetail;
       
    37     mValueFieldDetail = copy.mValueFieldDetail;
       
    38     mIcon = copy.mIcon;
       
    39     mFilter = copy.mFilter;
       
    40     mDefinitionName = copy.mDefinitionName;
       
    41 }
       
    42 
       
    43 MobExampleDynamicAction::~MobExampleDynamicAction()
       
    44 {
       
    45 }
       
    46 
       
    47 QVariantMap MobExampleDynamicAction::metaData() const
       
    48 {
       
    49     QVariantMap variantMap;
       
    50     
       
    51     variantMap.insert(KCntUiActionMetaTitleTextDetail, !mTitleField.isEmpty() ? mTitleField : mTitleFieldDetail);
       
    52     
       
    53     if(!mValueFieldDetail.isEmpty())
       
    54         variantMap.insert(KCntUiActionMetaValueTextDetail, mValueFieldDetail);
       
    55     else if(!mValueField.isEmpty())
       
    56         variantMap.insert(KCntUiActionMetaValueText, mValueField);
       
    57     // Must be QIcon
       
    58     QIcon icon(mIcon);
       
    59     QVariant iconVariant(icon);
       
    60     variantMap.insert("icon", iconVariant);
       
    61     return variantMap;
       
    62 }
       
    63 
       
    64 QContactFilter MobExampleDynamicAction::contactFilter(const QVariant& value) const
       
    65 {
       
    66     return mFilter;
       
    67 }
       
    68 
       
    69 bool MobExampleDynamicAction::isDetailSupported(const QContactDetail &detail, const QContact &contact) const
       
    70 {
       
    71     if(mDefinitionName == detail.definitionName())
       
    72     {
       
    73         return true;
       
    74     }
       
    75     else
       
    76     {
       
    77         return false;
       
    78     }
       
    79 }
       
    80 
       
    81 QList<QContactDetail> MobExampleDynamicAction::supportedDetails(const QContact& contact) const
       
    82 {
       
    83     
       
    84 }
       
    85 
       
    86 QContactAction::State MobExampleDynamicAction::state() const
       
    87 {
       
    88     
       
    89 }
       
    90 
       
    91 MobExampleDynamicAction* MobExampleDynamicAction::clone() const
       
    92 {
       
    93      return new MobExampleDynamicAction(m_actionName, m_vendorName, *this);
       
    94 }
       
    95 
       
    96 void MobExampleDynamicAction::setDefinitionName(const QString& definitionName)
       
    97 {
       
    98     mDefinitionName = definitionName;
       
    99 }
       
   100 
       
   101 void MobExampleDynamicAction::setFilter(QContactFilter filter)
       
   102 {
       
   103     mFilter = filter;
       
   104 }
       
   105 
       
   106 void MobExampleDynamicAction::setIcon(QIcon icon)
       
   107 {
       
   108     mIcon = icon;
       
   109 }
       
   110 
       
   111 void MobExampleDynamicAction::setTitleField(QString titleField)
       
   112 {
       
   113     mTitleField = titleField;
       
   114 }
       
   115 
       
   116 void MobExampleDynamicAction::setValueField(QString valueField)
       
   117 {
       
   118     mValueField = valueField;
       
   119 }
       
   120 
       
   121 void MobExampleDynamicAction::setTitleFieldDetail(QString titleFieldDetail)
       
   122 {
       
   123     mTitleFieldDetail = titleFieldDetail;
       
   124 }
       
   125 
       
   126 void MobExampleDynamicAction::setValueFieldDetail(QString valueFieldDetail)
       
   127 {
       
   128     mValueFieldDetail = valueFieldDetail;
       
   129 }