View Issue Details

IDProjectCategoryView StatusLast Update
0001618WishesPanelpublic2013-02-03 00:34
ReporterDAtaMan Assigned ToDrKnS  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Fixed in Version2.0 
Summary0001618: Числовая сортировка и по остальным колонкам
DescriptionIMHO, очень не хватает такой возможности.
Особенно при сортировке по описанию и по Custom-колонке (в частности, svn)

Патч прилагается.
Также добавил учитывание регистра.
Additional InformationЕщё есть предложение добавить пункт регистрозависимой сортировки в меню.
Чтобы его значение бралось из текущего режима показа панелей.
TagsNo tags attached.
Build1757

Activities

DAtaMan

2010-12-11 16:55

reporter  

filelist.cpp.diff (1,833 bytes)   
--- G:\!Repositories\SVN\C++\FAR\unicode_far\filelist.cpp	2010-12-10 03:47:38.631835900 +0500
+++ D:\Program Files\FAR2\Source\unicode_far\filelist.cpp	2010-12-11 19:52:16.296875000 +0500
@@ -397,7 +397,10 @@ int _cdecl SortList(const void *el1,cons
 				if (!*Ext2)
 					return(ListSortOrder);
 
-				RetCode=ListSortOrder*StrCmpI(Ext1+1,Ext2+1);
+				if (ListNumericSort)
+	  				RetCode=ListSortOrder*(ListCaseSensitive?NumStrCmp(Ext1+1,Ext2+1):NumStrCmpI(Ext1+1,Ext2+1));
+				else
+	  				RetCode=ListSortOrder*(ListCaseSensitive?StrCmp(Ext1+1,Ext2+1):StrCmpI(Ext1+1,Ext2+1));
 
 				if (RetCode)
 					return RetCode;
@@ -444,9 +447,12 @@ int _cdecl SortList(const void *el1,cons
 
 				if (!SPtr2->DizText)
 					return -ListSortOrder;
-
-				RetCode=ListSortOrder*StrCmpI(SPtr1->DizText,SPtr2->DizText);
-
+          			
+				if (ListNumericSort)
+	  				RetCode=ListSortOrder*(ListCaseSensitive?NumStrCmp(SPtr1->DizText,SPtr2->DizText):NumStrCmpI(SPtr1->DizText,SPtr2->DizText));
+				else
+	  				RetCode=ListSortOrder*(ListCaseSensitive?StrCmp(SPtr1->DizText,SPtr2->DizText):StrCmpI(SPtr1->DizText,SPtr2->DizText));
+							
 				if (RetCode)
 					return RetCode;
 				break;
@@ -515,7 +521,10 @@ int _cdecl SortList(const void *el1,cons
 				if (SPtr2->strCustomData.IsEmpty())
 					return -ListSortOrder;
 
-				RetCode = ListSortOrder*StrCmp(SPtr1->strCustomData,SPtr2->strCustomData);
+				if (ListNumericSort)
+					RetCode=ListSortOrder*(ListCaseSensitive?NumStrCmp(SPtr1->strCustomData, SPtr2->strCustomData):NumStrCmpI(SPtr1->strCustomData, SPtr2->strCustomData));
+				else
+					RetCode=ListSortOrder*(ListCaseSensitive?StrCmp(SPtr1->strCustomData, SPtr2->strCustomData):StrCmpI(SPtr1->strCustomData, SPtr2->strCustomData));
 
 				if (RetCode)
 					return RetCode;
filelist.cpp.diff (1,833 bytes)   

DAtaMan

2010-12-11 18:27

reporter   bugnote:0006009

>Ещё есть предложение добавить пункт регистрозависимой сортировки в меню.

А в "Режимы панели файлов" добавить "[ ] Использовать числовую сортировку"
И чтобы значение числовой сортировки тоже бралось из текущего режима.

DrKnS

2010-12-12 17:49

administrator   bugnote:0006011

>>Ещё есть предложение добавить пункт регистрозависимой сортировки в меню.

>А в "Режимы панели файлов" добавить "[ ] Использовать числовую сортировку"
>И чтобы значение числовой сортировки тоже бралось из текущего режима.

Будет проще: переключатель регистрозависимой сортировки переедет в меню, без привязки к режимам.

1757.


Ты в CONTRIBUTORS уже есть?
Если нет - что писать?

DAtaMan

2010-12-12 18:00

reporter   bugnote:0006012

>>1757
Круто, спасибо.

>>Ты в CONTRIBUTORS уже есть?
>>Если нет - что писать?

Нет, меня там нет.
Dmitry Atamanov

Спасибо. :)

Issue History

Date Modified Username Field Change
2010-12-11 16:55 DAtaMan New Issue
2010-12-11 16:55 DAtaMan File Added: filelist.cpp.diff
2010-12-11 18:27 DAtaMan Note Added: 0006009
2010-12-12 17:49 DrKnS Note Added: 0006011
2010-12-12 17:49 DrKnS Assigned To => DrKnS
2010-12-12 17:49 DrKnS Status new => feedback
2010-12-12 18:00 DAtaMan Note Added: 0006012
2010-12-12 18:00 DAtaMan Status feedback => assigned
2010-12-12 18:05 DrKnS Build => 1757
2010-12-12 18:05 DrKnS Status assigned => closed
2010-12-12 18:05 DrKnS Resolution open => fixed
2010-12-12 18:05 DrKnS Fixed in Version => 2.0
2013-02-03 00:34 alexy Severity minor => feature