From e568d14b3678e33e0744abc63be14a23a536d133 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh <orgad.shaneh@audiocodes.com> Date: Sun, 16 Mar 2014 22:52:59 +0200 Subject: [PATCH] Git: Use commit encoding for interactive rebase and commit editors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTCREATORBUG-11115 Change-Id: Ie922d94d66bed2882d3fc2b8b2de1bdc328d4d1c Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> --- src/plugins/git/giteditor.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plugins/git/giteditor.cpp b/src/plugins/git/giteditor.cpp index 5b4b05e7f1e..833e6f577ff 100644 --- a/src/plugins/git/giteditor.cpp +++ b/src/plugins/git/giteditor.cpp @@ -46,6 +46,7 @@ #include <QRegExp> #include <QSet> #include <QTemporaryFile> +#include <QTextCodec> #include <QDir> #include <QTextCursor> @@ -325,14 +326,16 @@ void GitEditor::addDiffActions(QMenu *menu, const VcsBase::DiffChunk &chunk) bool GitEditor::open(QString *errorString, const QString &fileName, const QString &realFileName) { - bool res = VcsBaseEditorWidget::open(errorString, fileName, realFileName); Core::Id editorId = editor()->id(); if (editorId == Git::Constants::GIT_COMMIT_TEXT_EDITOR_ID || editorId == Git::Constants::GIT_REBASE_EDITOR_ID) { QFileInfo fi(fileName); - setSource(fi.absolutePath()); + const QString gitPath = fi.absolutePath(); + setSource(gitPath); + const QString commitEncoding = GitPlugin::instance()->gitClient()->commitEncoding(gitPath); + baseTextDocument()->setCodec(QTextCodec::codecForName(commitEncoding.toLocal8Bit())); } - return res; + return VcsBaseEditorWidget::open(errorString, fileName, realFileName); } QString GitEditor::decorateVersion(const QString &revision) const -- GitLab