View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001618 | Wishes | Panel | public | 2010-12-11 16:55 | 2013-02-03 00:34 |
Reporter | DAtaMan | Assigned To | DrKnS | ||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Fixed in Version | 2.0 | ||||
Summary | 0001618: Числовая сортировка и по остальным колонкам | ||||
Description | IMHO, очень не хватает такой возможности. Особенно при сортировке по описанию и по Custom-колонке (в частности, svn) Патч прилагается. Также добавил учитывание регистра. | ||||
Additional Information | Ещё есть предложение добавить пункт регистрозависимой сортировки в меню. Чтобы его значение бралось из текущего режима показа панелей. | ||||
Tags | No tags attached. | ||||
Build | 1757 | ||||
|
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; |
|
>Ещё есть предложение добавить пункт регистрозависимой сортировки в меню. А в "Режимы панели файлов" добавить "[ ] Использовать числовую сортировку" И чтобы значение числовой сортировки тоже бралось из текущего режима. |
|
>>Ещё есть предложение добавить пункт регистрозависимой сортировки в меню. >А в "Режимы панели файлов" добавить "[ ] Использовать числовую сортировку" >И чтобы значение числовой сортировки тоже бралось из текущего режима. Будет проще: переключатель регистрозависимой сортировки переедет в меню, без привязки к режимам. 1757. Ты в CONTRIBUTORS уже есть? Если нет - что писать? |
|
>>1757 Круто, спасибо. >>Ты в CONTRIBUTORS уже есть? >>Если нет - что писать? Нет, меня там нет. Dmitry Atamanov Спасибо. :) |
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 |