Пользовательский режим сортировки для панелей
-
- Posts: 6834
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Пользовательский режим сортировки для панелей
В последние дни экспериментировал с кастомной сортировкой на Lua с участием плагина LuaMacro. Всё можно хорошо и гибко сделать, но быстродействие оставляет желать лучшего. То-есть, если в папке есть 1000 файлов/подпапок, то ещё можно комфортно работать, а на 10000 уже тормозит сильно (время сортировки 2...3 секунды).
Положительный момент состоит в том, что быстродействие остальных (не кастомных) сортировок при этом не затрагивается, т.е. вреда от этого не будет.
Вопрос ко всем: надо это делать?
Примечание модератора:
Обсуждение началось в теме Сортировка каталогов (папок) всегда по алфавиту
Положительный момент состоит в том, что быстродействие остальных (не кастомных) сортировок при этом не затрагивается, т.е. вреда от этого не будет.
Вопрос ко всем: надо это делать?
Примечание модератора:
Обсуждение началось в теме Сортировка каталогов (папок) всегда по алфавиту
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Re: Сортировка каталогов (папок) всегда по алфавиту
Если это будет реализовано в рамках стандартного api, а не каким-нибуть хаком с прямым вызовом LuaMacro, то никто не мешает набросать кастомную сортировку на lua, пользоваться ей до тех пор, пока быстродействие устраивает, и переписать на C++, если сильно припрёт.надо это делать?
-
- Posts: 6834
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Сортировка каталогов (папок) всегда по алфавиту
Учитывая, что пожелание кастомной сортировки в панелях периодически всплывает в форуме уже в течение ряда лет, я ожидал более оживлённой реакции, но в результате - только один отклик (спасибо!). Оказывается, кастомная сортировка мало кого интересует.
Но поскольку известно, что разработчики Фара пишут его для себя любимых (а лично меня кастомная сортировка интересует), есть шанс, что она всё же появится.
Продолжал эксперименты в этой области с использованием специфики LuaJIT 2.0, и удалось поднять производительность как минимум на порядок (по сравнению с данными в моём предыдущем сообщении на эту тему).
Но поскольку известно, что разработчики Фара пишут его для себя любимых (а лично меня кастомная сортировка интересует), есть шанс, что она всё же появится.
Продолжал эксперименты в этой области с использованием специфики LuaJIT 2.0, и удалось поднять производительность как минимум на порядок (по сравнению с данными в моём предыдущем сообщении на эту тему).
- Alexey Samlyukov
- Posts: 1765
- Joined: Tue 15 Mar, 2005 17:28
- Been thanked: 7 times
- Contact:
Re: Сортировка каталогов (папок) всегда по алфавиту
мне вот как бы не нужна кастомная сортировка, мне нужна сортировка как в винде, т.е. с использованием StrCmpLogicalW(), я даже лет нцать назад делал патч для замены кастомной Numeric sort на легальную StrCmpLogicalW. но никто не заинтересовался. вместо этого прикрутили Name/Full name что еще ухудшило ситуацию.
-
- Posts: 6834
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Сортировка каталогов (папок) всегда по алфавиту
Так ведь "кастомная" означает типа "какая захочешь". Если будет кастомная - поставишь себе StrCmpLogicalW(), и всех-то делов.Alexey Samlyukov wrote:мне вот как бы не нужна кастомная сортировка, мне нужна сортировка как в винде, т.е. с использованием StrCmpLogicalW()
-
- Posts: 6834
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Сортировка каталогов (папок) всегда по алфавиту
Ну вот, в первом приближении кастомная сортировка в панелях реализована.
Скорость сортировки, благодаря LuaJIT 2.0, примерно на уровне C++.
В реализации возможны недочёты - как всегда, покуда фичей ещё никто не пользовался.
Скорость сортировки, благодаря LuaJIT 2.0, примерно на уровне C++.
В реализации возможны недочёты - как всегда, покуда фичей ещё никто не пользовался.
- Alexey Samlyukov
- Posts: 1765
- Joined: Tue 15 Mar, 2005 17:28
- Been thanked: 7 times
- Contact:
Re: Сортировка каталогов (папок) всегда по алфавиту
я не постиг дзен луа, поэтому можно готовый пример с реализацией нормальной сортировки, вместо нумериксорт? спасибо.
-
- Posts: 6834
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Сортировка каталогов (папок) всегда по алфавиту
Вот пример с использованием StrCmpLogicalW - нужно сделать макрофайл с таким содержимым:
Для его работы нужна ночная сборка от 14 августа.
Для его работы нужна ночная сборка от 14 августа.
- Alexey Samlyukov
- Posts: 1765
- Joined: Tue 15 Mar, 2005 17:28
- Been thanked: 7 times
- Contact:
-
- Posts: 6834
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Сортировка каталогов (папок) всегда по алфавиту
Если фича приживётся, то можно. А пока что можно сделать макрос с вызовом Panel.CustomSortMenu() - выводится отдельное меню для кастомных сортировок.
- Alexey Samlyukov
- Posts: 1765
- Joined: Tue 15 Mar, 2005 17:28
- Been thanked: 7 times
- Contact:
Re: Сортировка каталогов (папок) всегда по алфавиту
чтоб выставлялась при старте надо макрос автостартующим делать? что там дописать надо?
-
- Posts: 6834
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Сортировка каталогов (папок) всегда по алфавиту
Нет, там вызов Panel.LoadCustomSortMode расположен вне макросов, поэтому сортировка загружается ещё раньше, чем начинают выполняться автостартующие макросы.
- Alexey Samlyukov
- Posts: 1765
- Joined: Tue 15 Mar, 2005 17:28
- Been thanked: 7 times
- Contact:
-
- Posts: 6834
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: Сортировка каталогов (папок) всегда по алфавиту
У меня - нормально. Кстати, если в индикаторе используются русские буквы, макрофайл должен быть в UTF-8.Alexey Samlyukov wrote:индикатор горит n, а не b
- Alexey Samlyukov
- Posts: 1765
- Joined: Tue 15 Mar, 2005 17:28
- Been thanked: 7 times
- Contact:
Re: Сортировка каталогов (папок) всегда по алфавиту
лежит в скриптах, автосэйв вкл, галка только на директории первые, после перезагрузки скидывается в по имени.