phonebookui/cntlistmodel/cntdisplaytextformatter.h
author hgs
Fri, 15 Oct 2010 12:24:46 +0300
changeset 81 640d30f4fb64
parent 61 phonebookengines/cntlistmodel/inc/cntdisplaytextformatter.h@d30183af6ca6
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
61
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#ifndef CNTDISPLAYTEXTFORMATTER_H_
hgs
parents:
diff changeset
    19
#define CNTDISPLAYTEXTFORMATTER_H_
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
#include <QObject>
hgs
parents:
diff changeset
    22
#include <qcontactfilter.h>
hgs
parents:
diff changeset
    23
QTM_USE_NAMESPACE
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
#define TAG_START "<span style=\"background-color:%1;color:%2\">"
hgs
parents:
diff changeset
    26
#define TAG_END   "</span>"
hgs
parents:
diff changeset
    27
    
hgs
parents:
diff changeset
    28
class CntDisplayTextFormatter
hgs
parents:
diff changeset
    29
{
hgs
parents:
diff changeset
    30
public:
hgs
parents:
diff changeset
    31
    virtual ~CntDisplayTextFormatter(){}
hgs
parents:
diff changeset
    32
    virtual QString formattedText( const QString aText, const QContactFilter& aCriteria ) = 0;
hgs
parents:
diff changeset
    33
};
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
class CntDummyDisplayTextFormatter : public QObject, public CntDisplayTextFormatter
hgs
parents:
diff changeset
    36
{
hgs
parents:
diff changeset
    37
    Q_OBJECT
hgs
parents:
diff changeset
    38
public:
hgs
parents:
diff changeset
    39
    CntDummyDisplayTextFormatter(){}
hgs
parents:
diff changeset
    40
    ~CntDummyDisplayTextFormatter(){}
hgs
parents:
diff changeset
    41
    
hgs
parents:
diff changeset
    42
    inline QString formattedText( const QString aText, const QContactFilter& aCriteria )
hgs
parents:
diff changeset
    43
    {
hgs
parents:
diff changeset
    44
        Q_UNUSED( aCriteria );
hgs
parents:
diff changeset
    45
        return aText;
hgs
parents:
diff changeset
    46
    }
hgs
parents:
diff changeset
    47
};
hgs
parents:
diff changeset
    48
hgs
parents:
diff changeset
    49
class CntHTMLDisplayTextFormatter : public QObject, public CntDisplayTextFormatter
hgs
parents:
diff changeset
    50
{
hgs
parents:
diff changeset
    51
    Q_OBJECT
hgs
parents:
diff changeset
    52
hgs
parents:
diff changeset
    53
public:
hgs
parents:
diff changeset
    54
    CntHTMLDisplayTextFormatter();
hgs
parents:
diff changeset
    55
    virtual ~CntHTMLDisplayTextFormatter();
hgs
parents:
diff changeset
    56
    
hgs
parents:
diff changeset
    57
    /*!
hgs
parents:
diff changeset
    58
     * Format given text with applied filter. Not that only following filter is supported:
hgs
parents:
diff changeset
    59
     * 
hgs
parents:
diff changeset
    60
     * QContactDetailFilter filter;
hgs
parents:
diff changeset
    61
     * filter.setDetailDefinitionName( QContactDisplayLabel::DefinitionName );
hgs
parents:
diff changeset
    62
     * filter.setMatchFlags( QContactDetailFilter::MatchStartsWith );
hgs
parents:
diff changeset
    63
     * 
hgs
parents:
diff changeset
    64
     * \param aText Buffer where to format
hgs
parents:
diff changeset
    65
     * \param aCriteria Applied filter
hgs
parents:
diff changeset
    66
     */
hgs
parents:
diff changeset
    67
    QString formattedText( const QString aText, const QContactFilter& aCriteria );
hgs
parents:
diff changeset
    68
    
hgs
parents:
diff changeset
    69
    /*!
hgs
parents:
diff changeset
    70
     * Insert tag to given text leaving given number
hgs
parents:
diff changeset
    71
     * of characters between start and end tag. 
hgs
parents:
diff changeset
    72
     * By default highlight is inserted.
hgs
parents:
diff changeset
    73
     * 
hgs
parents:
diff changeset
    74
     * \param aText Buffer where to insert tags
hgs
parents:
diff changeset
    75
     * \param aNumOfCharacters Number of characters to highlight
hgs
parents:
diff changeset
    76
     */
hgs
parents:
diff changeset
    77
    virtual void insertTag( QString& aText, int aNumOfCharacters );
hgs
parents:
diff changeset
    78
};
hgs
parents:
diff changeset
    79
#endif /* CNTDISPLAYTEXTFORMATTER_H_ */