summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/tools/linguist/linguist/phrase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/tools/linguist/linguist/phrase.cpp')
-rw-r--r--tqtinterface/qt4/tools/linguist/linguist/phrase.cpp189
1 files changed, 0 insertions, 189 deletions
diff --git a/tqtinterface/qt4/tools/linguist/linguist/phrase.cpp b/tqtinterface/qt4/tools/linguist/linguist/phrase.cpp
deleted file mode 100644
index c38e9e0..0000000
--- a/tqtinterface/qt4/tools/linguist/linguist/phrase.cpp
+++ /dev/null
@@ -1,189 +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 sales@trolltech.com.
-**
-** 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 "phrase.h"
-
-#include <tqapplication.h>
-#include <tqcstring.h>
-#include <tqfile.h>
-#include <tqmessagebox.h>
-#include <tqregexp.h>
-#include <tqtextstream.h>
-#include <tqxml.h>
-
-static TQString protect( const TQString& str )
-{
- TQString p = str;
- p.replace( "&", "&amp;" );
- p.replace( "\"", "&quot;" );
- p.replace( ">", "&gt;" );
- p.replace( "<", "&lt;" );
- p.replace( "'", "&apos;" );
- return p;
-}
-
-Phrase::Phrase( const TQString& source, const TQString& target,
- const TQString& definition )
- : s( source ), t( target ), d( definition )
-{
-}
-
-bool operator==( const Phrase& p, const Phrase& q )
-{
- return p.source() == q.source() && p.target() == q.target() &&
- p.definition() == q.definition();
-}
-
-class QphHandler : public TQXmlDefaultHandler
-{
-public:
- QphHandler( PhraseBook *phraseBook )
- : pb( phraseBook ), ferrorCount( 0 ) { }
-
- virtual bool startElement( const TQString& namespaceURI,
- const TQString& localName, const TQString& qName,
- const TQXmlAttributes& atts );
- virtual bool endElement( const TQString& namespaceURI,
- const TQString& localName, const TQString& qName );
- virtual bool characters( const TQString& ch );
- virtual bool fatalError( const TQXmlParseException& exception );
-
-private:
- PhraseBook *pb;
- TQString source;
- TQString target;
- TQString definition;
-
- TQString accum;
- int ferrorCount;
-};
-
-bool QphHandler::startElement( const TQString& /* namespaceURI */,
- const TQString& /* localName */,
- const TQString& qName,
- const TQXmlAttributes& /* atts */ )
-{
- if ( qName == TQString("phrase") ) {
- source.truncate( 0 );
- target.truncate( 0 );
- definition.truncate( 0 );
- }
- accum.truncate( 0 );
- return TRUE;
-}
-
-bool QphHandler::endElement( const TQString& /* namespaceURI */,
- const TQString& /* localName */,
- const TQString& qName )
-{
- if ( qName == TQString("source") )
- source = accum;
- else if ( qName == TQString("target") )
- target = accum;
- else if ( qName == TQString("definition") )
- definition = accum;
- else if ( qName == TQString("phrase") )
- pb->append( Phrase(source, target, definition) );
- return TRUE;
-}
-
-bool QphHandler::characters( const TQString& ch )
-{
- accum += ch;
- return TRUE;
-}
-
-bool QphHandler::fatalError( const TQXmlParseException& exception )
-{
- if ( ferrorCount++ == 0 ) {
- TQString msg;
- msg.sprintf( "Parse error at line %d, column %d (%s).",
- exception.lineNumber(), exception.columnNumber(),
- exception.message().latin1() );
- TQMessageBox::information( tqApp->mainWidget(),
- TQObject::tr("TQt Linguist"), msg );
- }
- return FALSE;
-}
-
-bool PhraseBook::load( const TQString& filename )
-{
- TQFile f( filename );
- if ( !f.open(IO_ReadOnly) )
- return FALSE;
-
- TQTextStream t( &f );
- TQXmlInputSource in( t );
- TQXmlSimpleReader reader;
- // don't click on these!
- reader.setFeature( "http://xml.org/sax/features/namespaces", FALSE );
- reader.setFeature( "http://xml.org/sax/features/namespace-prefixes", TRUE );
- reader.setFeature( "http://trolltech.com/xml/features/report-whitespace"
- "-only-CharData", FALSE );
- TQXmlDefaultHandler *hand = new QphHandler( this );
- reader.setContentHandler( hand );
- reader.setErrorHandler( hand );
-
- bool ok = reader.parse( in );
- reader.setContentHandler( 0 );
- reader.setErrorHandler( 0 );
- delete hand;
- f.close();
- if ( !ok )
- clear();
- return ok;
-}
-
-bool PhraseBook::save( const TQString& filename ) const
-{
- TQFile f( filename );
- if ( !f.open(IO_WriteOnly) )
- return FALSE;
-
- TQTextStream t( &f );
- t.setEncoding(TQTextStream::UnicodeUTF8);
- t << "<!DOCTYPE TQPH><TQPH>\n";
- ConstIterator p;
- for ( p = begin(); p != end(); ++p ) {
- t << "<phrase>\n";
- t << " <source>" << protect( (*p).source() ) << "</source>\n";
- t << " <target>" << protect( (*p).target() ) << "</target>\n";
- if ( !(*p).definition().isEmpty() )
- t << " <definition>" << protect( (*p).definition() )
- << "</definition>\n";
- t << "</phrase>\n";
- }
- t << "</TQPH>\n";
- f.close();
- return TRUE;
-}