summaryrefslogtreecommitdiffstats
path: root/pytqlupdate3/metatranslator.h
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2023-01-03 00:52:18 +0100
committerSlávek Banko <slavek.banko@axis.cz>2023-01-20 02:10:39 +0100
commit16434e5519f6224e231bc5f7202f0e495eda7bb7 (patch)
treed0a3bc5f18eb65f89c1e6238dcf579e6c9cb80ad /pytqlupdate3/metatranslator.h
parent1c362264d328c8886d33061ab992750741f7933a (diff)
downloadpytqt-16434e55.tar.gz
pytqt-16434e55.zip
Do rename qt=>tqt on source files, directories and libraries.
Rename pyuic=>pytquic, pylupdate=>pytqlupdate. Do rename qt=>tqt on constants and variables. Do rename QT=>TQT on constants. Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
Diffstat (limited to 'pytqlupdate3/metatranslator.h')
-rw-r--r--pytqlupdate3/metatranslator.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/pytqlupdate3/metatranslator.h b/pytqlupdate3/metatranslator.h
new file mode 100644
index 0000000..aab280f
--- /dev/null
+++ b/pytqlupdate3/metatranslator.h
@@ -0,0 +1,95 @@
+/**********************************************************************
+** Copyright (C) 2000 Trolltech AS. All rights reserved.
+**
+** metatranslator.h
+**
+** This file is part of TQt Linguist.
+**
+** See the file LICENSE included in the distribution for the usage
+** and distribution terms.
+**
+** The file is provided AS IS with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE.
+**
+**********************************************************************/
+
+#ifndef METATRANSLATOR_H
+#define METATRANSLATOR_H
+
+#include <tqmap.h>
+#include <tqstring.h>
+#include <tqtranslator.h>
+#include <tqvaluelist.h>
+
+class TQTextCodec;
+
+class MetaTranslatorMessage : public TQTranslatorMessage
+{
+public:
+ enum Type { Unfinished, Finished, Obsolete };
+
+ MetaTranslatorMessage();
+ MetaTranslatorMessage( const char *context, const char *sourceText,
+ const char *comment,
+ const TQString& translation = TQString::null,
+ bool utf8 = FALSE, Type type = Unfinished );
+ MetaTranslatorMessage( const MetaTranslatorMessage& m );
+
+ MetaTranslatorMessage& operator=( const MetaTranslatorMessage& m );
+
+ void setType( Type nt ) { ty = nt; }
+ Type type() const { return ty; }
+ bool utf8() const { return utfeight; }
+
+ bool operator==( const MetaTranslatorMessage& m ) const;
+ bool operator!=( const MetaTranslatorMessage& m ) const
+ { return !operator==( m ); }
+ bool operator<( const MetaTranslatorMessage& m ) const;
+ bool operator<=( const MetaTranslatorMessage& m )
+ { return !operator>( m ); }
+ bool operator>( const MetaTranslatorMessage& m ) const
+ { return this->operator<( m ); }
+ bool operator>=( const MetaTranslatorMessage& m ) const
+ { return !operator<( m ); }
+
+private:
+ bool utfeight;
+ Type ty;
+};
+
+class MetaTranslator
+{
+public:
+ MetaTranslator();
+ MetaTranslator( const MetaTranslator& tor );
+
+ MetaTranslator& operator=( const MetaTranslator& tor );
+
+ bool load( const TQString& filename );
+ bool save( const TQString& filename ) const;
+ bool release( const TQString& filename, bool verbose = FALSE ) const;
+
+ bool contains( const char *context, const char *sourceText,
+ const char *comment ) const;
+ void insert( const MetaTranslatorMessage& m );
+
+ void stripObsoleteMessages();
+ void stripEmptyContexts();
+
+ void setCodec( const char *name );
+ TQString toUnicode( const char *str, bool utf8 ) const;
+
+ TQValueList<MetaTranslatorMessage> messages() const;
+ TQValueList<MetaTranslatorMessage> translatedMessages() const;
+
+private:
+ typedef TQMap<MetaTranslatorMessage, int> TMM;
+ typedef TQMap<int, MetaTranslatorMessage> TMMInv;
+
+ TMM mm;
+ TQCString codecName;
+ TQTextCodec *codec;
+};
+
+#endif