src/hbcore/i18n/hbdntxmlreader.cpp
changeset 6 c3690ec91ef8
parent 0 16d8024aca5e
child 7 923ff622b8b9
equal deleted inserted replaced
5:627c4a0fd0e7 6:c3690ec91ef8
    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_"
    33 #define DirectoryLocalizerTranslationsFile "/resource/hbi18n/translations/directorylocalizer_"
    34 
    34 
       
    35 /*!
       
    36     Constructor of class.  
       
    37 */ 
    35 HbDNTXmlReader::HbDNTXmlReader()
    38 HbDNTXmlReader::HbDNTXmlReader()
    36 {
    39 {
    37 	fullPaths = NULL;
    40 	fullPaths = NULL;
    38 	pathStrings = NULL;
    41 	pathStrings = NULL;
    39 	
    42 	
    79 			reader.parse( source ) ;
    82 			reader.parse( source ) ;
    80 		}
    83 		}
    81 	
    84 	
    82 }
    85 }
    83 
    86 
       
    87 /*!
       
    88     Destructor of class. 
       
    89 */ 
    84 HbDNTXmlReader::~HbDNTXmlReader()
    90 HbDNTXmlReader::~HbDNTXmlReader()
    85 {
    91 {
    86     delete fullPaths;
    92     delete fullPaths;
    87     delete pathStrings;
    93     delete pathStrings;
    88 	QCoreApplication::removeTranslator(trans);
    94 	QCoreApplication::removeTranslator(trans);
    89 	delete trans;
    95 	delete trans;
    90 }
    96 }
    91 
    97 
       
    98 /*!
       
    99     This function is needed by XML reader.  
       
   100      
       
   101     \return true 
       
   102 */ 
    92 bool HbDNTXmlReader::startDocument()
   103 bool HbDNTXmlReader::startDocument()
    93 {
   104 {
    94     return true;
   105     return true;
    95 }
   106 }
    96 
   107 
       
   108 /*!
       
   109     This function is needed by XML reader.  
       
   110      
       
   111     \param qName element which will be readed
       
   112     \return true 
       
   113 */ 
    97 bool HbDNTXmlReader::startElement( const QString & ,
   114 bool HbDNTXmlReader::startElement( const QString & ,
    98 				   const QString & ,
   115 				   const QString & ,
    99 				   const QString & qName,
   116 				   const QString & qName,
   100 				   const QXmlAttributes & )
   117 				   const QXmlAttributes & )
   101 {
   118 {
   102 	if( qName == DirectoryLocalizerPathStringsStr ) {
   119     if( qName == DirectoryLocalizerPathStringsStr ) {
   103 		parsePathStrings = true;  // set to parse Path 
   120     	parsePathStrings = true;  // set to parse Path 
   104 		parseDirectoryPaths = false;
   121     	parseDirectoryPaths = false;
   105 		elements.clear();
   122     	elements.clear();
   106 		elementNumber = 0;  // Set current path element number as undefined
   123     	elementNumber = 0;  // Set current path element number as undefined
   107 		twoDone = false;
   124     	twoDone = false;
   108 	} else if( qName == DirectoryLocalizerFullDirectoryPathsStr ) {
   125     } else if( qName == DirectoryLocalizerFullDirectoryPathsStr ) {
   109 		parsePathStrings = false;
   126     	parsePathStrings = false;
   110 		parseDirectoryPaths = true;  // set to parse localized path
   127     	parseDirectoryPaths = true;  // set to parse localized path
   111 		elements.clear();
   128     	elements.clear();
   112 		elementNumber = 0;  // set current path element as undefined
   129     	elementNumber = 0;  // set current path element as undefined
   113 		twoDone = false;
   130     	twoDone = false;
   114 	} else if( qName == DirectoryLocalizerNameStr ) {
   131     } else if( qName == DirectoryLocalizerNameStr ) {
   115 		elementNumber = 1;  // 
   132     	elementNumber = 1;  // 
   116 		validElement = true;
   133     	validElement = true;
   117 		twoDone = false;
   134     	twoDone = false;
   118 	} else if( qName == DirectoryLocalizerPathStr ){
   135     } else if( qName == DirectoryLocalizerPathStr ){
   119 		elementNumber = 2;
   136     	elementNumber = 2;
   120 		validElement = true;
   137     	validElement = true;
   121 		twoDone = false;
   138     	twoDone = false;
   122 	} else if( qName == DirectoryLocalizerTranslationStr){
   139     } else if( qName == DirectoryLocalizerTranslationStr){
   123 		elementNumber = 3;
   140     	elementNumber = 3;
   124 		validElement = true;	
   141     	validElement = true;	
   125 	} else if( qName == DirectoryLocalizerRootPathStr ){
   142     } else if( qName == DirectoryLocalizerRootPathStr ){
   126 		elementNumber = 1;
   143     	elementNumber = 1;
   127 		validElement = true;
   144     	validElement = true;
   128 		twoDone = false;
   145     	twoDone = false;
   129 	} else if( qName == DirectoryLocalizerLocalizedPathStr ){
   146     } else if( qName == DirectoryLocalizerLocalizedPathStr ){
   130 		elementNumber = 2;
   147     	elementNumber = 2;
   131 		validElement = true;
   148     	validElement = true;
   132 		twoDone = false;
   149     	twoDone = false;
   133 	} else if( qName == DirectoryLocalizerLocalizedNameStr ){
   150     } else if( qName == DirectoryLocalizerLocalizedNameStr ){
   134 		elementNumber = 3;
   151     	elementNumber = 3;
   135 		validElement = true;
   152     	validElement = true;
   136 		twoDone = false;
   153     	twoDone = false;
   137 	} else
   154     } else {
   138     {
       
   139         elementNumber++;
   155         elementNumber++;
   140     }
   156     }
   141 	
   157 	
   142     return true;	
   158     return true;	
   143 }
   159 }
   144 
   160 
       
   161 /*!
       
   162     This function is needed by XML reader.  
       
   163      
       
   164     \param text readed element
       
   165     \return true 
       
   166 */ 
   145 bool HbDNTXmlReader::characters(const QString& text)
   167 bool HbDNTXmlReader::characters(const QString& text)
   146 {
   168 {
   147     QString t = text;
   169     QString t = text;
   148     QString x;
   170     QString x;
   149     QString y;
   171     QString y;
   214 		}
   236 		}
   215 	}
   237 	}
   216     return true;
   238     return true;
   217 }
   239 }
   218 
   240 
       
   241 /*!
       
   242     This function is needed by XML reader.  
       
   243      
       
   244     \param qName element which was readed
       
   245     \return true 
       
   246 */ 
   219 bool HbDNTXmlReader::endElement( const QString &,
   247 bool HbDNTXmlReader::endElement( const QString &,
   220         const QString &,
   248         const QString &,
   221         const QString & qName )
   249         const QString & qName )
   222 {
   250 {
   223 	if( qName == DirectoryLocalizerPathStringsStr ) {
   251 	if( qName == DirectoryLocalizerPathStringsStr ) {
   251 		}
   279 		}
   252 	}
   280 	}
   253 	return true;
   281 	return true;
   254 }
   282 }
   255 
   283 
       
   284 /*!
       
   285     This function is needed by XML reader.  
       
   286      
       
   287     \return true 
       
   288 */ 
   256 bool HbDNTXmlReader::endDocument()
   289 bool HbDNTXmlReader::endDocument()
   257 {
   290 {
   258     return true;
   291     return true;
   259 }
   292 }
   260 
   293 
       
   294 /*!
       
   295     \return pointer to list of full paths 
       
   296 */ 
   261 QMap<QString,QString> HbDNTXmlReader::getFullPaths()
   297 QMap<QString,QString> HbDNTXmlReader::getFullPaths()
   262 {
   298 {
   263 	return *fullPaths;
   299 	return *fullPaths;
   264 }
   300 }
   265 
   301