From 2a21ed069f224d5fc25ab877b25be0e7b0700b79 Mon Sep 17 00:00:00 2001 From: Marius Sincovici Date: Thu, 3 Oct 2019 13:03:13 +0200 Subject: [PATCH] Use the default encoding for new files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When new text files are created from Qt Creator, use the default encoding from Qt Creator settings. Change-Id: Iddfa173a70a363ec8d559d996b3fc658e15dfe57 Reviewed-by: André Hartmann Reviewed-by: David Schulz --- src/plugins/coreplugin/generatedfile.cpp | 29 +++++++++++++++--------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/src/plugins/coreplugin/generatedfile.cpp b/src/plugins/coreplugin/generatedfile.cpp index 7d3c77c8cb2..1b661f6c80d 100644 --- a/src/plugins/coreplugin/generatedfile.cpp +++ b/src/plugins/coreplugin/generatedfile.cpp @@ -25,11 +25,14 @@ #include "generatedfile.h" -#include +#include + +#include +#include -#include -#include #include +#include +#include namespace Core { @@ -142,20 +145,24 @@ bool GeneratedFile::write(QString *errorMessage) const const QDir dir = info.absoluteDir(); if (!dir.exists()) { if (!dir.mkpath(dir.absolutePath())) { - *errorMessage = QCoreApplication::translate("BaseFileWizard", "Unable to create the directory %1.").arg( - QDir::toNativeSeparators(dir.absolutePath())); + *errorMessage = QCoreApplication::translate("BaseFileWizard", + "Unable to create the directory %1.") + .arg(QDir::toNativeSeparators(dir.absolutePath())); return false; } } // Write out - QIODevice::OpenMode flags = QIODevice::WriteOnly|QIODevice::Truncate; - if (!isBinary()) - flags |= QIODevice::Text; + if (isBinary()) { + QIODevice::OpenMode flags = QIODevice::WriteOnly | QIODevice::Truncate; + Utils::FileSaver saver(m_d->path, flags); + saver.write(m_d->contents); + return saver.finalize(errorMessage); + } - Utils::FileSaver saver(m_d->path, flags); - saver.write(m_d->contents); - return saver.finalize(errorMessage); + Utils::TextFileFormat format; + format.codec = EditorManager::defaultTextCodec(); + return format.writeFile(m_d->path, contents(), errorMessage); } GeneratedFile::Attributes GeneratedFile::attributes() const