/* Copyright (C) 2010 Timothy Pearson This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef TQT_TQTRANSLATOR_H #define TQT_TQTRANSLATOR_H #include #ifdef USE_QT3 // Reimplement the QTranslator class // For Qt3, no changes are needed #include #endif // USE_QT3 #ifdef USE_QT4 // Reimplement the QTranslator class // For Qt4, some changes are needed #include //class Q_EXPORT QTranslatorMessage class QTranslatorMessage { public: QTranslatorMessage(); QTranslatorMessage( const char * context, const char * sourceText, const char * comment, const QString& translation = QString::null ); QTranslatorMessage( QDataStream & ); QTranslatorMessage( const QTranslatorMessage & m ); QTranslatorMessage & operator=( const QTranslatorMessage & m ); uint hash() const { return h; } const char *context() const { return cx; } const char *sourceText() const { return st; } const char *comment() const { return cm; } void setTranslation( const QString & translation ) { tn = translation; } QString translation() const { return tn; } enum Prefix { NoPrefix, Hash, HashContext, HashContextSourceText, HashContextSourceTextComment }; void write( QDataStream & s, bool strip = FALSE, Prefix prefix = HashContextSourceTextComment ) const; Prefix commonPrefix( const QTranslatorMessage& ) const; bool operator==( const QTranslatorMessage& m ) const; bool operator!=( const QTranslatorMessage& m ) const { return !operator==( m ); } bool operator<( const QTranslatorMessage& m ) const; bool operator<=( const QTranslatorMessage& m ) const { return !m.operator<( *this ); } bool operator>( const QTranslatorMessage& m ) const { return m.operator<( *this ); } bool operator>=( const QTranslatorMessage& m ) const { return !operator<( m ); } private: uint h; Q3CString cx; Q3CString st; Q3CString cm; QString tn; enum Tag { Tag_End = 1, Tag_SourceText16, Tag_Translation, Tag_Context16, Tag_Hash, Tag_SourceText, Tag_Context, Tag_Comment, Tag_Obsolete1 }; }; #endif // USE_QT4 #endif /* TQT_TQTRANSLATOR_H */