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 |