summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Portale <alessandro.portale@qt.io>2016-11-25 18:04:33 +0100
committerAlessandro Portale <alessandro.portale@qt.io>2016-12-05 11:58:55 +0000
commitebf8c1eaf06a4fdefbb5787d65598808ac4a65ab (patch)
treed00a8189fd78fb62b35f523a7525ee8b0e57e334
parentc390c716d13403ecc926cf5adceb7be97d6ce783 (diff)
downloadqt-creator-ebf8c1eaf06a4fdefbb5787d65598808ac4a65ab.tar.gz
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 <oswald.buddenhagen@qt.io> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
-rw-r--r--src/plugins/qmakeprojectmanager/qmakenodes.cpp6
1 files changed, 4 insertions, 2 deletions
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<ProFile *, QStringList> 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());
}