VCS: Add 'Annotate' context menu entry to build issues task window.

This commit is contained in:
Friedemann Kleint
2010-03-19 17:22:18 +01:00
parent 1abe898c8a
commit 751d7d043c
19 changed files with 109 additions and 25 deletions

View File

@@ -52,6 +52,7 @@ bool CVSControl::supportsOperation(Operation operation) const
switch (operation) {
case AddOperation:
case DeleteOperation:
case AnnotateOperation:
break;
case OpenOperation:
case CreateRepositoryOperation:
@@ -105,6 +106,12 @@ bool CVSControl::vcsRemoveSnapshot(const QString &, const QString &)
return false;
}
bool CVSControl::vcsAnnotate(const QString &file, int line)
{
m_plugin->vcsAnnotate(file, QString(), line);
return true;
}
bool CVSControl::managesDirectory(const QString &directory) const
{
return m_plugin->managesDirectory(directory);

View File

@@ -57,6 +57,7 @@ public:
virtual QStringList vcsSnapshots(const QString &topLevel);
virtual bool vcsRestoreSnapshot(const QString &topLevel, const QString &name);
virtual bool vcsRemoveSnapshot(const QString &topLevel, const QString &name);
virtual bool vcsAnnotate(const QString &file, int line);
void emitRepositoryChanged(const QString &s);
void emitFilesChanged(const QStringList &l);

View File

@@ -771,7 +771,7 @@ void CVSPlugin::annotateCurrentFile()
annotate(state.currentFileTopLevel(), state.relativeCurrentFile());
}
void CVSPlugin::annotateVersion(const QString &file, const QString &revision, int lineNumber)
void CVSPlugin::vcsAnnotate(const QString &file, const QString &revision, int lineNumber)
{
const QFileInfo fi(file);
annotate(fi.absolutePath(), fi.fileName(), revision, lineNumber);
@@ -1072,7 +1072,7 @@ Core::IEditor * CVSPlugin::showOutputInEditor(const QString& title, const QStrin
QString s = title;
Core::IEditor *editor = Core::EditorManager::instance()->openEditorWithContents(id, &s, output.toLocal8Bit());
connect(editor, SIGNAL(annotateRevisionRequested(QString,QString,int)),
this, SLOT(annotateVersion(QString,QString,int)));
this, SLOT(vcsAnnotate(QString,QString,int)));
CVSEditor *e = qobject_cast<CVSEditor*>(editor->widget());
if (!e)
return 0;

View File

@@ -101,6 +101,9 @@ public:
static CVSPlugin *cvsPluginInstance();
public slots:
void vcsAnnotate(const QString &file, const QString &revision /* = QString() */, int lineNumber);
private slots:
void addCurrentFile();
void revertCurrentFile();
@@ -111,7 +114,6 @@ private slots:
void startCommitCurrentFile();
void filelogCurrentFile();
void annotateCurrentFile();
void annotateVersion(const QString &file, const QString &revision, int lineNumber);
void projectStatus();
void slotDescribe(const QString &source, const QString &changeNr);
void updateProject();