QSearch plugin
- Author
- Message
-
Offline
- Posts: 1291
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
-
Offline
- Posts: 1291
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Релиз-кандидат:
https://github.com/d0vgan/AkelPad-Plugs ... eec-190415
Подправил переводы некоторых элементов.
https://github.com/d0vgan/AkelPad-Plugs ... eec-190415
Подправил переводы некоторых элементов.
-
Offline
- Posts: 1291
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
А знаете ли вы, что в диалоге поиска QSearch работают комбинации Alt+C (Match Case), Alt+W (Word Wrap) и Alt+H (Hightlight All)?
Причём я сам не могу найти, благодаря чему это работает
Добавлено:
Нашёл, это ручная настройка 'use_alt_hotkeys'.
И сразу выяснил, почему по умолчанию она отключена. Дело в том, что комбинации Alt+клавиша конфликтуют с главным меню AkelPad, и я пока не нашёл возможность запретить обработку такой комбинации в AkelPad, когда она уже была обработана панелью QSearch.
В любом случае, прикрутил ещё Alt+R для переключения режимов поиска, в надежде на светлое будущее, в котором обработка собственных комбинаций Alt+клавиша будут останавливаться в QSearch
Причём я сам не могу найти, благодаря чему это работает

Добавлено:
Нашёл, это ручная настройка 'use_alt_hotkeys'.
И сразу выяснил, почему по умолчанию она отключена. Дело в том, что комбинации Alt+клавиша конфликтуют с главным меню AkelPad, и я пока не нашёл возможность запретить обработку такой комбинации в AkelPad, когда она уже была обработана панелью QSearch.
В любом случае, прикрутил ещё Alt+R для переключения режимов поиска, в надежде на светлое будущее, в котором обработка собственных комбинаций Alt+клавиша будут останавливаться в QSearch

-
Offline
- Posts: 1291
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Проанализировав AkelDLL.h и исходники других плагинов, обнаружил AKDN_HOTKEY и AKDN_HOTKEYGLOBAL. Правильное их использование позволяет обработать нажатие горячей клавиши только там, где нужно.
Дополнительно сделал динамический показ горячих клавиш для Match Case, Word Wrap, Highlight All - зависит как от параметра 'use_alt_hotkeys', так и от значений 'alt_match_case', 'alt_whole_word', 'alt_search_mode' и 'alt_highlight_all'.
Короче, это прорыв!
На днях сделаю следующий релиз-кандидат.
Дополнительно сделал динамический показ горячих клавиш для Match Case, Word Wrap, Highlight All - зависит как от параметра 'use_alt_hotkeys', так и от значений 'alt_match_case', 'alt_whole_word', 'alt_search_mode' и 'alt_highlight_all'.
Короче, это прорыв!
На днях сделаю следующий релиз-кандидат.
-
Offline
- Posts: 1291
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
https://github.com/d0vgan/AkelPad-Plugs ... d39-190417DV wrote:На днях сделаю следующий релиз-кандидат.
-
Offline
- Posts: 276
- Joined: Mon Jun 20, 2011 8:33 am
- Location: Электросталь
Репортую. У меня по Alt+H (помимо Highlight all) срабатывает вызов меню Help в главном окне, а по Alt-W – вызов меню Window. Т.е. вызов меню по alt-клавише не блокируется. Вот, Alt+R отрабатывает без запинки, хотя в главном окне на этот хоткей у меня повешен вызов диалога Recode.
Сам AkelPad в подобном случае работает исправно: в главном окне на Alt+H у меня повешен вызов диалога Hotkeys, но вызова меню Help при этом не происходит. Пробую на Win 8.1 x64. Надо ли попробовать на других системах? Если что, могу на виртуальных Win 7 и XP.
Сам AkelPad в подобном случае работает исправно: в главном окне на Alt+H у меня повешен вызов диалога Hotkeys, но вызова меню Help при этом не происходит. Пробую на Win 8.1 x64. Надо ли попробовать на других системах? Если что, могу на виртуальных Win 7 и XP.
-
Offline
- Posts: 1291
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Да, под Windows 10 64-bit то же самое, хотя вроде как вчера работало, как надо.yozhic wrote:У меня по Alt+H (помимо Highlight all) срабатывает вызов меню Help в главном окне.
Пробую на Win 8.1 x64.
Добавил обработку обеих AKDN_HOTKEYGLOBAL и AKDN_HOTKEY, да еще и возврат значения 0 в случае клавиш QSearch вместо вызова NextProc(hWnd, uMsg, wParam, lParam). Вроде как так работает под Windows 10. Проверю под другими системами.
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
С регулярками нормально смотрится, а вот имя файла, как по мне, лучше закавычить "двойными".DV wrote:В случае регулярок тоже отличается, однако:Первое - искомая строка, второе - имя файла.Ищем /abc/ в файле 'test.txt' ...
О, а заодно идея: можно в случае регистронезависимой регулярки обрамлять в /…/i
-
Offline
- Posts: 1291
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Исправление для Alt+key в панели QSearch:
https://github.com/d0vgan/AkelPad-Plugs ... 06f-190419
https://github.com/d0vgan/AkelPad-Plugs ... 06f-190419
-
Offline
- Posts: 276
- Joined: Mon Jun 20, 2011 8:33 am
- Location: Электросталь
У меня всё отлично работаетDV wrote:Исправление

Одна незначительная косметическая мелочь. В главном контекстном меню панельки кажется было бы хорошо добавить разделительную линию (separator) между группами Search и Window. Там и сейчас полный порядок за счёт приставок Search: и Window:, но поскольку список настроек большой, глазу «хочется» какой-нибудь визуальной зацепки.
-
Offline
- Posts: 1291
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
OK.yozhic wrote:(separator) между группами Search и Window.
Думаю, на этом будем релизиться.
Остальные идеи воплотятся в следующих версиях.
В частности, в исходниках есть интригующая структура tGetFindResultPolicy, которая интересным образом обрабатывается в функции qsFindResultCallback. И если бы параметры этой структуры были вынесены в диалог настроек, результаты поиска могли бы видоизменяться ещё более значительным образом.
А говоря о функционале "Найти все", его можно расширить на все открытые файлы.
Но это уже другая история.
-
Offline
- Posts: 1291
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine