⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 metatranslator.h

📁 qt-x11-opensource-src-4.1.4.tar.gz源码
💻 H
字号:
/******************************************************************************** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.**** This file is part of the Qt Linguist of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This 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 "translator.h"#include <QMap>#include <QString>#include <QList>class QTextCodec;class MetaTranslatorMessage : public TranslatorMessage{public:    enum Type { Unfinished, Finished, Obsolete };    MetaTranslatorMessage();    MetaTranslatorMessage( const char *context, const char *sourceText,                           const char *comment,                           const QString& translation = QString(),                           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 );    void clear();    bool load( const QString& filename );    bool save( const QString& filename ) const;    bool release( const QString& filename, bool verbose = false,                  bool ignoreUnfinished = false,                  Translator::SaveMode mode = Translator::Stripped ) 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 ); // kill me	void setCodecForTr( const char *name ) { setCodec(name); }	QTextCodec *codecForTr() const { return codec; }    QString toUnicode( const char *str, bool utf8 ) const;    QList<MetaTranslatorMessage> messages() const;    QList<MetaTranslatorMessage> translatedMessages() const;private:    typedef QMap<MetaTranslatorMessage, int> TMM;    typedef QMap<int, MetaTranslatorMessage> TMMInv;    TMM mm;    QByteArray codecName;    QTextCodec *codec;};/*  This is a quick hack. The proper way to handle this would be  to extend MetaTranslator's interface.*/#define ContextComment "QT_LINGUIST_INTERNAL_CONTEXT_COMMENT"#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -