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:
Friedemann Kleint
2011-03-28 11:59:26 +02:00
parent 82ce382ffc
commit d7cddd4e17
10 changed files with 246 additions and 34 deletions

View File

@@ -39,9 +39,11 @@
namespace Bazaar {
namespace Internal {
struct BazaarDiffParameters;
class BazaarClient : public VCSBase::VCSBaseClient
{
Q_OBJECT
public:
enum ExtraOptionId
{
@@ -75,6 +77,9 @@ public:
BranchInfo synchronousBranchQuery(const QString &repositoryRoot) const;
virtual QString findTopLevelForFile(const QFileInfo &file) const;
private slots:
void bazaarDiff(const Bazaar::Internal::BazaarDiffParameters &p);
protected:
virtual QString vcsEditorKind(VCSCommand cmd) const;
@@ -94,7 +99,11 @@ protected:
virtual QStringList revertAllArguments(const QString &revision) const;
virtual QStringList annotateArguments(const QString &file,
const QString &revision, int lineNumber) const;
virtual QStringList diffArguments(const QStringList &files) const;
virtual QStringList diffArguments(const QStringList &files,
const ExtraCommandOptions &extraOptions) const;
virtual void initializeDiffEditor(const QString &workingDir, const QStringList &files,
const VCSBase::VCSBaseClient::ExtraCommandOptions &extra,
VCSBase::VCSBaseEditorWidget *diffEditorWidget);
virtual QStringList logArguments(const QStringList &files) const;
virtual QStringList statusArguments(const QString &file) const;
virtual QStringList viewArguments(const QString &revision) const;