forked from qt-creator/qt-creator
VCS[Bazaar, Mercurial]: Add diff formatting, revert chunk.
Add toolbar controls for ignore-whitespace to editors and wire 'Revert Chunk' context menus. Fix Bazaar diff interaction (find the file on doubleclick). Introduce initializeDiffEditor to BaseClient and wire the editors there.
This commit is contained in:
@@ -262,11 +262,12 @@ void VCSBaseClient::annotate(const QString &workingDir, const QString &file,
|
||||
enqueueJob(job);
|
||||
}
|
||||
|
||||
void VCSBaseClient::diff(const QString &workingDir, const QStringList &files)
|
||||
void VCSBaseClient::diff(const QString &workingDir, const QStringList &files,
|
||||
const ExtraCommandOptions &extraOptions)
|
||||
{
|
||||
const QString vcsCmdString = vcsCommandString(DiffCommand);
|
||||
QStringList args;
|
||||
args << vcsCmdString << diffArguments(files);
|
||||
args << vcsCmdString << diffArguments(files, extraOptions);
|
||||
const QString kind = vcsEditorKind(DiffCommand);
|
||||
const QString id = VCSBase::VCSBaseEditorWidget::getTitleId(workingDir, files);
|
||||
const QString title = vcsEditorTitle(vcsCmdString, id);
|
||||
@@ -274,6 +275,7 @@ void VCSBaseClient::diff(const QString &workingDir, const QStringList &files)
|
||||
VCSBase::VCSBaseEditorWidget *editor = createVCSEditor(kind, title, source, true,
|
||||
vcsCmdString.toLatin1().constData(), id);
|
||||
editor->setDiffBaseDirectory(workingDir);
|
||||
initializeDiffEditor(workingDir, files, extraOptions, editor);
|
||||
|
||||
QSharedPointer<VCSJob> job(new VCSJob(workingDir, args, editor));
|
||||
enqueueJob(job);
|
||||
@@ -444,6 +446,12 @@ void VCSBaseClient::settingsChanged()
|
||||
}
|
||||
}
|
||||
|
||||
void VCSBaseClient::initializeDiffEditor(const QString & /* workingDir */, const QStringList & /* files */,
|
||||
const ExtraCommandOptions & /* extraOptions */,
|
||||
VCSBaseEditorWidget *)
|
||||
{
|
||||
}
|
||||
|
||||
QString VCSBaseClient::vcsEditorTitle(const QString &vcsCmd, const QString &sourceId) const
|
||||
{
|
||||
return QFileInfo(d->m_clientSettings.binary()).baseName() +
|
||||
|
||||
Reference in New Issue
Block a user