forked from qt-creator/qt-creator
VcsBase: Don't return editor from annotate()
Take int firstLine as last arg instead. Switch the order of 3rd and 4th args as most callers provide lineNumber and don't provide revision. Change-Id: Iab60c1068a4d9829d10219af39bf3dcbf51e37bb Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
@@ -141,12 +141,12 @@ void BazaarClient::commit(const FilePath &repositoryRoot, const QStringList &fil
|
|||||||
QStringList(extraOptions) << QLatin1String("-F") << commitMessageFile);
|
QStringList(extraOptions) << QLatin1String("-F") << commitMessageFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
VcsBaseEditorWidget *BazaarClient::annotate(
|
void BazaarClient::annotate(const Utils::FilePath &workingDir, const QString &file,
|
||||||
const FilePath &workingDir, const QString &file, const QString &revision,
|
int lineNumber, const QString &revision,
|
||||||
int lineNumber, const QStringList &extraOptions)
|
const QStringList &extraOptions, int firstLine)
|
||||||
{
|
{
|
||||||
return VcsBaseClient::annotate(workingDir, file, revision, lineNumber,
|
VcsBaseClient::annotate(workingDir, file, lineNumber, revision,
|
||||||
QStringList(extraOptions) << QLatin1String("--long"));
|
QStringList(extraOptions) << QLatin1String("--long"), firstLine);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BazaarClient::isVcsDirectory(const FilePath &filePath) const
|
bool BazaarClient::isVcsDirectory(const FilePath &filePath) const
|
||||||
|
@@ -22,9 +22,9 @@ public:
|
|||||||
const QStringList &extraOptions = {});
|
const QStringList &extraOptions = {});
|
||||||
void commit(const Utils::FilePath &repositoryRoot, const QStringList &files,
|
void commit(const Utils::FilePath &repositoryRoot, const QStringList &files,
|
||||||
const QString &commitMessageFile, const QStringList &extraOptions = {}) override;
|
const QString &commitMessageFile, const QStringList &extraOptions = {}) override;
|
||||||
VcsBase::VcsBaseEditorWidget *annotate(
|
void annotate(const Utils::FilePath &workingDir, const QString &file,
|
||||||
const Utils::FilePath &workingDir, const QString &file, const QString &revision = {},
|
int lineNumber = -1, const QString &revision = {},
|
||||||
int lineNumber = -1, const QStringList &extraOptions ={}) override;
|
const QStringList &extraOptions = {}, int firstLine = -1) override;
|
||||||
bool isVcsDirectory(const Utils::FilePath &filePath) const;
|
bool isVcsDirectory(const Utils::FilePath &filePath) const;
|
||||||
Utils::FilePath findTopLevelForFile(const Utils::FilePath &file) const override;
|
Utils::FilePath findTopLevelForFile(const Utils::FilePath &file) const override;
|
||||||
bool managesFile(const Utils::FilePath &workingDirectory, const QString &fileName) const;
|
bool managesFile(const Utils::FilePath &workingDirectory, const QString &fileName) const;
|
||||||
|
@@ -931,7 +931,7 @@ bool BazaarPluginPrivate::vcsCreateRepository(const FilePath &directory)
|
|||||||
|
|
||||||
void BazaarPluginPrivate::vcsAnnotate(const FilePath &file, int line)
|
void BazaarPluginPrivate::vcsAnnotate(const FilePath &file, int line)
|
||||||
{
|
{
|
||||||
m_client.annotate(file.parentDir(), file.fileName(), QString(), line);
|
m_client.annotate(file.parentDir(), file.fileName(), line);
|
||||||
}
|
}
|
||||||
|
|
||||||
VcsCommand *BazaarPluginPrivate::createInitialCheckoutCommand(const QString &url,
|
VcsCommand *BazaarPluginPrivate::createInitialCheckoutCommand(const QString &url,
|
||||||
|
@@ -1291,27 +1291,24 @@ void GitClient::archive(const FilePath &workingDirectory, QString commit)
|
|||||||
RunFlags::ShowStdOut);
|
RunFlags::ShowStdOut);
|
||||||
}
|
}
|
||||||
|
|
||||||
VcsBaseEditorWidget *GitClient::annotate(
|
void GitClient::annotate(const Utils::FilePath &workingDir, const QString &file, int lineNumber,
|
||||||
const FilePath &workingDir, const QString &file, const QString &revision,
|
const QString &revision, const QStringList &extraOptions, int firstLine)
|
||||||
int lineNumber, const QStringList &extraOptions)
|
|
||||||
{
|
{
|
||||||
const Id editorId = Git::Constants::GIT_BLAME_EDITOR_ID;
|
const Id editorId = Git::Constants::GIT_BLAME_EDITOR_ID;
|
||||||
const QString id = VcsBaseEditor::getTitleId(workingDir, {file}, revision);
|
const QString id = VcsBaseEditor::getTitleId(workingDir, {file}, revision);
|
||||||
const QString title = Tr::tr("Git Blame \"%1\"").arg(id);
|
const QString title = Tr::tr("Git Blame \"%1\"").arg(id);
|
||||||
const QString sourceFile = VcsBaseEditor::getSource(workingDir, file);
|
const QString sourceFile = VcsBaseEditor::getSource(workingDir, file);
|
||||||
|
|
||||||
VcsBaseEditorWidget *editor
|
VcsBaseEditorWidget *editor = createVcsEditor(editorId, title, sourceFile,
|
||||||
= createVcsEditor(editorId, title, sourceFile, codecFor(CodecSource, FilePath::fromString(sourceFile)),
|
codecFor(CodecSource, FilePath::fromString(sourceFile)), "blameFileName", id);
|
||||||
"blameFileName", id);
|
|
||||||
VcsBaseEditorConfig *argWidget = editor->editorConfig();
|
VcsBaseEditorConfig *argWidget = editor->editorConfig();
|
||||||
if (!argWidget) {
|
if (!argWidget) {
|
||||||
argWidget = new GitBlameArgumentsWidget(settings(), editor->toolBar());
|
argWidget = new GitBlameArgumentsWidget(settings(), editor->toolBar());
|
||||||
argWidget->setBaseArguments(extraOptions);
|
argWidget->setBaseArguments(extraOptions);
|
||||||
connect(argWidget, &VcsBaseEditorConfig::commandExecutionRequested, this,
|
connect(argWidget, &VcsBaseEditorConfig::commandExecutionRequested, this, [=] {
|
||||||
[=] {
|
const int line = VcsBaseEditor::lineNumberOfCurrentEditor();
|
||||||
const int line = VcsBaseEditor::lineNumberOfCurrentEditor();
|
annotate(workingDir, file, line, revision, extraOptions);
|
||||||
annotate(workingDir, file, revision, line, extraOptions);
|
});
|
||||||
} );
|
|
||||||
editor->setEditorConfig(argWidget);
|
editor->setEditorConfig(argWidget);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1322,8 +1319,9 @@ VcsBaseEditorWidget *GitClient::annotate(
|
|||||||
arguments << revision;
|
arguments << revision;
|
||||||
arguments << "--" << file;
|
arguments << "--" << file;
|
||||||
editor->setDefaultLineNumber(lineNumber);
|
editor->setDefaultLineNumber(lineNumber);
|
||||||
|
if (firstLine > 0)
|
||||||
|
editor->setFirstLineNumber(firstLine);
|
||||||
vcsExecWithEditor(workingDir, arguments, editor);
|
vcsExecWithEditor(workingDir, arguments, editor);
|
||||||
return editor;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GitClient::checkout(const FilePath &workingDirectory, const QString &ref, StashMode stashMode,
|
void GitClient::checkout(const FilePath &workingDirectory, const QString &ref, StashMode stashMode,
|
||||||
|
@@ -152,9 +152,9 @@ public:
|
|||||||
void log(const Utils::FilePath &workingDirectory, const QString &fileName = {},
|
void log(const Utils::FilePath &workingDirectory, const QString &fileName = {},
|
||||||
bool enableAnnotationContextMenu = false, const QStringList &args = {});
|
bool enableAnnotationContextMenu = false, const QStringList &args = {});
|
||||||
void reflog(const Utils::FilePath &workingDirectory, const QString &branch = {});
|
void reflog(const Utils::FilePath &workingDirectory, const QString &branch = {});
|
||||||
VcsBase::VcsBaseEditorWidget *annotate(const Utils::FilePath &workingDir, const QString &file,
|
void annotate(const Utils::FilePath &workingDir, const QString &file,
|
||||||
const QString &revision = {}, int lineNumber = -1,
|
int lineNumber = -1, const QString &revision = {},
|
||||||
const QStringList &extraOptions = {}) override;
|
const QStringList &extraOptions = {}, int firstLine = -1) override;
|
||||||
void reset(const Utils::FilePath &workingDirectory, const QString &argument, const QString &commit = {});
|
void reset(const Utils::FilePath &workingDirectory, const QString &argument, const QString &commit = {});
|
||||||
void removeStaleRemoteBranches(const Utils::FilePath &workingDirectory, const QString &remote);
|
void removeStaleRemoteBranches(const Utils::FilePath &workingDirectory, const QString &remote);
|
||||||
void recoverDeletedFiles(const Utils::FilePath &workingDirectory);
|
void recoverDeletedFiles(const Utils::FilePath &workingDirectory);
|
||||||
|
@@ -1133,11 +1133,8 @@ void GitPluginPrivate::blameFile()
|
|||||||
const FilePath fileName = FilePath::fromString(state.currentFile()).canonicalPath();
|
const FilePath fileName = FilePath::fromString(state.currentFile()).canonicalPath();
|
||||||
FilePath topLevel;
|
FilePath topLevel;
|
||||||
VcsManager::findVersionControlForDirectory(fileName.parentDir(), &topLevel);
|
VcsManager::findVersionControlForDirectory(fileName.parentDir(), &topLevel);
|
||||||
VcsBaseEditorWidget *editor = m_gitClient.annotate(
|
m_gitClient.annotate(topLevel, fileName.relativeChildPath(topLevel).toString(),
|
||||||
topLevel, fileName.relativeChildPath(topLevel).toString(),
|
lineNumber, {}, extraOptions, firstLine);
|
||||||
{}, lineNumber, extraOptions);
|
|
||||||
if (firstLine > 0)
|
|
||||||
editor->setFirstLineNumber(firstLine);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GitPluginPrivate::logProject()
|
void GitPluginPrivate::logProject()
|
||||||
@@ -2126,7 +2123,7 @@ FilePaths GitPluginPrivate::unmanagedFiles(const FilePaths &filePaths) const
|
|||||||
|
|
||||||
void GitPluginPrivate::vcsAnnotate(const FilePath &filePath, int line)
|
void GitPluginPrivate::vcsAnnotate(const FilePath &filePath, int line)
|
||||||
{
|
{
|
||||||
m_gitClient.annotate(filePath.absolutePath(), filePath.fileName(), {}, line);
|
m_gitClient.annotate(filePath.absolutePath(), filePath.fileName(), line);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GitPlugin::emitFilesChanged(const QStringList &l)
|
void GitPlugin::emitFilesChanged(const QStringList &l)
|
||||||
|
@@ -279,13 +279,13 @@ void MercurialClient::outgoing(const FilePath &repositoryRoot)
|
|||||||
enqueueJob(createCommand(repositoryRoot, editor), args);
|
enqueueJob(createCommand(repositoryRoot, editor), args);
|
||||||
}
|
}
|
||||||
|
|
||||||
VcsBaseEditorWidget *MercurialClient::annotate(
|
void MercurialClient::annotate(const Utils::FilePath &workingDir, const QString &file,
|
||||||
const FilePath &workingDir, const QString &file, const QString &revision,
|
int lineNumber, const QString &revision,
|
||||||
int lineNumber, const QStringList &extraOptions)
|
const QStringList &extraOptions, int firstLine)
|
||||||
{
|
{
|
||||||
QStringList args(extraOptions);
|
QStringList args(extraOptions);
|
||||||
args << QLatin1String("-u") << QLatin1String("-c") << QLatin1String("-d");
|
args << QLatin1String("-u") << QLatin1String("-c") << QLatin1String("-d");
|
||||||
return VcsBaseClient::annotate(workingDir, file, revision, lineNumber, args);
|
VcsBaseClient::annotate(workingDir, file, lineNumber, revision, args, firstLine);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MercurialClient::commit(const FilePath &repositoryRoot, const QStringList &files,
|
void MercurialClient::commit(const FilePath &repositoryRoot, const QStringList &files,
|
||||||
|
@@ -38,9 +38,9 @@ public:
|
|||||||
void outgoing(const Utils::FilePath &repositoryRoot);
|
void outgoing(const Utils::FilePath &repositoryRoot);
|
||||||
bool managesFile(const Utils::FilePath &workingDirectory, const QString &fileName) const;
|
bool managesFile(const Utils::FilePath &workingDirectory, const QString &fileName) const;
|
||||||
|
|
||||||
VcsBase::VcsBaseEditorWidget *annotate(
|
void annotate(const Utils::FilePath &workingDir, const QString &file,
|
||||||
const Utils::FilePath &workingDir, const QString &file, const QString &revision = {},
|
int lineNumber = -1, const QString &revision = {},
|
||||||
int lineNumber = -1, const QStringList &extraOptions = {}) override;
|
const QStringList &extraOptions = {}, int firstLine = -1) override;
|
||||||
void commit(const Utils::FilePath &repositoryRoot, const QStringList &files,
|
void commit(const Utils::FilePath &repositoryRoot, const QStringList &files,
|
||||||
const QString &commitMessageFile,
|
const QString &commitMessageFile,
|
||||||
const QStringList &extraOptions = QStringList()) override;
|
const QStringList &extraOptions = QStringList()) override;
|
||||||
|
@@ -351,7 +351,7 @@ void MercurialPluginPrivate::annotateCurrentFile()
|
|||||||
currentLine = editor->currentLine();
|
currentLine = editor->currentLine();
|
||||||
const VcsBasePluginState state = currentState();
|
const VcsBasePluginState state = currentState();
|
||||||
QTC_ASSERT(state.hasFile(), return);
|
QTC_ASSERT(state.hasFile(), return);
|
||||||
m_client.annotate(state.currentFileTopLevel(), state.relativeCurrentFile(), QString(), currentLine);
|
m_client.annotate(state.currentFileTopLevel(), state.relativeCurrentFile(), currentLine);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MercurialPluginPrivate::diffCurrentFile()
|
void MercurialPluginPrivate::diffCurrentFile()
|
||||||
@@ -775,7 +775,7 @@ bool MercurialPluginPrivate::vcsCreateRepository(const FilePath &directory)
|
|||||||
|
|
||||||
void MercurialPluginPrivate::vcsAnnotate(const FilePath &filePath, int line)
|
void MercurialPluginPrivate::vcsAnnotate(const FilePath &filePath, int line)
|
||||||
{
|
{
|
||||||
m_client.annotate(filePath.parentDir(), filePath.fileName(), QString(), line);
|
m_client.annotate(filePath.parentDir(), filePath.fileName(), line);
|
||||||
}
|
}
|
||||||
|
|
||||||
VcsCommand *MercurialPluginPrivate::createInitialCheckoutCommand(const QString &url,
|
VcsCommand *MercurialPluginPrivate::createInitialCheckoutCommand(const QString &url,
|
||||||
|
@@ -149,7 +149,7 @@ void VcsBaseClientImpl::annotateRevisionRequested(const FilePath &workingDirecto
|
|||||||
const int blankPos = changeCopy.indexOf(QLatin1Char(' '));
|
const int blankPos = changeCopy.indexOf(QLatin1Char(' '));
|
||||||
if (blankPos != -1)
|
if (blankPos != -1)
|
||||||
changeCopy.truncate(blankPos);
|
changeCopy.truncate(blankPos);
|
||||||
annotate(workingDirectory, file, changeCopy, line);
|
annotate(workingDirectory, file, line, changeCopy);
|
||||||
}
|
}
|
||||||
|
|
||||||
void VcsBaseClientImpl::vcsExecWithHandler(const FilePath &workingDirectory,
|
void VcsBaseClientImpl::vcsExecWithHandler(const FilePath &workingDirectory,
|
||||||
@@ -324,10 +324,11 @@ bool VcsBaseClient::synchronousPush(const FilePath &workingDir,
|
|||||||
== ProcessResult::FinishedWithSuccess;
|
== ProcessResult::FinishedWithSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
VcsBaseEditorWidget *VcsBaseClient::annotate(
|
void VcsBaseClient::annotate(const Utils::FilePath &workingDir, const QString &file,
|
||||||
const FilePath &workingDir, const QString &file, const QString &revision /* = QString() */,
|
int lineNumber /* = -1 */, const QString &revision /* = {} */,
|
||||||
int lineNumber /* = -1 */, const QStringList &extraOptions)
|
const QStringList &extraOptions /* = {} */, int firstLine /* = -1 */)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(firstLine)
|
||||||
const QString vcsCmdString = vcsCommandString(AnnotateCommand);
|
const QString vcsCmdString = vcsCommandString(AnnotateCommand);
|
||||||
QStringList args;
|
QStringList args;
|
||||||
args << vcsCmdString << revisionSpec(revision) << extraOptions << file;
|
args << vcsCmdString << revisionSpec(revision) << extraOptions << file;
|
||||||
@@ -343,7 +344,6 @@ VcsBaseEditorWidget *VcsBaseClient::annotate(
|
|||||||
VcsCommand *cmd = createCommand(workingDir, editor);
|
VcsCommand *cmd = createCommand(workingDir, editor);
|
||||||
editor->setDefaultLineNumber(lineNumber);
|
editor->setDefaultLineNumber(lineNumber);
|
||||||
enqueueJob(cmd, args);
|
enqueueJob(cmd, args);
|
||||||
return editor;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void VcsBaseClient::diff(const FilePath &workingDir, const QStringList &files,
|
void VcsBaseClient::diff(const FilePath &workingDir, const QStringList &files,
|
||||||
|
@@ -62,11 +62,9 @@ public:
|
|||||||
virtual Utils::Environment processEnvironment() const;
|
virtual Utils::Environment processEnvironment() const;
|
||||||
|
|
||||||
// VCS functionality:
|
// VCS functionality:
|
||||||
virtual VcsBaseEditorWidget *annotate(const Utils::FilePath &workingDir,
|
virtual void annotate(const Utils::FilePath &workingDir, const QString &file,
|
||||||
const QString &file,
|
int lineNumber = -1, const QString &revision = {},
|
||||||
const QString &revision = {},
|
const QStringList &extraOptions = {}, int firstLine = -1) = 0;
|
||||||
int lineNumber = -1,
|
|
||||||
const QStringList &extraOptions = {}) = 0;
|
|
||||||
|
|
||||||
static QStringList splitLines(const QString &s);
|
static QStringList splitLines(const QString &s);
|
||||||
|
|
||||||
@@ -140,11 +138,9 @@ public:
|
|||||||
virtual bool synchronousPush(const Utils::FilePath &workingDir,
|
virtual bool synchronousPush(const Utils::FilePath &workingDir,
|
||||||
const QString &dstLocation,
|
const QString &dstLocation,
|
||||||
const QStringList &extraOptions = {});
|
const QStringList &extraOptions = {});
|
||||||
VcsBaseEditorWidget *annotate(const Utils::FilePath &workingDir,
|
void annotate(const Utils::FilePath &workingDir, const QString &file,
|
||||||
const QString &file,
|
int lineNumber = -1, const QString &revision = {},
|
||||||
const QString &revision = {},
|
const QStringList &extraOptions = {}, int firstLine = -1) override;
|
||||||
int lineNumber = -1,
|
|
||||||
const QStringList &extraOptions = {}) override;
|
|
||||||
virtual void diff(const Utils::FilePath &workingDir,
|
virtual void diff(const Utils::FilePath &workingDir,
|
||||||
const QStringList &files = {},
|
const QStringList &files = {},
|
||||||
const QStringList &extraOptions = {});
|
const QStringList &extraOptions = {});
|
||||||
|
Reference in New Issue
Block a user