NoSelEOL plugin
- Author
- Message
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Для altSmartEnd должно прыгать в конец строки, без него - на последний непробельный символ.
Пробуем:
http://www.megaupload.com/?d=B8EO45J0
Пробуем:
http://www.megaupload.com/?d=B8EO45J0
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
DV
Заметил небольшую багофичу: некорректно работает удаление текущей строки по горячим клавишам Ctrl+Y или F8 - удаляется содержимое строки, а не сама строка целиком.
Можно ли это как-то поправить?
Причём желательно было бы ставить обработчик не на указанные комбинации клавиш (они могут измениться), а на вызов команды удаления строки, т.е. чтобы в этом случае NoSelEOL::Main не отрабатывал.
Заметил небольшую багофичу: некорректно работает удаление текущей строки по горячим клавишам Ctrl+Y или F8 - удаляется содержимое строки, а не сама строка целиком.
Можно ли это как-то поправить?
Причём желательно было бы ставить обработчик не на указанные комбинации клавиш (они могут измениться), а на вызов команды удаления строки, т.е. чтобы в этом случае NoSelEOL::Main не отрабатывал.
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Внутренняя реализация Ctrl+Y (в самом AkelPad) работает в два этапа:VladSh wrote:Ctrl+Y или F8 - удаляется содержимое строки, а не сама строка целиком.
1. Выделяет строку, включая последний символ переноса строки
2. Удаляет выделение.
NoSelEOL работает так: при изменении выделения исключает последний символ переноса строки из выделенного текста. Это конфликтует с внутренней реализацией Ctrl+Y (с первым этапом).
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Проблемка обнаружилась...
Позже из почты:
Позже из почты:
Shengalts Aleksander wrote:Проблема в NoSelEOL::Main.Vlad Sh wrote:Поочерёдно отключал, но ничего не изменилось - закладки всё равно сносит..Shengalts Aleksander wrote:Нормально заменяется, закладки не смещаются. Попробуйте поотключать остальные плагины.
Настройки у меня хранятся в ini.
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Формально это не вина NoSelEOL.VladSh wrote:Проблемка обнаружилась...
При нажатии на кнопку "Заменить все" AkelPad зачем-то устанавливает диапазон выделения текста от 0 до позиции за последним символом. NoSelEOL это честно перехватывает и смещает правую границу выделения на последний символ.
Почему при этом закладка LineBoard съезжает вниз, мне непонятно.
Как непонятно и то, что и как фильтровать, чтобы этого не происходило.
Наверное, нужно игнорировать какие-то сообщения в определенный момент примерно так же, как это было сделано с IDM_NONMENU_DELLINE, но непонятно, какие и когда.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
DV
Можно и так:
И возможно даже не только, когда весь текст, но тогда, когда конец выделения находится в конце файла.
Code: Select all
int nTextLen=SendMessage(pd->hMainWnd, AKD_GETTEXTLENGTH, (WPARAM)pd->hWndEdit, 0);
Code: Select all
GETTEXTLENGTHEX gtl;
int nTextLen;
gtl.flags=GTL_DEFAULT|GTL_PRECISE;
gtl.codepage=0;
nTextLen=SendMessage(pd->hWndEdit, EM_GETTEXTLENGTHEX, (WPARAM)>l, 0);