Git: Use commit encoding for interactive rebase and commit editors

Task-number: QTCREATORBUG-11115

Change-Id: Ie922d94d66bed2882d3fc2b8b2de1bdc328d4d1c
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Orgad Shaneh
2014-03-16 22:52:59 +02:00
committed by Orgad Shaneh
parent 86d7916b5b
commit e568d14b36

View File

@@ -46,6 +46,7 @@
#include <QRegExp> #include <QRegExp>
#include <QSet> #include <QSet>
#include <QTemporaryFile> #include <QTemporaryFile>
#include <QTextCodec>
#include <QDir> #include <QDir>
#include <QTextCursor> #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 GitEditor::open(QString *errorString, const QString &fileName, const QString &realFileName)
{ {
bool res = VcsBaseEditorWidget::open(errorString, fileName, realFileName);
Core::Id editorId = editor()->id(); Core::Id editorId = editor()->id();
if (editorId == Git::Constants::GIT_COMMIT_TEXT_EDITOR_ID if (editorId == Git::Constants::GIT_COMMIT_TEXT_EDITOR_ID
|| editorId == Git::Constants::GIT_REBASE_EDITOR_ID) { || editorId == Git::Constants::GIT_REBASE_EDITOR_ID) {
QFileInfo fi(fileName); 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 QString GitEditor::decorateVersion(const QString &revision) const