author | zecke <zecke> | 2004-07-07 15:18:14 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-07-07 15:18:14 (UTC) |
commit | ab010081c21f097e436c54ef8786f9abdf764790 (patch) (unidiff) | |
tree | 36934a2aecd6e898c09d3414764efce0e2777915 | |
parent | d6ed7f967feb423a91a5c6ea94d54001b33bcd77 (diff) | |
download | opie-ab010081c21f097e436c54ef8786f9abdf764790.zip opie-ab010081c21f097e436c54ef8786f9abdf764790.tar.gz opie-ab010081c21f097e436c54ef8786f9abdf764790.tar.bz2 |
INCLUDEPATH = FOO $$INCLUDEPATH triggered an infinte loop
backport the fix from Qt3.3 for that issue
Add alternative mode to only generate one language...
-rw-r--r-- | development/translation/opie-lupdate/opie-lupdate.pro | 2 | ||||
-rw-r--r-- | development/translation/shared/opie.cpp | 5 | ||||
-rw-r--r-- | development/translation/shared/proparser.cpp | 1 |
3 files changed, 6 insertions, 2 deletions
diff --git a/development/translation/opie-lupdate/opie-lupdate.pro b/development/translation/opie-lupdate/opie-lupdate.pro index ea51c8b..8360f05 100644 --- a/development/translation/opie-lupdate/opie-lupdate.pro +++ b/development/translation/opie-lupdate/opie-lupdate.pro | |||
@@ -1,21 +1,21 @@ | |||
1 | TEMPLATE= app | 1 | TEMPLATE= app |
2 | CONFIG += qt warn_on console | 2 | CONFIG += qt warn_on console thread |
3 | HEADERS = ../shared/metatranslator.h \ | 3 | HEADERS = ../shared/metatranslator.h \ |
4 | ../shared/proparser.h \ | 4 | ../shared/proparser.h \ |
5 | ../shared/opie.h | 5 | ../shared/opie.h |
6 | 6 | ||
7 | SOURCES = fetchtr.cpp \ | 7 | SOURCES = fetchtr.cpp \ |
8 | main.cpp \ | 8 | main.cpp \ |
9 | merge.cpp \ | 9 | merge.cpp \ |
10 | numberh.cpp \ | 10 | numberh.cpp \ |
11 | sametexth.cpp \ | 11 | sametexth.cpp \ |
12 | ../shared/metatranslator.cpp \ | 12 | ../shared/metatranslator.cpp \ |
13 | ../shared/proparser.cpp \ | 13 | ../shared/proparser.cpp \ |
14 | ../shared/opie.cpp | 14 | ../shared/opie.cpp |
15 | 15 | ||
16 | DEFINES += QT_INTERNAL_XML | 16 | DEFINES += QT_INTERNAL_XML |
17 | 17 | ||
18 | TARGET = opie-lupdate | 18 | TARGET = opie-lupdate |
19 | INCLUDEPATH+= ../shared | 19 | INCLUDEPATH+= ../shared |
20 | #DESTDIR = | 20 | #DESTDIR = |
21 | 21 | ||
diff --git a/development/translation/shared/opie.cpp b/development/translation/shared/opie.cpp index c5c72d1..c8cea42 100644 --- a/development/translation/shared/opie.cpp +++ b/development/translation/shared/opie.cpp | |||
@@ -1,40 +1,43 @@ | |||
1 | #include <stdlib.h> | 1 | #include <stdlib.h> |
2 | 2 | ||
3 | #include <qdir.h> | 3 | #include <qdir.h> |
4 | 4 | ||
5 | #include "opie.h" | 5 | #include "opie.h" |
6 | 6 | ||
7 | OPIE* OPIE::m_self = 0; | 7 | OPIE* OPIE::m_self = 0; |
8 | 8 | ||
9 | 9 | ||
10 | OPIE::OPIE() { | 10 | OPIE::OPIE() { |
11 | } | 11 | } |
12 | OPIE::~OPIE() { | 12 | OPIE::~OPIE() { |
13 | } | 13 | } |
14 | OPIE* OPIE::self() { | 14 | OPIE* OPIE::self() { |
15 | if (!m_self ) m_self = new OPIE; | 15 | if (!m_self ) m_self = new OPIE; |
16 | return m_self; | 16 | return m_self; |
17 | } | 17 | } |
18 | QStringList OPIE::languageList( const QString& _opieDir )const { | 18 | QStringList OPIE::languageList( const QString& _opieDir )const { |
19 | #if 0 | ||
20 | return QStringList::split(':',QString(::getenv("OPIE_CREATE_LANGS"))); | ||
21 | #else | ||
19 | QString opieDi = opieDir( _opieDir ); | 22 | QString opieDi = opieDir( _opieDir ); |
20 | |||
21 | QStringList langs; | 23 | QStringList langs; |
22 | QDir dir( opieDi + "/i18n/"); | 24 | QDir dir( opieDi + "/i18n/"); |
23 | if (!dir.exists() ) return langs; | 25 | if (!dir.exists() ) return langs; |
24 | langs = dir.entryList( QDir::Dirs ); | 26 | langs = dir.entryList( QDir::Dirs ); |
25 | 27 | ||
26 | langs.remove("CVS"); // hey this no language | 28 | langs.remove("CVS"); // hey this no language |
27 | langs.remove("unmaintained"); // remove this one too | 29 | langs.remove("unmaintained"); // remove this one too |
28 | langs.remove("."); | 30 | langs.remove("."); |
29 | langs.remove(".."); | 31 | langs.remove(".."); |
30 | 32 | ||
31 | 33 | ||
32 | 34 | ||
33 | return langs; | 35 | return langs; |
36 | #endif | ||
34 | } | 37 | } |
35 | QString OPIE::opieDir( const QString& _opieDir ) const{ | 38 | QString OPIE::opieDir( const QString& _opieDir ) const{ |
36 | if (!_opieDir.isEmpty() ) return _opieDir; | 39 | if (!_opieDir.isEmpty() ) return _opieDir; |
37 | char* dir = ::getenv("OPIEDIR"); | 40 | char* dir = ::getenv("OPIEDIR"); |
38 | if (!dir ) return QString::null; | 41 | if (!dir ) return QString::null; |
39 | return QString::fromLatin1(dir); | 42 | return QString::fromLatin1(dir); |
40 | } | 43 | } |
diff --git a/development/translation/shared/proparser.cpp b/development/translation/shared/proparser.cpp index f616c5a..bb099bb 100644 --- a/development/translation/shared/proparser.cpp +++ b/development/translation/shared/proparser.cpp | |||
@@ -114,48 +114,49 @@ QMap<QString, QString> proFileTagMap( const QString& text, const QString& opieDi | |||
114 | } | 114 | } |
115 | 115 | ||
116 | /* | 116 | /* |
117 | Expand $$variables within the 'value' part of a 'key = value' | 117 | Expand $$variables within the 'value' part of a 'key = value' |
118 | pair. | 118 | pair. |
119 | */ | 119 | */ |
120 | QRegExp var( "\\$\\$[({]?([a-zA-Z0-9_]+)[)}]?" ); | 120 | QRegExp var( "\\$\\$[({]?([a-zA-Z0-9_]+)[)}]?" ); |
121 | QMap<QString, QString>::Iterator it; | 121 | QMap<QString, QString>::Iterator it; |
122 | for ( it = tagMap.begin(); it != tagMap.end(); ++it ) { | 122 | for ( it = tagMap.begin(); it != tagMap.end(); ++it ) { |
123 | int i = 0; | 123 | int i = 0; |
124 | while ( (i = var.search((*it), i)) != -1 ) { | 124 | while ( (i = var.search((*it), i)) != -1 ) { |
125 | int len = var.matchedLength(); | 125 | int len = var.matchedLength(); |
126 | QString invocation = var.cap(1); | 126 | QString invocation = var.cap(1); |
127 | QString after; | 127 | QString after; |
128 | 128 | ||
129 | if ( invocation == "system" ) { | 129 | if ( invocation == "system" ) { |
130 | // skip system(); it will be handled in the next pass | 130 | // skip system(); it will be handled in the next pass |
131 | ++i; | 131 | ++i; |
132 | } else if ( invocation == "OPIEDIR") { | 132 | } else if ( invocation == "OPIEDIR") { |
133 | (*it).replace( i, len, opieDir ); | 133 | (*it).replace( i, len, opieDir ); |
134 | }else { | 134 | }else { |
135 | if ( tagMap.contains(invocation) ) | 135 | if ( tagMap.contains(invocation) ) |
136 | after = tagMap[invocation]; | 136 | after = tagMap[invocation]; |
137 | (*it).replace( i, len, after ); | 137 | (*it).replace( i, len, after ); |
138 | i += after.length(); | ||
138 | } | 139 | } |
139 | } | 140 | } |
140 | } | 141 | } |
141 | 142 | ||
142 | /* | 143 | /* |
143 | Execute system() calls. | 144 | Execute system() calls. |
144 | */ | 145 | */ |
145 | QRegExp callToSystem( "\\$\\$system\\s*\\(([^()]*)\\)" ); | 146 | QRegExp callToSystem( "\\$\\$system\\s*\\(([^()]*)\\)" ); |
146 | for ( it = tagMap.begin(); it != tagMap.end(); ++it ) { | 147 | for ( it = tagMap.begin(); it != tagMap.end(); ++it ) { |
147 | int i = 0; | 148 | int i = 0; |
148 | while ( (i = callToSystem.search((*it), i)) != -1 ) { | 149 | while ( (i = callToSystem.search((*it), i)) != -1 ) { |
149 | /* | 150 | /* |
150 | This code is stolen from qmake's project.cpp file. | 151 | This code is stolen from qmake's project.cpp file. |
151 | Ideally we would use the same parser, so we wouldn't | 152 | Ideally we would use the same parser, so we wouldn't |
152 | have this code duplication. | 153 | have this code duplication. |
153 | */ | 154 | */ |
154 | QString after; | 155 | QString after; |
155 | char buff[256]; | 156 | char buff[256]; |
156 | FILE *proc = QT_POPEN( callToSystem.cap(1).latin1(), "r" ); | 157 | FILE *proc = QT_POPEN( callToSystem.cap(1).latin1(), "r" ); |
157 | while ( proc && !feof(proc) ) { | 158 | while ( proc && !feof(proc) ) { |
158 | int read_in = fread( buff, 1, 255, proc ); | 159 | int read_in = fread( buff, 1, 255, proc ); |
159 | if ( !read_in ) | 160 | if ( !read_in ) |
160 | break; | 161 | break; |
161 | for ( int i = 0; i < read_in; i++ ) { | 162 | for ( int i = 0; i < read_in; i++ ) { |