diff options
Diffstat (limited to 'qt/ScintillaEditBase/ScintillaQt.cpp')
| -rw-r--r-- | qt/ScintillaEditBase/ScintillaQt.cpp | 22 | 
1 files changed, 22 insertions, 0 deletions
diff --git a/qt/ScintillaEditBase/ScintillaQt.cpp b/qt/ScintillaEditBase/ScintillaQt.cpp index 374027bd0..761ff78bb 100644 --- a/qt/ScintillaEditBase/ScintillaQt.cpp +++ b/qt/ScintillaEditBase/ScintillaQt.cpp @@ -250,6 +250,28 @@ bool ScintillaQt::ValidCodePage(int codePage) const  	|| codePage == 1361;  } +std::string ScintillaQt::UTF8FromEncoded(std::string_view encoded) const { +	if (IsUnicodeMode()) { +		return std::string(encoded); +	} else { +		QTextCodec *codec = QTextCodec::codecForName( +				CharacterSetID(CharacterSetOfDocument())); +		QString text = codec->toUnicode(encoded.data(), static_cast<int>(encoded.length())); +		return text.toStdString(); +	} +} + +std::string ScintillaQt::EncodedFromUTF8(std::string_view utf8) const { +	if (IsUnicodeMode()) { +		return std::string(utf8); +	} else { +		QString text = QString::fromUtf8(utf8.data(), static_cast<int>(utf8.length())); +		QTextCodec *codec = QTextCodec::codecForName( +				CharacterSetID(CharacterSetOfDocument())); +		QByteArray ba = codec->fromUnicode(text); +		return std::string(ba.data(), ba.length()); +	} +}  void ScintillaQt::ScrollText(Sci::Line linesToMove)  {  | 
