From ebf8c1eaf06a4fdefbb5787d65598808ac4a65ab Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Fri, 25 Nov 2016 18:04:33 +0100 Subject: QmakeProjectManager: Use "Default encoding" for mechanized editing When performing mechanized editing on .pro/.pri files, until now, Qt Creator reloaded and restored the file with [from|to]Local8Bit. That broke #comments in unicode. This change implements that the the "Default encoding" from the text editor options is used instead. Task-number: QTCREATORBUG-10274 Change-Id: I783fc3a2c6a2638e4603ced2eef25c2a3998e2c1 Reviewed-by: Oswald Buddenhagen Reviewed-by: Tobias Hunger --- src/plugins/qmakeprojectmanager/qmakenodes.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/plugins') diff --git a/src/plugins/qmakeprojectmanager/qmakenodes.cpp b/src/plugins/qmakeprojectmanager/qmakenodes.cpp index e25359110e..623afe98e6 100644 --- a/src/plugins/qmakeprojectmanager/qmakenodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakenodes.cpp @@ -1203,7 +1203,8 @@ QPair QmakePriFileNode::readProFile(const QString &file) QmakeProject::proFileParseError(reader.errorString()); return qMakePair(includeFile, lines); } - contents = QString::fromLocal8Bit(reader.data()); + const QTextCodec *codec = Core::EditorManager::defaultTextCodec(); + contents = codec->toUnicode(reader.data()); lines = contents.split(QLatin1Char('\n')); } @@ -1320,7 +1321,8 @@ void QmakePriFileNode::save(const QStringList &lines) { FileChangeBlocker changeGuard(m_projectFilePath.toString()); FileSaver saver(m_projectFilePath.toString(), QIODevice::Text); - saver.write(lines.join(QLatin1Char('\n')).toLocal8Bit()); + const QTextCodec *codec = Core::EditorManager::defaultTextCodec(); + saver.write(codec->fromUnicode(lines.join(QLatin1Char('\n')))); saver.finalize(Core::ICore::mainWindow()); } -- cgit v1.2.1