summaryrefslogtreecommitdiff
path: root/src/plugins/subversion
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2009-11-09 15:57:56 +0100
committerFriedemann Kleint <Friedemann.Kleint@nokia.com>2009-11-09 15:57:56 +0100
commit7aa24116935249a840e1350a6f8de73bc794fb09 (patch)
treef0d69542e8cb13187eaeebb43ec187b3ad763aa1 /src/plugins/subversion
parent19fb0311bade0ffee612d51d64d40b04a811b7c4 (diff)
downloadqt-creator-7aa24116935249a840e1350a6f8de73bc794fb09.tar.gz
Code model: Update on changes from the versioning system.
Add state logic to CppCodeModelManagerInterface, making it aware whether an indexer is running, protect the update methods from another invocation while running. Add changed signals to IVersionControl and VCSManager and wire them to the update methods. Add a menu action for manually updating. Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com> Reviewed-by: con <qtc-committer@nokia.com>
Diffstat (limited to 'src/plugins/subversion')
-rw-r--r--src/plugins/subversion/subversioncontrol.cpp10
-rw-r--r--src/plugins/subversion/subversioncontrol.h3
-rw-r--r--src/plugins/subversion/subversionplugin.cpp6
-rw-r--r--src/plugins/subversion/subversionplugin.h3
4 files changed, 20 insertions, 2 deletions
diff --git a/src/plugins/subversion/subversioncontrol.cpp b/src/plugins/subversion/subversioncontrol.cpp
index 32ef57e5ec..ff0e0f1c81 100644
--- a/src/plugins/subversion/subversioncontrol.cpp
+++ b/src/plugins/subversion/subversioncontrol.cpp
@@ -96,3 +96,13 @@ QString SubversionControl::findTopLevelForDirectory(const QString &directory) co
{
return m_plugin->findTopLevelForDirectory(directory);
}
+
+void SubversionControl::emitRepositoryChanged(const QString &s)
+{
+ emit repositoryChanged(s);
+}
+
+void SubversionControl::emitFilesChanged(const QStringList &l)
+{
+ emit filesChanged(l);
+}
diff --git a/src/plugins/subversion/subversioncontrol.h b/src/plugins/subversion/subversioncontrol.h
index 42f64ab147..325cfd1098 100644
--- a/src/plugins/subversion/subversioncontrol.h
+++ b/src/plugins/subversion/subversioncontrol.h
@@ -56,6 +56,9 @@ public:
virtual bool vcsAdd(const QString &fileName);
virtual bool vcsDelete(const QString &filename);
+ void emitRepositoryChanged(const QString &);
+ void emitFilesChanged(const QStringList &);
+
signals:
void enabledChanged(bool);
diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp
index 676ffc2b8a..0060e02395 100644
--- a/src/plugins/subversion/subversionplugin.cpp
+++ b/src/plugins/subversion/subversionplugin.cpp
@@ -574,6 +574,7 @@ void SubversionPlugin::revertCurrentFile()
const SubversionResponse revertResponse = runSvn(args, subversionShortTimeOut, true);
if (!revertResponse.error) {
fcb.setModifiedReload(true);
+ m_versionControl->emitFilesChanged(QStringList(file));
}
}
@@ -750,7 +751,10 @@ void SubversionPlugin::updateProject()
QStringList args(QLatin1String("update"));
args.push_back(QLatin1String(nonInteractiveOptionC));
args.append(topLevels);
- runSvn(args, subversionLongTimeOut, true);
+ const SubversionResponse response = runSvn(args, subversionLongTimeOut, true);
+ if (!response.error)
+ foreach(const QString &repo, topLevels)
+ m_versionControl->emitRepositoryChanged(repo);
}
void SubversionPlugin::annotateCurrentFile()
diff --git a/src/plugins/subversion/subversionplugin.h b/src/plugins/subversion/subversionplugin.h
index 1dcfce6803..6e3dab7e5d 100644
--- a/src/plugins/subversion/subversionplugin.h
+++ b/src/plugins/subversion/subversionplugin.h
@@ -56,6 +56,7 @@ namespace Subversion {
namespace Internal {
class SubversionSubmitEditor;
+class SubversionControl;
struct SubversionResponse
{
@@ -131,7 +132,7 @@ private:
const QStringList m_svnDirectories;
SubversionSettings m_settings;
- Core::IVersionControl *m_versionControl;
+ SubversionControl *m_versionControl;
QString m_commitMessageFileName;
ProjectExplorer::ProjectExplorerPlugin *m_projectExplorer;