From ff243261742ecd70fb9e417614e757b5956c04aa Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sat, 10 Sep 2011 18:08:03 +0200 Subject: Provide KVersionControlPlugin version 2 Based on the work of Vishesh Yadav some extensions where required for the KVersionControlPlugin interface that have found there way now into KVersionControlPlugin2. Beside some interface cleanups it is now possible that a version control plugin may also provide context actions for directories or files that are not versioned yet. REVIEW: 102541 --- src/views/versioncontrol/updateitemstatesthread.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/views/versioncontrol/updateitemstatesthread.cpp') diff --git a/src/views/versioncontrol/updateitemstatesthread.cpp b/src/views/versioncontrol/updateitemstatesthread.cpp index 1fa3a6255..f9746aadd 100644 --- a/src/views/versioncontrol/updateitemstatesthread.cpp +++ b/src/views/versioncontrol/updateitemstatesthread.cpp @@ -19,6 +19,8 @@ #include "updateitemstatesthread.h" +#include + #include UpdateItemStatesThread::UpdateItemStatesThread() : @@ -64,9 +66,19 @@ void UpdateItemStatesThread::run() if (m_plugin->beginRetrieval(directory)) { itemLocker.relock(); const int count = m_itemStates.count(); - for (int i = 0; i < count; ++i) { - m_itemStates[i].version = m_plugin->versionState(m_itemStates[i].item); + + KVersionControlPlugin2* pluginV2 = qobject_cast(m_plugin); + if (pluginV2) { + for (int i = 0; i < count; ++i) { + m_itemStates[i].version = pluginV2->itemVersion(m_itemStates[i].item); + } + } else { + for (int i = 0; i < count; ++i) { + const KVersionControlPlugin::VersionState state = m_plugin->versionState(m_itemStates[i].item); + m_itemStates[i].version = static_cast(state); + } } + m_plugin->endRetrieval(); m_retrievedItems = true; } -- cgit v1.3