Mercurial > hg > easyhg-kdiff3
comparison kdiff3/src/directorymergewindow.cpp @ 58:8af4bb9d9a5a
Version 0.9.83
author | joachim99 |
---|---|
date | Sun, 07 Mar 2004 09:59:09 +0000 |
parents | 32d5cbf9db71 |
children | efe33e938730 |
comparison
equal
deleted
inserted
replaced
57:023fbd76c1e3 | 58:8af4bb9d9a5a |
---|---|
1 /*************************************************************************** | 1 /*************************************************************************** |
2 directorymergewindow.cpp | 2 directorymergewindow.cpp |
3 ------------------- | 3 ----------------- |
4 begin : Sat Oct 19 2002 | 4 begin : Sat Oct 19 2002 |
5 copyright : (C) 2002 by Joachim Eibl | 5 copyright : (C) 2002-2004 by Joachim Eibl |
6 email : joachim.eibl@gmx.de | 6 email : joachim.eibl@gmx.de |
7 ***************************************************************************/ | 7 ***************************************************************************/ |
8 | 8 |
9 /*************************************************************************** | 9 /*************************************************************************** |
10 * * | 10 * * |
345 } | 345 } |
346 for( QListViewItem* p = i->firstChild(); p!=0; p = p->nextSibling() ) | 346 for( QListViewItem* p = i->firstChild(); p!=0; p = p->nextSibling() ) |
347 calcDirStatus( bThreeDirs, static_cast<DirMergeItem*>(p), nofFiles, nofDirs, nofEqualFiles, nofManualMerges ); | 347 calcDirStatus( bThreeDirs, static_cast<DirMergeItem*>(p), nofFiles, nofDirs, nofEqualFiles, nofManualMerges ); |
348 } | 348 } |
349 | 349 |
350 static QString sortString(const QString& s) | |
351 { | |
352 #ifdef _WIN32 | |
353 return s.upper(); | |
354 #else | |
355 return s; | |
356 #endif | |
357 } | |
358 | |
350 bool DirectoryMergeWindow::init | 359 bool DirectoryMergeWindow::init |
351 ( | 360 ( |
352 FileAccess& dirA, | 361 FileAccess& dirA, |
353 FileAccess& dirB, | 362 FileAccess& dirB, |
354 FileAccess& dirC, | 363 FileAccess& dirC, |
437 m_pOptions->m_DmDirAntiPattern, m_pOptions->m_bDmFollowDirLinks, | 446 m_pOptions->m_DmDirAntiPattern, m_pOptions->m_bDmFollowDirLinks, |
438 m_pOptions->m_bDmUseCvsIgnore); | 447 m_pOptions->m_bDmUseCvsIgnore); |
439 | 448 |
440 for (i=dirListA.begin(); i!=dirListA.end();++i ) | 449 for (i=dirListA.begin(); i!=dirListA.end();++i ) |
441 { | 450 { |
442 MergeFileInfos& mfi = m_fileMergeMap[i->filePath()]; | 451 MergeFileInfos& mfi = m_fileMergeMap[sortString(i->filePath())]; |
443 //std::cout <<i->filePath()<<std::endl; | 452 //std::cout <<i->filePath()<<std::endl; |
444 mfi.m_bExistsInA = true; | 453 mfi.m_bExistsInA = true; |
445 mfi.m_fileInfoA = *i; | 454 mfi.m_fileInfoA = *i; |
446 } | 455 } |
447 } | 456 } |
459 m_pOptions->m_DmDirAntiPattern, m_pOptions->m_bDmFollowDirLinks, | 468 m_pOptions->m_DmDirAntiPattern, m_pOptions->m_bDmFollowDirLinks, |
460 m_pOptions->m_bDmUseCvsIgnore); | 469 m_pOptions->m_bDmUseCvsIgnore); |
461 | 470 |
462 for (i=dirListB.begin(); i!=dirListB.end();++i ) | 471 for (i=dirListB.begin(); i!=dirListB.end();++i ) |
463 { | 472 { |
464 MergeFileInfos& mfi = m_fileMergeMap[i->filePath()]; | 473 MergeFileInfos& mfi = m_fileMergeMap[sortString(i->filePath())]; |
465 mfi.m_bExistsInB = true; | 474 mfi.m_bExistsInB = true; |
466 mfi.m_fileInfoB = *i; | 475 mfi.m_fileInfoB = *i; |
467 } | 476 } |
468 } | 477 } |
469 | 478 |
481 m_pOptions->m_DmDirAntiPattern, m_pOptions->m_bDmFollowDirLinks, | 490 m_pOptions->m_DmDirAntiPattern, m_pOptions->m_bDmFollowDirLinks, |
482 m_pOptions->m_bDmUseCvsIgnore); | 491 m_pOptions->m_bDmUseCvsIgnore); |
483 | 492 |
484 for (i=dirListC.begin(); i!=dirListC.end();++i ) | 493 for (i=dirListC.begin(); i!=dirListC.end();++i ) |
485 { | 494 { |
486 MergeFileInfos& mfi = m_fileMergeMap[i->filePath()]; | 495 MergeFileInfos& mfi = m_fileMergeMap[sortString(i->filePath())]; |
487 mfi.m_bExistsInC = true; | 496 mfi.m_bExistsInC = true; |
488 mfi.m_fileInfoC = *i; | 497 mfi.m_fileInfoC = *i; |
489 } | 498 } |
490 | 499 |
491 eDefaultMergeOp = eMergeABCToDest; | 500 eDefaultMergeOp = eMergeABCToDest; |
947 int currentIdx = 1; | 956 int currentIdx = 1; |
948 QTime t; | 957 QTime t; |
949 t.start(); | 958 t.start(); |
950 for( j=m_fileMergeMap.begin(); j!=m_fileMergeMap.end(); ++j ) | 959 for( j=m_fileMergeMap.begin(); j!=m_fileMergeMap.end(); ++j ) |
951 { | 960 { |
952 const QString& fileName = j->first; | |
953 MergeFileInfos& mfi = j->second; | 961 MergeFileInfos& mfi = j->second; |
954 | 962 |
955 mfi.m_subPath = mfi.m_fileInfoA.exists() ? mfi.m_fileInfoA.filePath() : | 963 mfi.m_subPath = mfi.m_fileInfoA.exists() ? mfi.m_fileInfoA.filePath() : |
956 mfi.m_fileInfoB.exists() ? mfi.m_fileInfoB.filePath() : | 964 mfi.m_fileInfoB.exists() ? mfi.m_fileInfoB.filePath() : |
957 mfi.m_fileInfoC.exists() ? mfi.m_fileInfoC.filePath() : | 965 mfi.m_fileInfoC.exists() ? mfi.m_fileInfoC.filePath() : |
958 QString(""); | 966 QString(""); |
967 | |
968 // const QString& fileName = j->first; | |
969 const QString& fileName = mfi.m_subPath; | |
959 | 970 |
960 g_pProgressDialog->setInformation( | 971 g_pProgressDialog->setInformation( |
961 i18n("Processing ") + QString::number(currentIdx) +" / "+ QString::number(nrOfFiles) | 972 i18n("Processing ") + QString::number(currentIdx) +" / "+ QString::number(nrOfFiles) |
962 +"\n" + fileName, double(currentIdx) / nrOfFiles, false ); | 973 +"\n" + fileName, double(currentIdx) / nrOfFiles, false ); |
963 if ( g_pProgressDialog->wasCancelled() ) break; | 974 if ( g_pProgressDialog->wasCancelled() ) break; |
992 { | 1003 { |
993 new DirMergeItem( this, filePart, &mfi ); | 1004 new DirMergeItem( this, filePart, &mfi ); |
994 } | 1005 } |
995 else | 1006 else |
996 { | 1007 { |
997 MergeFileInfos& dirMfi = m_fileMergeMap[dirPart]; // parent | 1008 MergeFileInfos& dirMfi = m_fileMergeMap[sortString(dirPart)]; // parent |
998 assert(dirMfi.m_pDMI!=0); | 1009 assert(dirMfi.m_pDMI!=0); |
999 new DirMergeItem( dirMfi.m_pDMI, filePart, &mfi ); | 1010 new DirMergeItem( dirMfi.m_pDMI, filePart, &mfi ); |
1000 mfi.m_pParent = &dirMfi; | 1011 mfi.m_pParent = &dirMfi; |
1001 | 1012 |
1002 if ( !bEqual ) // Set all parents to "not equal" | 1013 if ( !bEqual ) // Set all parents to "not equal" |