From: Shie E. <er...@us...> - 2006-04-05 12:17:28
|
Update of /cvsroot/krusader/krusader_kde3/krusader/Panel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31925/krusader/Panel Modified Files: krdetailedview.cpp krdetailedviewitem.cpp krview.h Log Message: add: the option to make directories be always sorted by name, regardless of sort column Index: krdetailedviewitem.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/krdetailedviewitem.cpp,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** krdetailedviewitem.cpp 1 Feb 2006 21:59:45 -0000 1.62 --- krdetailedviewitem.cpp 5 Apr 2006 12:17:16 -0000 1.63 *************** *** 314,317 **** --- 314,318 ---- int KrDetailedViewItem::compare(QListViewItem *i,int col,bool ascending ) const { bool ignoreCase = (PROPS->sortMode & KrViewProperties::IgnoreCase); + bool alwaysSortDirsByName = (PROPS->sortMode & KrViewProperties::AlwaysSortDirsByName); int asc = ( ascending ? -1 : 1 ); KrViewItem *other = dynamic_cast<KrViewItem*>(i); *************** *** 327,331 **** QString itext0 = other->name(); if (itext0 == "..") return -1*asc; ! if( ignoreCase ) { --- 328,332 ---- QString itext0 = other->name(); if (itext0 == "..") return -1*asc; ! if( ignoreCase ) { *************** *** 333,338 **** itext0 = itext0.lower(); } ! ! if (col == COLUMN(Name) ) { // localeAwareCompare doesn't handle names that start with a dot if (text0.startsWith(".")) { --- 334,340 ---- itext0 = itext0.lower(); } ! ! if (col == COLUMN(Name) || ! (alwaysSortDirsByName && VF->vfile_isDir() && other->VF->vfile_isDir())) { // localeAwareCompare doesn't handle names that start with a dot if (text0.startsWith(".")) { Index: krview.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/krview.h,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** krview.h 4 Feb 2006 22:12:17 -0000 1.36 --- krview.h 5 Apr 2006 12:17:16 -0000 1.37 *************** *** 57,61 **** enum SortSpec { Name=0x1, Ext=0x2, Size=0x4, Type=0x8, Modified=0x10, Permissions=0x20, KrPermissions=0x40, Owner=0x80, Group=0x100, Descending=0x200, ! DirsFirst=0x400, IgnoreCase=0x800 }; enum FilterSpec { Dirs=0x1, Files=0x2, All=0x3, Custom=0x4, ApplyToDirs=0x8 }; --- 57,61 ---- enum SortSpec { Name=0x1, Ext=0x2, Size=0x4, Type=0x8, Modified=0x10, Permissions=0x20, KrPermissions=0x40, Owner=0x80, Group=0x100, Descending=0x200, ! DirsFirst=0x400, IgnoreCase=0x800, AlwaysSortDirsByName=0x1000 }; enum FilterSpec { Dirs=0x1, Files=0x2, All=0x3, Custom=0x4, ApplyToDirs=0x8 }; Index: krdetailedview.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/Panel/krdetailedview.cpp,v retrieving revision 1.155 retrieving revision 1.156 diff -C2 -d -r1.155 -r1.156 *** krdetailedview.cpp 29 Mar 2006 08:55:16 -0000 1.155 --- krdetailedview.cpp 5 Apr 2006 12:17:16 -0000 1.156 *************** *** 1259,1264 **** PROPS->column[i]=-1; PROPS->displayIcons = _config->readBoolEntry( "With Icons", _WithIcons ); PROPS->sortMode = static_cast<KrViewProperties::SortSpec>( KrViewProperties::Name | ! KrViewProperties::Descending | KrViewProperties::DirsFirst ); PROPS->numericPermissions = _config->readBoolEntry("Numeric permissions", _NumericPermissions); if ( !_config->readBoolEntry( "Case Sensative Sort", _CaseSensativeSort ) ) --- 1259,1266 ---- PROPS->column[i]=-1; PROPS->displayIcons = _config->readBoolEntry( "With Icons", _WithIcons ); + bool dirsByNameAlways = _config->readBoolEntry("Always sort dirs by name", false); PROPS->sortMode = static_cast<KrViewProperties::SortSpec>( KrViewProperties::Name | ! KrViewProperties::Descending | KrViewProperties::DirsFirst | ! (dirsByNameAlways ? KrViewProperties::AlwaysSortDirsByName : 0) ); PROPS->numericPermissions = _config->readBoolEntry("Numeric permissions", _NumericPermissions); if ( !_config->readBoolEntry( "Case Sensative Sort", _CaseSensativeSort ) ) |