src/hbcore/i18n/hbdntxmlreader.cpp
changeset 30 80e4d18b72f5
parent 23 e6ad4ef83b23
equal deleted inserted replaced
28:b7da29130b0e 30:80e4d18b72f5
    21 ** If you have questions regarding the use of this file, please contact
    21 ** If you have questions regarding the use of this file, please contact
    22 ** Nokia at developer.feedback@nokia.com.
    22 ** Nokia at developer.feedback@nokia.com.
    23 **
    23 **
    24 ****************************************************************************/
    24 ****************************************************************************/
    25 
    25 
    26 #include <QTranslator>
       
    27 #if defined(Q_OS_SYMBIAN)
    26 #if defined(Q_OS_SYMBIAN)
    28 #include <e32base.h> 
    27 #include <e32base.h> 
    29 #endif // Q_OS_SYMBIAN
    28 #endif // Q_OS_SYMBIAN
       
    29 #include <hbtranslator.h>
    30 #include "hbdntxmlreader_p.h"
    30 #include "hbdntxmlreader_p.h"
    31 
    31 
    32 #define DirectoryLocalizerFile ":/i18n/hbdirectorylocalizer.xml"
    32 #define DirectoryLocalizerFile ":/i18n/hbdirectorylocalizer.xml"
    33 #define DirectoryLocalizerTranslationsFile "/resource/hbi18n/translations/directorylocalizer_"
       
    34 
    33 
    35 /*!
    34 /*!
    36     Constructor of class.  
    35     Constructor of class.  
    37 */ 
    36 */ 
    38 HbDNTXmlReader::HbDNTXmlReader()
    37 HbDNTXmlReader::HbDNTXmlReader()
    39 {
    38 {
    40     fullPaths = NULL;
    39     fullPaths = NULL;
    41     pathStrings = NULL;
    40     pathStrings = NULL;
    42     
       
    43     
       
    44     parseDirectoryPaths = false; 
    41     parseDirectoryPaths = false; 
    45     parsePathStrings = false;
    42     parsePathStrings = false;
    46     elementNumber = 0;
    43     elementNumber = 0;
    47     validElement = false;
    44     validElement = false;
    48     twoDone = false;
    45     twoDone = false;
    49     QLocale locale = QLocale::system();
       
    50     
       
    51     trans = new QTranslator();
       
    52     QString languageStr;
       
    53     languageStr.append(DirectoryLocalizerTranslationsFile);
       
    54 
       
    55     languageStr.append(locale.name());
       
    56 
       
    57 // Support for checking both Z and C drives 
       
    58     
       
    59 #if defined(Q_OS_SYMBIAN)
       
    60     bool succeed = false;
       
    61     succeed = trans->load("z:" + languageStr);
       
    62     if ( succeed == false ) {
       
    63         trans->load("c:" + languageStr);
       
    64     }
       
    65 #else // Q_OS_SYMBIAN
       
    66     trans->load(languageStr);
       
    67 #endif // Q_OS_SYMBIAN
       
    68 
       
    69     QCoreApplication::installTranslator(trans);
       
    70     validElement = false;
    46     validElement = false;
    71     
    47     
       
    48     HbTranslator* trans = new HbTranslator("directorynamelocalizer");
       
    49     Q_UNUSED(trans);
       
    50     
    72     QFile xmlFile(DirectoryLocalizerFile);
    51     QFile xmlFile(DirectoryLocalizerFile);
    73 
       
    74     pathStrings = new QMap<QString, QString>;
    52     pathStrings = new QMap<QString, QString>;
    75     fullPaths = new QMap<QString,QString>;
    53     fullPaths = new QMap<QString,QString>;
    76 
    54     
    77     if( xmlFile.exists() )
    55     if ( xmlFile.exists() ) {
    78         {
    56         QXmlInputSource source( &xmlFile );
    79             QXmlInputSource source( &xmlFile );
    57         QXmlSimpleReader reader;
    80             QXmlSimpleReader reader; 
    58         reader.setContentHandler( this );
    81             reader.setContentHandler( this );  
    59         reader.parse( source );
    82             reader.parse( source ) ;
    60     }
    83         }
       
    84     
       
    85 }
    61 }
    86 
    62 
    87 /*!
    63 /*!
    88     Destructor of class. 
    64     Destructor of class. 
    89 */ 
    65 */ 
    90 HbDNTXmlReader::~HbDNTXmlReader()
    66 HbDNTXmlReader::~HbDNTXmlReader()
    91 {
    67 {
    92     delete fullPaths;
    68     delete fullPaths;
    93     delete pathStrings;
    69     delete pathStrings;
    94     QCoreApplication::removeTranslator(trans);
       
    95     delete trans;
       
    96 }
    70 }
    97 
    71 
    98 /*!
    72 /*!
    99     This function is needed by XML reader.  
    73     This function is needed by XML reader.  
   100      
    74      
   195                 }
   169                 }
   196                 break;
   170                 break;
   197             case 3:  // DirectoryLocalizerTranslationStr            
   171             case 3:  // DirectoryLocalizerTranslationStr            
   198                 elements.insert(0,t);
   172                 elements.insert(0,t);
   199                 
   173                 
   200                 localizedStr = QCoreApplication::translate(0,charPtr);
   174                 localizedStr = hbTrId(charPtr);
   201                 delete ba;
   175                 delete ba;
   202                 ba = 0;
   176                 ba = 0;
   203                 
   177                 
   204                 if( localizedStr == t ){
   178                 if( localizedStr == t ){
   205                     localizedStr = "";                
   179                     localizedStr = "";