[Xbyamp-cvs] xbmp/player/UI Catalogue.cpp,1.1,1.2
Status: Pre-Alpha
Brought to you by:
yamp
From: <ya...@us...> - 2002-12-05 21:56:03
|
Update of /cvsroot/xbyamp/xbmp/player/UI In directory sc8-pr-cvs1:/tmp/cvs-serv24312/UI Modified Files: Catalogue.cpp Log Message: no message Index: Catalogue.cpp =================================================================== RCS file: /cvsroot/xbyamp/xbmp/player/UI/Catalogue.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Catalogue.cpp 28 Nov 2002 21:47:34 -0000 1.1 --- Catalogue.cpp 5 Dec 2002 21:56:00 -0000 1.2 *************** *** 8,12 **** #include "RemoteCatalogue.h" #include "LegacyCatalogue.h" ! #include <algorithm> --- 8,12 ---- #include "RemoteCatalogue.h" #include "LegacyCatalogue.h" ! #include "../xbox/debugclient.h" #include <algorithm> *************** *** 30,34 **** bool operator()(CatalogueProvider::Item& rpStart, CatalogueProvider::Item& rpEnd) { ! return (rpStart.strPath.compare( rpEnd.strPath )<0); } }; --- 30,52 ---- bool operator()(CatalogueProvider::Item& rpStart, CatalogueProvider::Item& rpEnd) { ! if ( ( (rpStart.dwAttributes & FILE_ATTRIBUTE_NORMAL) && ! (rpEnd.dwAttributes & FILE_ATTRIBUTE_NORMAL) ) || ! ( (rpStart.dwAttributes & FILE_ATTRIBUTE_DIRECTORY) && ! (rpEnd.dwAttributes & FILE_ATTRIBUTE_DIRECTORY) ) ) ! { ! char szfilename1[1024]; ! char szfilename2[1024]; ! strcpy(szfilename1,rpStart.strPath.c_str()); ! strcpy(szfilename2,rpEnd.strPath.c_str()); ! for (int i=0; i < (int)strlen(szfilename1); i++) ! szfilename1[i]=tolower(szfilename1[i]); ! ! for (i=0; i < (int)strlen(szfilename2); i++) ! szfilename2[i]=tolower(szfilename2[i]); ! //return (rpStart.strPath.compare( rpEnd.strPath )<0); ! return (strcmp(szfilename1,szfilename2)<0); ! } ! if (rpStart.dwAttributes & FILE_ATTRIBUTE_NORMAL ) return false; ! return true; } }; *************** *** 38,46 **** bool operator()(CatalogueProvider::Item& rpStart, CatalogueProvider::Item& rpEnd) { ! if (!((rpStart.dwAttributes & FILE_ATTRIBUTE_DIRECTORY) && ! (rpStart.dwAttributes & FILE_ATTRIBUTE_NORMAL) )) ! return false; ! return (rpStart.strPath.compare( rpEnd.strPath )<0); } }; --- 56,101 ---- bool operator()(CatalogueProvider::Item& rpStart, CatalogueProvider::Item& rpEnd) { ! if ( ( (rpStart.dwAttributes & FILE_ATTRIBUTE_NORMAL) && ! (rpEnd.dwAttributes & FILE_ATTRIBUTE_NORMAL) ) || ! ( (rpStart.dwAttributes & FILE_ATTRIBUTE_DIRECTORY) && ! (rpEnd.dwAttributes & FILE_ATTRIBUTE_DIRECTORY) ) ) ! { ! char szfilename1[1024], *extension1; ! char szfilename2[1024], *extension2; ! strcpy(szfilename1,rpStart.strPath.c_str()); ! strcpy(szfilename2,rpEnd.strPath.c_str()); ! ! for( int i=strlen(szfilename1) ; i>0 ; i-- ) ! { ! if( szfilename1[i]=='.' ) ! { ! extension1=(szfilename1)+i+1; ! break; ! } ! } ! for( int i=strlen(szfilename2) ; i>0 ; i-- ) ! { ! if( szfilename2[i]=='.' ) ! { ! extension2=(szfilename2)+i+1; ! break; ! } ! } ! for (int i=0; i < (int)strlen(szfilename1); i++) ! szfilename1[i]=tolower(szfilename1[i]); ! ! for (i=0; i < (int)strlen(szfilename2); i++) ! szfilename2[i]=tolower(szfilename2[i]); ! ! int icmp=(strcmp(extension1,extension2)); ! if (icmp==0) ! { ! return (strcmp(szfilename1, szfilename2)<0); ! } ! return (icmp<0); ! } ! if (rpStart.dwAttributes & FILE_ATTRIBUTE_NORMAL ) return false; ! return true; } }; |