summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/tools/linguist/lupdate/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/tools/linguist/lupdate/main.cpp')
-rw-r--r--tqtinterface/qt4/tools/linguist/lupdate/main.cpp241
1 files changed, 0 insertions, 241 deletions
diff --git a/tqtinterface/qt4/tools/linguist/lupdate/main.cpp b/tqtinterface/qt4/tools/linguist/lupdate/main.cpp
deleted file mode 100644
index 4bc833d..0000000
--- a/tqtinterface/qt4/tools/linguist/lupdate/main.cpp
+++ /dev/null
@@ -1,241 +0,0 @@
-/**********************************************************************
-** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of TQt Linguist.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at [email protected].
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include <metatranslator.h>
-#include <proparser.h>
-
-#include <tqdir.h>
-#include <tqfile.h>
-#include <tqfileinfo.h>
-#include <tqstring.h>
-#include <tqstringlist.h>
-#include <tqtextstream.h>
-
-#include <errno.h>
-#include <string.h>
-
-// defined in fetchtr.cpp
-extern void fetchtr_cpp( const char *fileName, MetaTranslator *tor,
- const char *defaultContext, bool mustExist );
-extern void fetchtr_ui( const char *fileName, MetaTranslator *tor,
- const char *defaultContext, bool mustExist );
-
-// defined in merge.cpp
-extern void merge( MetaTranslator *tor, const MetaTranslator *virginTor,
- bool verbose );
-
-typedef TQValueList<MetaTranslatorMessage> TML;
-
-static void printUsage()
-{
- fprintf( stderr, "Usage:\n"
- " lupdate [options] project-file\n"
- " lupdate [options] source-files -ts ts-files\n"
- "Options:\n"
- " -help Display this information and exit\n"
- " -noobsolete\n"
- " Drop all obsolete strings\n"
- " -verbose\n"
- " Explain what is being done\n"
- " -version\n"
- " Display the version of lupdate and exit\n" );
-}
-
-static void updateTsFiles( const MetaTranslator& fetchedTor,
- const TQStringList& tsFileNames, const TQString& codec,
- bool noObsolete, bool verbose )
-{
- TQStringList::ConstIterator t = tsFileNames.begin();
- while ( t != tsFileNames.end() ) {
- MetaTranslator tor;
- tor.load( *t );
- if ( !codec.isEmpty() )
- tor.setCodec( codec );
- if ( verbose )
- fprintf( stderr, "Updating '%s'...\n", (*t).latin1() );
- merge( &tor, &fetchedTor, verbose );
- if ( noObsolete )
- tor.stripObsoleteMessages();
- tor.stripEmptyContexts();
- if ( !tor.save(*t) )
- fprintf( stderr, "lupdate error: Cannot save '%s': %s\n",
- (*t).latin1(), strerror(errno) );
- ++t;
- }
-}
-
-int main( int argc, char **argv )
-{
- TQString defaultContext = "@default";
- MetaTranslator fetchedTor;
- TQCString codec;
- TQStringList tsFileNames;
-
- bool verbose = FALSE;
- bool noObsolete = FALSE;
- bool metSomething = FALSE;
- int numFiles = 0;
- bool standardSyntax = TRUE;
- bool metTsFlag = FALSE;
-
- int i;
-
- for ( i = 1; i < argc; i++ ) {
- if ( qstrcmp(argv[i], "-ts") == 0 )
- standardSyntax = FALSE;
- }
-
- for ( i = 1; i < argc; i++ ) {
- if ( qstrcmp(argv[i], "-help") == 0 ) {
- printUsage();
- return 0;
- } else if ( qstrcmp(argv[i], "-noobsolete") == 0 ) {
- noObsolete = TRUE;
- continue;
- } else if ( qstrcmp(argv[i], "-verbose") == 0 ) {
- verbose = TRUE;
- continue;
- } else if ( qstrcmp(argv[i], "-version") == 0 ) {
- fprintf( stderr, "lupdate version %s\n", TQT_VERSION_STR );
- return 0;
- } else if ( qstrcmp(argv[i], "-ts") == 0 ) {
- metTsFlag = TRUE;
- continue;
- }
-
- numFiles++;
-
- TQString fullText;
-
- if ( !metTsFlag ) {
- TQFile f( argv[i] );
- if ( !f.open(IO_ReadOnly) ) {
- fprintf( stderr, "lupdate error: Cannot open file '%s': %s\n",
- argv[i], strerror(errno) );
- return 1;
- }
-
- TQTextStream t( &f );
- fullText = t.read();
- f.close();
- }
-
- TQString oldDir = TQDir::currentDirPath();
- TQDir::setCurrent( TQFileInfo(argv[i]).dirPath() );
-
- if ( standardSyntax ) {
- fetchedTor = MetaTranslator();
- codec.truncate( 0 );
- tsFileNames.clear();
-
- TQMap<TQString, TQString> tagMap = proFileTagMap( fullText );
- TQMap<TQString, TQString>::Iterator it;
-
- for ( it = tagMap.begin(); it != tagMap.end(); ++it ) {
- TQStringList toks = TQStringList::split( ' ', it.data() );
- TQStringList::Iterator t;
-
- for ( t = toks.begin(); t != toks.end(); ++t ) {
- if ( it.key() == "HEADERS" || it.key() == "SOURCES" ) {
- fetchtr_cpp( *t, &fetchedTor, defaultContext, TRUE );
- metSomething = TRUE;
- } else if ( it.key() == "INTERFACES" ||
- it.key() == "FORMS" ) {
- fetchtr_ui( *t, &fetchedTor, defaultContext, TRUE );
- fetchtr_cpp( *t + ".h", &fetchedTor, defaultContext,
- FALSE );
- metSomething = TRUE;
- } else if ( it.key() == "TRANSLATIONS" ) {
- tsFileNames.append( *t );
- metSomething = TRUE;
- } else if ( it.key() == "CODEC" ||
- it.key() == "DEFAULTCODEC" ) {
- codec = (*t).latin1();
- }
- }
- }
-
- updateTsFiles( fetchedTor, tsFileNames, codec, noObsolete,
- verbose );
-
- if ( !metSomething ) {
- fprintf( stderr,
- "lupdate warning: File '%s' does not look like a"
- " project file\n",
- argv[i] );
- } else if ( tsFileNames.isEmpty() ) {
- fprintf( stderr,
- "lupdate warning: Met no 'TRANSLATIONS' entry in"
- " project file '%s'\n",
- argv[i] );
- }
- } else {
- if ( metTsFlag ) {
- if ( TQString(argv[i]).lower().endsWith(".ts") ) {
- TQFileInfo fi( argv[i] );
- if ( !fi.exists() || fi.isWritable() ) {
- tsFileNames.append( argv[i] );
- } else {
- fprintf( stderr,
- "lupdate warning: For some reason, I cannot"
- " save '%s'\n",
- argv[i] );
- }
- } else {
- fprintf( stderr,
- "lupdate error: File '%s' lacks .ts extension\n",
- argv[i] );
- }
- } else {
- TQFileInfo fi(argv[i]);
- if ( TQString(argv[i]).lower().endsWith(".ui") ) {
- fetchtr_ui( fi.fileName(), &fetchedTor, defaultContext, TRUE );
- fetchtr_cpp( TQString(fi.fileName()) + ".h", &fetchedTor,
- defaultContext, FALSE );
- } else {
- fetchtr_cpp( fi.fileName(), &fetchedTor, defaultContext, TRUE );
- }
- }
- }
- TQDir::setCurrent( oldDir );
- }
-
- if ( !standardSyntax )
- updateTsFiles( fetchedTor, tsFileNames, codec, noObsolete, verbose );
-
- if ( numFiles == 0 ) {
- printUsage();
- return 1;
- }
- return 0;
-}