phonebookui/pbkcommonui/inc/cntstringmapper.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 19 Mar 2010 09:27:18 +0200
changeset 24 0ba2181d7c28
child 25 76a2435edfd4
permissions -rw-r--r--
Revision: 201007 Kit: 201011

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:
*
*/

#ifndef CNTSTRINGMAPPER_H
#define CNTSTRINGMAPPER_H

#include <qtcontacts.h>
#include <hbglobal.h>

QTM_USE_NAMESPACE

class CntStringMapper
{

public:

    CntStringMapper() { initMappings(); }
    ~CntStringMapper() {}

public:
    void initMappings()
    {
        // init stringmap for string localization
        mStringMap.insert(QContactPhoneNumber::DefinitionName, hbTrId("Phone number"));
        mStringMap.insert(QContactPhoneNumber::SubTypeAssistant, hbTrId("Assistant number"));
        mStringMap.insert(QContactPhoneNumber::SubTypeCar, hbTrId("Car phone"));
        mStringMap.insert(QContactPhoneNumber::SubTypeMobile, hbTrId("Mobile"));
        mStringMap.insert(QContactPhoneNumber::SubTypeLandline, hbTrId("Landline"));
        mStringMap.insert(QContactPhoneNumber::SubTypeDtmfMenu, hbTrId("DTMF"));
        mStringMap.insert(QContactPhoneNumber::SubTypeFacsimile, hbTrId("Fax"));
        mStringMap.insert(QContactPhoneNumber::SubTypePager, hbTrId("Pager number"));

        mStringMap.insert(QContactEmailAddress::DefinitionName, hbTrId("Email"));

        mStringMap.insert(QContactAddress::DefinitionName, hbTrId("Address"));

        mStringMap.insert(QContactOnlineAccount::DefinitionName, hbTrId("Chat"));
        mStringMap.insert(QContactOnlineAccount::SubTypeSipVoip, hbTrId("Internet call"));
        mStringMap.insert(QContactOnlineAccount::SubTypeSip, hbTrId("SIP"));
        mStringMap.insert(QContactOnlineAccount::SubTypeVideoShare, hbTrId("Share Video"));

        mStringMap.insert(QContactUrl::DefinitionName, hbTrId("URL"));

        mStringMap.insert(QContactOrganization::DefinitionName, hbTrId("Company details"));
        mStringMap.insert(QContactOrganization::FieldAssistantName, hbTrId("Assistant name"));

        mStringMap.insert(QContactBirthday::DefinitionName, hbTrId("Birthday"));
        mStringMap.insert(QContactAnniversary::DefinitionName, hbTrId("Anniversary"));

        mStringMap.insert(QContactAvatar::SubTypeAudioRingtone, hbTrId("Ringtone"));

        mStringMap.insert(QContactNote::DefinitionName, hbTrId("Note"));

        mStringMap.insert(QContactFamily::FieldSpouse, hbTrId("Spouse"));
        mStringMap.insert(QContactFamily::FieldChildren, hbTrId("Children"));

        mStringMap.insert(QContactDetail::ContextHome, hbTrId("(home)"));
        mStringMap.insert(QContactDetail::ContextWork, hbTrId("(work)"));

        // init mapping of editor icons
        mEditorIconMap.insert(QContactPhoneNumber::DefinitionName, ":/icons/qtg_small_mobile.svg");
        mEditorIconMap.insert(QContactPhoneNumber::SubTypeAssistant, ":/icons/qtg_small_assistant.svg");
        mEditorIconMap.insert(QContactPhoneNumber::SubTypeCar, ":/icons/qtg_small_car.svg");
        mEditorIconMap.insert(QContactPhoneNumber::SubTypeMobile, ":/icons/qtg_small_mobile.svg");
        mEditorIconMap.insert(QContactPhoneNumber::SubTypeLandline, ":/icons/qtg_small_landline.svg");
        mEditorIconMap.insert(QContactPhoneNumber::SubTypeDtmfMenu, ":/icons/qgn_prop_empty.svg");
        mEditorIconMap.insert(QContactPhoneNumber::SubTypeFacsimile, ":/icons/qtg_small_fax.svg");
        mEditorIconMap.insert(QContactPhoneNumber::SubTypePager, ":/icons/qtg_small_pager.svg");

        mEditorIconMap.insert(QContactEmailAddress::DefinitionName, ":/icons/qtg_small_email.svg");

        mEditorIconMap.insert(QContactAddress::DefinitionName, ":/icons/qtg_small_location.svg");

        mEditorIconMap.insert(QContactOnlineAccount::DefinitionName, ":/icons/qtg_small_internet.svg");
        mEditorIconMap.insert(QContactOnlineAccount::SubTypeSipVoip, ":/icons/qtg_small_internet.svg");
        mEditorIconMap.insert(QContactOnlineAccount::SubTypeSip, ":/icons/qtg_small_internet.svg");
        mEditorIconMap.insert(QContactOnlineAccount::SubTypeVideoShare, ":/icons/qtg_small_internet.svg");

        mEditorIconMap.insert(QContactUrl::DefinitionName, ":/icons/qgn_prop_empty.svg");

        // init mapping of contact card icons
        mLauncherIconMap.insert(QContactPhoneNumber::DefinitionName, ":/icons/qtg_large_call_mobile.svg");
        mLauncherIconMap.insert(QContactPhoneNumber::SubTypeMobile, ":/icons/qtg_large_call_mobile.svg");
        mLauncherIconMap.insert(QContactPhoneNumber::SubTypeLandline, ":/icons/qtg_large_call_landline.svg");
        mLauncherIconMap.insert(QContactPhoneNumber::SubTypeFacsimile, ":/icons/qtg_large_call_fax.svg");
        mLauncherIconMap.insert(QContactPhoneNumber::SubTypePager, ":/icons/qtg_large_call_pager.svg");
        mLauncherIconMap.insert(QContactPhoneNumber::SubTypeCar, ":/icons/qtg_large_call_car.svg");
        mLauncherIconMap.insert(QContactPhoneNumber::SubTypeAssistant, ":/icons/qtg_large_call_assistant.svg");
        mLauncherIconMap.insert(QContactPhoneNumber::SubTypeDtmfMenu, ":/icons/qtg_large_call_group.svg");

        mLauncherIconMap.insert(QContactEmailAddress::DefinitionName, ":/icons/qtg_large_email.svg");
    }

    QString getMappedDetail(const QString &string) { return mStringMap.value(string); }
    QString getMappedIcon(const QString &string) { return mEditorIconMap.value(string); }
    QString getMappedLauncherIcon(const QString &string) { return mLauncherIconMap.value(string); }

private:
    QMap<QString, QString> mStringMap;
    QMap<QString, QString> mEditorIconMap;
    QMap<QString, QString> mLauncherIconMap;

};

#endif // CNTSTRINGMAPPER_H