phonebookengines/cntlistmodel/inc/cntlistmodel_p.h
changeset 65 ae724a111993
parent 47 7cbcb2896f0e
equal deleted inserted replaced
59:a642906a277a 65:ae724a111993
    21 #include <QSharedData>
    21 #include <QSharedData>
    22 #include <QMap>
    22 #include <QMap>
    23 
    23 
    24 #include <qcontactmanager.h>
    24 #include <qcontactmanager.h>
    25 #include <qcontactfilter.h>
    25 #include <qcontactfilter.h>
       
    26 #include <qcontactdetailfilter.h>
    26 #include <qcontactsortorder.h>
    27 #include <qcontactsortorder.h>
    27 #include <cntuids.h>
    28 #include <cntuids.h>
    28 #include "cntcache.h"
    29 #include "cntcache.h"
    29 #include <cntdebug.h>
    30 #include <cntdebug.h>
    30 
    31 #include "cntdisplaytextformatter.h"
    31 #include <xqsettingsmanager.h> 
    32 #include <xqsettingsmanager.h> 
    32 #include <xqsettingskey.h>
    33 #include <xqsettingskey.h>
    33 
    34 
    34 QTM_USE_NAMESPACE
    35 QTM_USE_NAMESPACE
    35 
    36 
    43                           m_currentRow(-1),
    44                           m_currentRow(-1),
    44                           m_showMyCard(showMyCard),
    45                           m_showMyCard(showMyCard),
    45                           m_Settings(NULL),
    46                           m_Settings(NULL),
    46                           m_NameListRowSettingkey(NULL),
    47                           m_NameListRowSettingkey(NULL),
    47                           m_currentRowSetting(0),
    48                           m_currentRowSetting(0),
    48                           m_groupId(-1)
    49                           m_groupId(-1),
       
    50                           m_Format( new CntDummyDisplayTextFormatter )
    49         { 
    51         { 
    50             setFilter(contactFilter);
    52             setFilter(contactFilter);
    51         }
    53         }
    52 
    54 
    53     ~CntListModelData()
    55     ~CntListModelData()
    54         {
    56         {
    55             if (m_ownedContactManager) 
    57             if (m_ownedContactManager) 
    56                 delete m_contactManager;
    58                 delete m_contactManager;
    57             delete m_Settings;
    59             delete m_Settings;
    58             delete m_NameListRowSettingkey;
    60             delete m_NameListRowSettingkey;
       
    61             delete m_Format;
    59         }
    62         }
    60 
    63 
    61     void setFilter(const QContactFilter& contactFilter)
    64     void setFilter(const QContactFilter& contactFilter)
    62         {
    65         {
    63             CNT_LOG_ARGS(contactFilter.type())
    66             CNT_LOG_ARGS(contactFilter.type())
    71                         relationshipFilter->relatedContactRole() == QContactRelationship::First)
    74                         relationshipFilter->relatedContactRole() == QContactRelationship::First)
    72                         m_groupId = relationshipFilter->relatedContactId().localId();
    75                         m_groupId = relationshipFilter->relatedContactId().localId();
    73             }
    76             }
    74             else {
    77             else {
    75                 m_groupId = -1;
    78                 m_groupId = -1;
       
    79                 
       
    80                 // set proper text formatter for the display name. 
       
    81                 if ( contactFilter.type() == QContactFilter::ContactDetailFilter )
       
    82                 {
       
    83                     delete m_Format;
       
    84                     m_Format = NULL;
       
    85                     
       
    86                     QContactDetailFilter* detailFilter = static_cast<QContactDetailFilter*>( &m_filter );
       
    87                     QStringList filter = detailFilter->value().toStringList();
       
    88                     
       
    89                     if ( detailFilter->detailDefinitionName() == QContactDisplayLabel::DefinitionName && 
       
    90                          detailFilter->matchFlags() & QContactFilter::MatchStartsWith &&
       
    91                          !filter.isEmpty() )
       
    92                     {
       
    93                         m_Format = new CntHTMLDisplayTextFormatter();
       
    94                     }
       
    95                     else
       
    96                     {
       
    97                         m_Format = new CntDummyDisplayTextFormatter();    
       
    98                     }
       
    99                 }
       
   100                     
    76             }
   101             }
    77 
   102 
    78             CNT_LOG_ARGS(m_groupId)
   103             CNT_LOG_ARGS(m_groupId)
    79         }
   104         }
    80 
   105 
    94 	
   119 	
    95     XQSettingsManager* m_Settings;
   120     XQSettingsManager* m_Settings;
    96     XQSettingsKey *m_NameListRowSettingkey;
   121     XQSettingsKey *m_NameListRowSettingkey;
    97     int m_currentRowSetting;
   122     int m_currentRowSetting;
    98     QContactLocalId m_groupId;
   123     QContactLocalId m_groupId;
       
   124     
       
   125     CntDisplayTextFormatter* m_Format;
    99 };
   126 };
   100 
   127 
   101 #endif // QCONTACTMODELPRIVATE_H
   128 #endif // QCONTACTMODELPRIVATE_H
   102 
   129