Changeset View
Changeset View
Standalone View
Standalone View
krArc/krarc.cpp
Show First 20 Lines • Show All 67 Lines • ▼ Show 20 Line(s) | 55 | #ifdef KRARC_ENABLED | |||
---|---|---|---|---|---|
68 | */ | 68 | */ | ||
69 | 69 | | |||
70 | class KrArcCodec : public QTextCodec | 70 | class KrArcCodec : public QTextCodec | ||
71 | { | 71 | { | ||
72 | public: | 72 | public: | ||
73 | KrArcCodec(QTextCodec * codec) : originalCodec(codec) {} | 73 | KrArcCodec(QTextCodec * codec) : originalCodec(codec) {} | ||
74 | virtual ~KrArcCodec() {} | 74 | virtual ~KrArcCodec() {} | ||
75 | 75 | | |||
76 | virtual QByteArray name() const { | 76 | virtual QByteArray name() const Q_DECL_OVERRIDE { | ||
77 | return originalCodec->name(); | 77 | return originalCodec->name(); | ||
78 | } | 78 | } | ||
79 | virtual QList<QByteArray> aliases() const { | 79 | virtual QList<QByteArray> aliases() const Q_DECL_OVERRIDE { | ||
80 | return originalCodec->aliases(); | 80 | return originalCodec->aliases(); | ||
81 | } | 81 | } | ||
82 | virtual int mibEnum() const { | 82 | virtual int mibEnum() const Q_DECL_OVERRIDE { | ||
83 | return originalCodec->mibEnum(); | 83 | return originalCodec->mibEnum(); | ||
84 | } | 84 | } | ||
85 | 85 | | |||
86 | protected: | 86 | protected: | ||
87 | virtual QString convertToUnicode(const char *in, int length, ConverterState *state) const { | 87 | virtual QString convertToUnicode(const char *in, int length, ConverterState *state) const Q_DECL_OVERRIDE { | ||
88 | return originalCodec->toUnicode(in, length, state); | 88 | return originalCodec->toUnicode(in, length, state); | ||
89 | } | 89 | } | ||
90 | virtual QByteArray convertFromUnicode(const QChar *in, int length, ConverterState *state) const { | 90 | virtual QByteArray convertFromUnicode(const QChar *in, int length, ConverterState *state) const Q_DECL_OVERRIDE { | ||
91 | // the QByteArray is embedded into the unicode charset (QProcess hell) | 91 | // the QByteArray is embedded into the unicode charset (QProcess hell) | ||
92 | QByteArray result; | 92 | QByteArray result; | ||
93 | for (int i = 0; i != length; i++) { | 93 | for (int i = 0; i != length; i++) { | ||
94 | if (((in[ i ].unicode()) & 0xFF00) == 0xE000) // map 0xE000-0xE0FF to 0x0000-0x00FF | 94 | if (((in[ i ].unicode()) & 0xFF00) == 0xE000) // map 0xE000-0xE0FF to 0x0000-0x00FF | ||
95 | result.append((char)(in[ i ].unicode() & 0xFF)); | 95 | result.append((char)(in[ i ].unicode() & 0xFF)); | ||
96 | else | 96 | else | ||
97 | result.append(originalCodec->fromUnicode(in + i, 1, state)); | 97 | result.append(originalCodec->fromUnicode(in + i, 1, state)); | ||
98 | } | 98 | } | ||
▲ Show 20 Lines • Show All 1836 Lines • Show Last 20 Lines |