[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdesdk/kioslave/svn/ksvnd
From:       Mickael Marchand <marchand () kde ! org>
Date:       2005-05-06 21:55:32
Message-ID: 1115416532.116417.16914.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 410166 by marchand:

add the getStatus function ;)



 M  +45 -0     trunk/KDE/kdesdk/kioslave/svn/ksvnd/ksvnd.cpp  
 M  +1 -0      trunk/KDE/kdesdk/kioslave/svn/ksvnd/ksvnd.h  


--- trunk/KDE/kdesdk/kioslave/svn/ksvnd/ksvnd.cpp #410165:410166
@@ -196,6 +196,51 @@
 	return false;
 }
 
+int KSvnd::getStatus( KURL::List& list ) {
+	int result = 0;
+	uint files = 0, folders = 0, parentsentries = 0, parentshavesvn = 0, subdirhavesvn \
= 0, external = 0; +	for ( QValueListConstIterator<KURL> it = list.begin(); it != \
list.end() ; ++it ) { +		if ( isFolder ( ( *it ) ) ) {
+			folders++;
+		} else {
+			files++;
+		}
+		if ( isFileInSvnEntries ( (*it).filename(),( *it ).directory() + "/.svn/entries" ) \
) { // normal subdir known in the working copy +			parentsentries++;
+		} else if ( isFolder( *it ) ) { // other subfolders (either another module \
checkouted or an external, or something not known at all) +			if ( QFile::exists( ( \
*it ).path() + "/.svn/entries/" ) )  +				subdirhavesvn++;
+			if ( isFileInExternals( (*it).filename(), ( *it ).directory() + "/.svn/dir-props" \
) ) { +				external++;
+			}
+		}
+		if ( ( isFolder( ( *it ) ) && QFile::exists( ( *it ).directory() + \
"../.svn/entries" ) ) || QFile::exists( ( *it ).directory() + "/.svn/entries" ) ) \
//parent has a .svn ? +			parentshavesvn++;
+	}
+	if ( files > 0 ) 
+		result |= SomeAreFiles;
+	if ( folders > 0 )
+		result |= SomeAreFolders;
+	if ( parentsentries == list.count() ) 
+		result |= AllAreInParentsEntries;
+	else if ( parentsentries != 0 )
+		result |= SomeAreInParentsEntries;
+	if ( parentshavesvn == list.count() )
+		result |= AllParentsHaveSvn;
+	else if ( parentshavesvn > 0 )
+		result |= SomeParentsHaveSvn;
+	if ( subdirhavesvn == list.count() )
+		result |= AllHaveSvn;
+	else if ( subdirhavesvn > 0 )
+		result |= SomeHaveSvn;
+	if ( external == list.count() )
+		result |= AllAreExternalToParent;
+	else if ( external > 0 )
+		result |= SomeAreExternalToParent;
+	
+	return result;
+}
+
 bool KSvnd::isFolder( const KURL& url ) {
 	QDir d( url.path() );
 	return d.exists();
--- trunk/KDE/kdesdk/kioslave/svn/ksvnd/ksvnd.h #410165:410166
@@ -63,6 +63,7 @@
   bool isFileInSvnEntries ( const QString filename, const QString entfile );
   bool isFileInExternals ( const QString filename, const QString propfile );
   bool isFolder( const KURL& url );
+  int getStatus( KURL::List& list );
 };
 
 #endif


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic