appinstaller/AppinstUi/sifuidevicedialogplugin/src/sifuidialogselectlanguage_symbian.cpp
author hgs
Fri, 20 Aug 2010 11:39:56 +0300
changeset 64 48c14c385b0e
permissions -rw-r--r--
201033_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
64
48c14c385b0e 201033_01
hgs
parents:
diff changeset
     1
/*
48c14c385b0e 201033_01
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
48c14c385b0e 201033_01
hgs
parents:
diff changeset
     3
* All rights reserved.
48c14c385b0e 201033_01
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
48c14c385b0e 201033_01
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
48c14c385b0e 201033_01
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
48c14c385b0e 201033_01
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
48c14c385b0e 201033_01
hgs
parents:
diff changeset
     8
*
48c14c385b0e 201033_01
hgs
parents:
diff changeset
     9
* Initial Contributors:
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    11
*
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    12
* Contributors:
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    13
*
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    14
* Description: Symbian-specific part of the language selection dialog in SifUi
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    15
*
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    16
*/
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    17
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    18
#include "sifuidialogselectlanguage.h"  // SifUiDialogSelectLanguage
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    19
#include <languages.hrh>                // S60 language definitions
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    20
#include <hb/hbcore/hblocaleutil.h>     // HbLocaleUtil
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    21
#include <s32mem.h>                     // RMemReadStream
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    22
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    23
//
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    24
// String array to convert Symbian TLanguage enums to ISO 639-1 language codes.
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    25
//
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    26
struct SLangString
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    27
    {
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    28
    TInt iId;
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    29
    const TText8* iCode;
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    30
    };
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    31
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    32
const TInt KLangCodeLength = 2;
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    33
const SLangString KLangStrings[] =
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    34
    {
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    35
    { ELangEnglish,                 _S8( "en" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    36
    { ELangFrench,                  _S8( "fr" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    37
    { ELangGerman,                  _S8( "de" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    38
    { ELangSpanish,                 _S8( "es" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    39
    { ELangItalian,                 _S8( "it" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    40
    { ELangSwedish,                 _S8( "sv" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    41
    { ELangDanish,                  _S8( "da" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    42
    { ELangNorwegian,               _S8( "no" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    43
    { ELangFinnish,                 _S8( "fi" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    44
    { ELangAmerican,                _S8( "en" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    45
    { ELangSwissFrench,             _S8( "fr" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    46
    { ELangSwissGerman,             _S8( "de" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    47
    { ELangPortuguese,              _S8( "pt" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    48
    { ELangTurkish,                 _S8( "tr" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    49
    { ELangIcelandic,               _S8( "is" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    50
    { ELangRussian,                 _S8( "ru" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    51
    { ELangHungarian,               _S8( "hu" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    52
    { ELangDutch,                   _S8( "nl" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    53
    { ELangBelgianFlemish,          _S8( "nl" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    54
    { ELangAustralian,              _S8( "en" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    55
    { ELangBelgianFrench,           _S8( "fr" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    56
    { ELangAustrian,                _S8( "de" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    57
    { ELangNewZealand,              _S8( "en" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    58
    { ELangInternationalFrench,     _S8( "fr" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    59
    { ELangCzech,                   _S8( "cs" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    60
    { ELangSlovak,                  _S8( "sk" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    61
    { ELangPolish,                  _S8( "pl" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    62
    { ELangSlovenian,               _S8( "sl" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    63
    { ELangTaiwanChinese,           _S8( "zh" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    64
    { ELangHongKongChinese,         _S8( "zh" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    65
    { ELangPrcChinese,              _S8( "zh" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    66
    { ELangJapanese,                _S8( "ja" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    67
    { ELangThai,                    _S8( "th" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    68
    { ELangAfrikaans,               _S8( "af" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    69
    { ELangAlbanian,                _S8( "sq" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    70
    { ELangAmharic,                 _S8( "am" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    71
    { ELangArabic,                  _S8( "ar" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    72
    { ELangArmenian,                _S8( "hy" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    73
    { ELangTagalog,                 _S8( "tl" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    74
    { ELangBelarussian,             _S8( "be" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    75
    { ELangBengali,                 _S8( "bn" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    76
    { ELangBulgarian,               _S8( "bg" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    77
    { ELangBurmese,                 _S8( "my" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    78
    { ELangCatalan,                 _S8( "ca" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    79
    { ELangCroatian,                _S8( "hr" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    80
    { ELangCanadianEnglish,         _S8( "en" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    81
    { ELangInternationalEnglish,    _S8( "en" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    82
    { ELangSouthAfricanEnglish,     _S8( "en" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    83
    { ELangEstonian,                _S8( "et" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    84
    { ELangFarsi,                   _S8( "fa" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    85
    { ELangCanadianFrench,          _S8( "fr" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    86
    { ELangScotsGaelic,             _S8( "gd" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    87
    { ELangGeorgian,                _S8( "ka" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    88
    { ELangGreek,                   _S8( "el" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    89
    { ELangCyprusGreek,             _S8( "el" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    90
    { ELangGujarati,                _S8( "gu" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    91
    { ELangHebrew,                  _S8( "he" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    92
    { ELangHindi,                   _S8( "hi" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    93
    { ELangIndonesian,              _S8( "id" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    94
    { ELangIrish,                   _S8( "ga" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    95
    { ELangSwissItalian,            _S8( "it" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    96
    { ELangKannada,                 _S8( "kn" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    97
    { ELangKazakh,                  _S8( "kk" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    98
    { ELangKhmer,                   _S8( "km" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
    99
    { ELangKorean,                  _S8( "ko" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   100
    { ELangLao,                     _S8( "lo" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   101
    { ELangLatvian,                 _S8( "lv" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   102
    { ELangLithuanian,              _S8( "lt" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   103
    { ELangMacedonian,              _S8( "mk" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   104
    { ELangMalay,                   _S8( "ms" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   105
    { ELangMalayalam,               _S8( "ml" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   106
    { ELangMarathi,                 _S8( "mr" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   107
    { ELangMoldavian,               _S8( "mo" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   108
    { ELangMongolian,               _S8( "mn" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   109
    { ELangNorwegianNynorsk,        _S8( "nn" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   110
    { ELangBrazilianPortuguese,     _S8( "pt" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   111
    { ELangPunjabi,                 _S8( "pa" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   112
    { ELangRomanian,                _S8( "ro" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   113
    { ELangSerbian,                 _S8( "sr" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   114
    { ELangSinhalese,               _S8( "si" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   115
    { ELangSomali,                  _S8( "so" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   116
    { ELangInternationalSpanish,    _S8( "es" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   117
    { ELangLatinAmericanSpanish,    _S8( "es" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   118
    { ELangSwahili,                 _S8( "sw" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   119
    { ELangFinlandSwedish,          _S8( "sv" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   120
    { ELangReserved1,               _S8( "en" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   121
    { ELangTamil,                   _S8( "ta" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   122
    { ELangTelugu,                  _S8( "te" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   123
    { ELangTibetan,                 _S8( "bo" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   124
    { ELangTigrinya,                _S8( "ti" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   125
    { ELangCyprusTurkish,           _S8( "tr" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   126
    { ELangTurkmen,                 _S8( "tk" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   127
    { ELangUkrainian,               _S8( "uk" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   128
    { ELangUrdu,                    _S8( "ur" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   129
    { ELangReserved2,               _S8( "en" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   130
    { ELangVietnamese,              _S8( "vi" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   131
    { ELangWelsh,                   _S8( "cy" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   132
    { ELangZulu,                    _S8( "zu" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   133
    { KLangTaiwanEnglish,           _S8( "en" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   134
    { KLangHongKongEnglish,         _S8( "en" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   135
    { KLangPrcEnglish,              _S8( "en" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   136
    { KLangJapaneseEnglish,         _S8( "en" ) },
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   137
    { KLangThaiEnglish,             _S8( "en" ) }
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   138
    };
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   139
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   140
#define KNUMLANGSTRINGS ( sizeof( KLangStrings ) / sizeof( SLangString ) )
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   141
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   142
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   143
// ======== LOCAL FUNCTIONS ========
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   144
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   145
// ----------------------------------------------------------------------------
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   146
// LanguageCode()
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   147
// ----------------------------------------------------------------------------
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   148
//
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   149
QString LanguageCode( const TLanguage aLanguage )
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   150
{
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   151
    for( TInt index = 0; index < KNUMLANGSTRINGS; ++index )
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   152
        {
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   153
        SLangString lang = KLangStrings[ index ];
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   154
        if( lang.iId == aLanguage )
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   155
            {
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   156
            return QString::fromAscii( reinterpret_cast<const char*>( lang.iCode ),
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   157
                KLangCodeLength );
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   158
            }
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   159
        }
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   160
    return QString("");
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   161
}
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   162
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   163
// ----------------------------------------------------------------------------
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   164
// LanguageName()
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   165
// ----------------------------------------------------------------------------
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   166
//
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   167
QString LanguageName( const TLanguage aLanguage )
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   168
{
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   169
    QString langCode = LanguageCode( aLanguage );
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   170
    if( langCode.isEmpty() ) {
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   171
        return hbTrId("txt_installer_list_unknown_language");
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   172
    }
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   173
    QString langName = HbLocaleUtil::localisedLanguageName( langCode );
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   174
    if( langName.isEmpty() ) {
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   175
        return hbTrId("txt_installer_list_unknown_language");
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   176
    }
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   177
    return langName;
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   178
}
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   179
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   180
// ----------------------------------------------------------------------------
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   181
// LanguageNamesL()
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   182
// ----------------------------------------------------------------------------
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   183
//
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   184
QStringList LanguageNamesL( const TDesC8& aBuf )
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   185
{
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   186
    RMemReadStream readStream( aBuf.Ptr(), aBuf.Size() );
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   187
    CleanupClosePushL( readStream );
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   188
    RArray<TLanguage> langArray;
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   189
    TPckg< RArray<TLanguage> > langArrayPckg( langArray );
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   190
    readStream.ReadL( langArrayPckg );
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   191
    CleanupStack::PopAndDestroy( &readStream );
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   192
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   193
    QStringList langNames;
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   194
    for( TInt index = 0; index < langArray.Count(); index++ ) {
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   195
        QT_TRYCATCH_LEAVING( langNames.append( LanguageName( langArray[index] ) ) );
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   196
    }
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   197
    return langNames;
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   198
}
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   199
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   200
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   201
// ======== MEMBER FUNCTIONS ========
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   202
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   203
// ----------------------------------------------------------------------------
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   204
// SifUiDialogSelectLanguage::languageNames()
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   205
// ----------------------------------------------------------------------------
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   206
//
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   207
QStringList SifUiDialogSelectLanguage::languageNames(const QVariant& languages)
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   208
{
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   209
    QByteArray byteArray = languages.toByteArray();
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   210
    QStringList names;
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   211
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   212
    const TPtrC8 ptr(reinterpret_cast<const TText8*>(byteArray.constData()), byteArray.length());
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   213
    QT_TRAP_THROWING( names = LanguageNamesL( ptr ) );
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   214
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   215
    return names;
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   216
}
48c14c385b0e 201033_01
hgs
parents:
diff changeset
   217