From 87058627868f3400490d5b89e5f4de504bf9ef14 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh <orgad.shaneh@audiocodes.com> Date: Wed, 6 Mar 2013 23:21:37 +0200 Subject: [PATCH] Git: Use Qt Creator as an editor for Git Qt Creator runs Git in a "dumb" terminal which does not allow opening an editor. Use Qt Creator itself as an editor when needed. Change-Id: Ide073299964803d02479dade24ddee0283ebd83b Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> --- src/plugins/git/gitclient.cpp | 11 ++++++++--- src/plugins/git/gitclient.h | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index 90bd390e27f..67b456755bb 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -63,12 +63,13 @@ #include <vcsbase/vcsbaseoutputwindow.h> #include <vcsbase/vcsbaseplugin.h> -#include <QRegExp> -#include <QTime> -#include <QFileInfo> +#include <QCoreApplication> #include <QDir> +#include <QFileInfo> #include <QHash> +#include <QRegExp> #include <QSignalMapper> +#include <QTime> #include <QComboBox> #include <QMessageBox> @@ -401,6 +402,9 @@ GitClient::GitClient(GitSettings *settings) : { QTC_CHECK(settings); connect(Core::ICore::instance(), SIGNAL(saveSettingsRequested()), this, SLOT(saveSettings())); + m_gitQtcEditor = QString::fromLatin1("\"%1\" -client -block -pid %2") + .arg(QCoreApplication::applicationFilePath()) + .arg(QCoreApplication::applicationPid()); } GitClient::~GitClient() @@ -1538,6 +1542,7 @@ QProcessEnvironment GitClient::processEnvironment() const && settings()->boolValue(GitSettings::winSetHomeEnvironmentKey)) { environment.insert(QLatin1String("HOME"), QDir::toNativeSeparators(QDir::homePath())); } + environment.insert(QLatin1String("GIT_EDITOR"), m_gitQtcEditor); // Set up SSH and C locale (required by git using perl). VcsBase::VcsBasePlugin::setProcessEnvironment(&environment, false); return environment; diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h index 59dd9bb3af5..63344a8562a 100644 --- a/src/plugins/git/gitclient.h +++ b/src/plugins/git/gitclient.h @@ -341,6 +341,7 @@ private: const QString m_msgWait; QSignalMapper *m_repositoryChangedSignalMapper; GitSettings *m_settings; + QString m_gitQtcEditor; }; } // namespace Internal -- GitLab