diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2009-11-09 15:57:56 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2009-11-09 15:57:56 +0100 |
commit | 7aa24116935249a840e1350a6f8de73bc794fb09 (patch) | |
tree | f0d69542e8cb13187eaeebb43ec187b3ad763aa1 /src/plugins/subversion | |
parent | 19fb0311bade0ffee612d51d64d40b04a811b7c4 (diff) | |
download | qt-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.cpp | 10 | ||||
-rw-r--r-- | src/plugins/subversion/subversioncontrol.h | 3 | ||||
-rw-r--r-- | src/plugins/subversion/subversionplugin.cpp | 6 | ||||
-rw-r--r-- | src/plugins/subversion/subversionplugin.h | 3 |
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; |