qtcontactsmobility/plugins/contacts/symbian/src/transform/cnttransformonlineaccount.cpp
changeset 31 2a11b5b00470
parent 27 de1630741fbe
child 40 b46a585f6909
equal deleted inserted replaced
27:de1630741fbe 31:2a11b5b00470
   117 	    fieldList.append(newField);
   117 	    fieldList.append(newField);
   118 	    CleanupStack::Pop(newField);
   118 	    CleanupStack::Pop(newField);
   119 	    
   119 	    
   120         // Transform Service Provider Text
   120         // Transform Service Provider Text
   121 	    TPtrC ServiceProviderText(reinterpret_cast<const TUint16*>(onlineAccount.serviceProvider().utf16()));
   121 	    TPtrC ServiceProviderText(reinterpret_cast<const TUint16*>(onlineAccount.serviceProvider().utf16()));
   122 	         if(ServiceProviderText.Length()) {
   122 	    if(ServiceProviderText.Length()) {
   123 	             CContactItemField* serviceProviderField = CContactItemField::NewLC(KStorageTypeText);
   123             CContactItemField* serviceProviderField = CContactItemField::NewLC(KStorageTypeText);
   124 	             serviceProviderField->TextStorage()->SetTextL(ServiceProviderText);
   124 	        serviceProviderField->TextStorage()->SetTextL(ServiceProviderText);
   125 	             serviceProviderField->AddFieldTypeL(KUidContactFieldServiceProvider);
   125 	        serviceProviderField->AddFieldTypeL(KUidContactFieldServiceProvider);
   126 	             serviceProviderField->SetUserFlags(m_detailCounter);
   126 	        serviceProviderField->SetUserFlags(m_detailCounter);
   127 	             fieldList.append(serviceProviderField);
   127 	        fieldList.append(serviceProviderField);
   128 	             CleanupStack::Pop(serviceProviderField);
   128 	        CleanupStack::Pop(serviceProviderField);
   129 	         }
   129 	    }
   130 	         
       
   131                  //FIXME:no presence in onlineaccount anymore..
       
   132 //	     // Transform presence informaiton
       
   133 //        TPtrC presenceText(reinterpret_cast<const TUint16*>(onlineAccount.presence().utf16()));
       
   134 //            if(presenceText.Length()) {
       
   135 //                QString presence = QString::number(encodePresence(onlineAccount.presence()));
       
   136 //                CContactItemField* presenceField = CContactItemField::NewLC(KStorageTypeText);
       
   137 //                TPtrC presenceEncodedText(reinterpret_cast<const TUint16*>(presence.utf16()));
       
   138 //                presenceField->TextStorage()->SetTextL(presenceEncodedText);
       
   139 //                presenceField->AddFieldTypeL(KUidContactFieldPresence);
       
   140 //                fieldList.append(presenceField);
       
   141 //                CleanupStack::Pop(presenceField);
       
   142 //            }
       
   143 	         
       
   144 //	     // Transform statusMessage
       
   145 //	     TPtrC statusMsgText(reinterpret_cast<const TUint16*>(onlineAccount.statusMessage().utf16()));
       
   146 //	         if(statusMsgText.Length()) {
       
   147 //	             CContactItemField* statusMsgField = CContactItemField::NewLC(KStorageTypeText);
       
   148 //	             statusMsgField->TextStorage()->SetTextL(statusMsgText);
       
   149 //	             statusMsgField->AddFieldTypeL(KUidContactFieldStatusMsg);
       
   150 //	             fieldList.append(statusMsgField);
       
   151 //	             CleanupStack::Pop(statusMsgField);
       
   152 //	         }
       
   153 	}
   130 	}
   154 
   131 
   155 	if(fieldList.count() > 0) {
   132 	if(fieldList.count() > 0) {
   156         m_detailCounter++;
   133         m_detailCounter++;
   157 	}
   134 	}
   199         }
   176         }
   200         //Service Provider
   177         //Service Provider
   201         else if (field.ContentType().FieldType(i) == KUidContactFieldServiceProvider) {
   178         else if (field.ContentType().FieldType(i) == KUidContactFieldServiceProvider) {
   202             onlineAccount->setServiceProvider(onlineAccountString);
   179             onlineAccount->setServiceProvider(onlineAccountString);
   203         }
   180         }
   204         //Presence
       
   205         else if (field.ContentType().FieldType(i) == KUidContactFieldPresence) {
       
   206             QString presenceInfo = decodePresence(onlineAccountString.toInt());
       
   207 //            onlineAccount->setPresence(presenceInfo);
       
   208         }
       
   209         //Status Message
       
   210         else if (field.ContentType().FieldType(i) == KUidContactFieldStatusMsg) {
       
   211 //            onlineAccount->setStatusMessage(onlineAccountString);
       
   212         }
       
   213     }
   181     }
   214 
   182 
   215     // set context
   183     // set context
   216 	for (int i = 0; i < field.ContentType().FieldTypeCount(); i++) {
   184 	for (int i = 0; i < field.ContentType().FieldTypeCount(); i++) {
   217         setContexts(field.ContentType().FieldType(i), *onlineAccount);
   185         setContexts(field.ContentType().FieldType(i), *onlineAccount);
   223 bool CntTransformOnlineAccount::supportsField(TUint32 fieldType) const
   191 bool CntTransformOnlineAccount::supportsField(TUint32 fieldType) const
   224 {
   192 {
   225     bool ret = false;
   193     bool ret = false;
   226     if (fieldType == KUidContactFieldSIPID.iUid ||
   194     if (fieldType == KUidContactFieldSIPID.iUid ||
   227         fieldType == KUidContactFieldIMPP.iUid  ||
   195         fieldType == KUidContactFieldIMPP.iUid  ||
   228         fieldType == KUidContactFieldServiceProvider.iUid  ||
   196         fieldType == KUidContactFieldServiceProvider.iUid )         
   229         fieldType == KUidContactFieldPresence.iUid  ||
       
   230         fieldType == KUidContactFieldStatusMsg.iUid )         
       
   231     {
   197     {
   232         ret = true;
   198         ret = true;
   233     }
   199     }
   234     return ret;
   200     return ret;
   235 }
   201 }
   326 void CntTransformOnlineAccount::reset()
   292 void CntTransformOnlineAccount::reset()
   327 {
   293 {
   328     m_detailCounter = 0;
   294     m_detailCounter = 0;
   329 }
   295 }
   330 
   296 
   331 /*!
       
   332  * Encode the presence information.
       
   333  * \a aPresence
       
   334  */
       
   335 quint32 CntTransformOnlineAccount::encodePresence(QString aPresence)
       
   336 {
       
   337     //FIXME:presence
       
   338 //    if (QContactPresence::PresenceAvailable  == aPresence)
       
   339 //        return CntTransformOnlineAccount::EPresenceAvailable;
       
   340 //    else if (QContactPresence::PresenceHidden == aPresence)
       
   341 //        return CntTransformOnlineAccount::EPresenceHidden;
       
   342 //    else if (QContactPresence::PresenceBusy == aPresence)
       
   343 //        return CntTransformOnlineAccount::EPresenceBusy;
       
   344 //    else if (QContactPresence::PresenceAway == aPresence)
       
   345 //        return CntTransformOnlineAccount::EPresenceAway;
       
   346 //    else if (QContactPresence::PresenceExtendedAway == aPresence)
       
   347 //        return CntTransformOnlineAccount::EPresenceExtendedAway;
       
   348 //    else if (QContactPresence::PresenceUnknown == aPresence)
       
   349 //        return CntTransformOnlineAccount::EPresenceUnknown;
       
   350 //    else
       
   351         return CntTransformOnlineAccount::EPresenceOffline;
       
   352 }
       
   353 
       
   354 
       
   355 
       
   356 /*!
       
   357  * Decode the presence information.
       
   358  * \a aPresence
       
   359  */
       
   360 QString CntTransformOnlineAccount::decodePresence(quint32 aPresence)
       
   361 {
       
   362     //FIXME:presence
       
   363 //    if (CntTransformOnlineAccount::EPresenceAvailable  == aPresence)
       
   364 //        return QContactPresence::PresenceAvailable;
       
   365 //    else if (CntTransformOnlineAccount::EPresenceHidden == aPresence)
       
   366 //        return QContactPresence::PresenceHidden;
       
   367 //    else if (CntTransformOnlineAccount::EPresenceBusy == aPresence)
       
   368 //        return QContactPresence::PresenceBusy;
       
   369 //    else if ( CntTransformOnlineAccount::EPresenceAway == aPresence)
       
   370 //        return QContactPresence::PresenceAway;
       
   371 //    else if ( CntTransformOnlineAccount::EPresenceExtendedAway == aPresence)
       
   372 //        return QContactPresence::PresenceExtendedAway;
       
   373 //    else if ( CntTransformOnlineAccount::EPresenceUnknown == aPresence)
       
   374 //        return QContactPresence::PresenceUnknown;
       
   375 //    else
       
   376 //        return QContactPresence::PresenceOffline;
       
   377     return QString();
       
   378 }
       
   379 
       
   380 #endif // SYMBIAN_BACKEND_USE_SQLITE
   297 #endif // SYMBIAN_BACKEND_USE_SQLITE
   381 
   298 
   382 // End of file
   299 // End of file