summaryrefslogtreecommitdiff
path: root/src/plugins/subversion
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2010-03-19 17:22:18 +0100
committerFriedemann Kleint <Friedemann.Kleint@nokia.com>2010-03-19 17:22:53 +0100
commit751d7d043cb09dab2d37a0799c0b172de1aed6f6 (patch)
tree7193da4325d3a6baa55e4745503f610904089e56 /src/plugins/subversion
parent1abe898c8a0c509083c00a537072aaf1e0ca128e (diff)
downloadqt-creator-751d7d043cb09dab2d37a0799c0b172de1aed6f6.tar.gz
VCS: Add 'Annotate' context menu entry to build issues task window.
Diffstat (limited to 'src/plugins/subversion')
-rw-r--r--src/plugins/subversion/subversioncontrol.cpp8
-rw-r--r--src/plugins/subversion/subversioncontrol.h2
-rw-r--r--src/plugins/subversion/subversionplugin.cpp6
-rw-r--r--src/plugins/subversion/subversionplugin.h6
4 files changed, 17 insertions, 5 deletions
diff --git a/src/plugins/subversion/subversioncontrol.cpp b/src/plugins/subversion/subversioncontrol.cpp
index ef6a5677fc..c58159ff60 100644
--- a/src/plugins/subversion/subversioncontrol.cpp
+++ b/src/plugins/subversion/subversioncontrol.cpp
@@ -52,6 +52,7 @@ bool SubversionControl::supportsOperation(Operation operation) const
switch (operation) {
case AddOperation:
case DeleteOperation:
+ case AnnotateOperation:
break;
case OpenOperation:
case CreateRepositoryOperation:
@@ -115,6 +116,13 @@ QString SubversionControl::findTopLevelForDirectory(const QString &directory) co
return m_plugin->findTopLevelForDirectory(directory);
}
+bool SubversionControl::vcsAnnotate(const QString &file, int line)
+{
+ const QFileInfo fi(file);
+ m_plugin->vcsAnnotate(fi.absolutePath(), fi.fileName(), QString(), line);
+ return true;
+}
+
void SubversionControl::emitRepositoryChanged(const QString &s)
{
emit repositoryChanged(s);
diff --git a/src/plugins/subversion/subversioncontrol.h b/src/plugins/subversion/subversioncontrol.h
index 43e803ace9..132aca4d8e 100644
--- a/src/plugins/subversion/subversioncontrol.h
+++ b/src/plugins/subversion/subversioncontrol.h
@@ -59,6 +59,8 @@ public:
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 &);
void emitFilesChanged(const QStringList &);
diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp
index ee1a116964..bcc249ef5f 100644
--- a/src/plugins/subversion/subversionplugin.cpp
+++ b/src/plugins/subversion/subversionplugin.cpp
@@ -799,7 +799,7 @@ void SubversionPlugin::annotateCurrentFile()
{
const VCSBase::VCSBasePluginState state = currentState();
QTC_ASSERT(state.hasFile(), return);
- annotate(state.currentFileTopLevel(), state.relativeCurrentFile());
+ vcsAnnotate(state.currentFileTopLevel(), state.relativeCurrentFile());
}
void SubversionPlugin::annotateVersion(const QString &file,
@@ -807,10 +807,10 @@ void SubversionPlugin::annotateVersion(const QString &file,
int lineNr)
{
const QFileInfo fi(file);
- annotate(fi.absolutePath(), fi.fileName(), revision, lineNr);
+ vcsAnnotate(fi.absolutePath(), fi.fileName(), revision, lineNr);
}
-void SubversionPlugin::annotate(const QString &workingDir, const QString &file,
+void SubversionPlugin::vcsAnnotate(const QString &workingDir, const QString &file,
const QString &revision /* = QString() */,
int lineNumber /* = -1 */)
{
diff --git a/src/plugins/subversion/subversionplugin.h b/src/plugins/subversion/subversionplugin.h
index 9acf0926b2..2a9283da2f 100644
--- a/src/plugins/subversion/subversionplugin.h
+++ b/src/plugins/subversion/subversionplugin.h
@@ -100,6 +100,10 @@ public:
static SubversionPlugin *subversionPluginInstance();
+public slots:
+ void vcsAnnotate(const QString &workingDir, const QString &file,
+ const QString &revision = QString(), int lineNumber = -1);
+
private slots:
void addCurrentFile();
void revertCurrentFile();
@@ -132,8 +136,6 @@ private:
SubversionResponse runSvn(const QString &workingDir,
const QStringList &arguments, int timeOut,
bool showStdOutInOutputWindow, QTextCodec *outputCodec = 0);
- void annotate(const QString &workingDir, const QString &file,
- const QString &revision = QString(), int lineNumber = -1);
void filelog(const QString &workingDir,
const QStringList &file = QStringList(),
bool enableAnnotationContextMenu = false);