--- a/qtcontactsmobility/plugins/contacts/symbian/src/filtering/cntfilterdetail.cpp Fri Jun 11 13:29:23 2010 +0300
+++ b/qtcontactsmobility/plugins/contacts/symbian/src/filtering/cntfilterdetail.cpp Wed Jun 23 18:02:44 2010 +0300
@@ -255,26 +255,26 @@
QList<QContactLocalId> CntFilterDetail::HandlePredictiveSearchFilter(const QContactFilter& filter,
QContactManager::Error* error)
{
- QString sqlQuery;
-
if (filter.type() == QContactFilter::ContactDetailFilter) {
- const QContactDetailFilter detailFilter(filter);
- if (detailFilter.matchFlags() == QContactFilter::MatchKeypadCollation) {
- CntSqlSearch sqlSearch;
- //convert string to numeric format
+ const QContactDetailFilter detailFilter(filter);
+ if (detailFilter.matchFlags() == QContactFilter::MatchKeypadCollation) {
QString pattern = detailFilter.value().toString();
- sqlQuery = sqlSearch.CreatePredictiveSearch(pattern);
- return m_srvConnection.searchContacts(sqlQuery, error);
- }
- else {
- return QList<QContactLocalId>();
- }
+ if ( detailFilter.detailFieldName() == QContactEmailAddress::FieldEmailAddress ) {
+ return m_srvConnection.searchOnServer(
+ pattern, CntSymbianSrvConnection::CntPredictiveSearchList, error);
+ } else {
+ QString sqlQuery;
+ CntSqlSearch sqlSearch;
+ //convert string to numeric format
+ sqlQuery = sqlSearch.CreatePredictiveSearch(pattern);
+ return m_srvConnection.searchContacts(sqlQuery, error);
+ }
+ }
}
- else {
- return QList<QContactLocalId>();
- }
+ return QList<QContactLocalId>();
}
+
/*
* Creates an sql query to fetch contact item IDs for all the contact items
* which may contain the specified telephone number in a telephone, fax