QSearch plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Обновленный вариант на пробу:
https://github.com/d0vgan/AkelPad-Plugs ... 50c-190414
Вывод в файл разделился на два пункта. Вначале было с добавлением "(Разные вкладки)" и "(Одна вкладка)", но так получалось слишком длинно, сократил.

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Релиз-кандидат:
https://github.com/d0vgan/AkelPad-Plugs ... eec-190415
Подправил переводы некоторых элементов.

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

А знаете ли вы, что в диалоге поиска QSearch работают комбинации Alt+C (Match Case), Alt+W (Word Wrap) и Alt+H (Hightlight All)?
Причём я сам не могу найти, благодаря чему это работает :)

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

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Проанализировав 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'.
Короче, это прорыв!
На днях сделаю следующий релиз-кандидат.

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

DV wrote:На днях сделаю следующий релиз-кандидат.
https://github.com/d0vgan/AkelPad-Plugs ... d39-190417

Offline
Posts: 276
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

Репортую. У меня по Alt+H (помимо Highlight all) срабатывает вызов меню Help в главном окне, а по Alt-W – вызов меню Window. Т.е. вызов меню по alt-клавише не блокируется. Вот, Alt+R отрабатывает без запинки, хотя в главном окне на этот хоткей у меня повешен вызов диалога Recode.

Сам AkelPad в подобном случае работает исправно: в главном окне на Alt+H у меня повешен вызов диалога Hotkeys, но вызова меню Help при этом не происходит. Пробую на Win 8.1 x64. Надо ли попробовать на других системах? Если что, могу на виртуальных Win 7 и XP.

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

yozhic wrote:У меня по Alt+H (помимо Highlight all) срабатывает вызов меню Help в главном окне.
Пробую на Win 8.1 x64.
Да, под Windows 10 64-bit то же самое, хотя вроде как вчера работало, как надо.
Добавил обработку обеих 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:

Post by Infocatcher »

Разные кавычки странно смотрятся:
Ищем "abc" в файле 'test.txt' ...

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Infocatcher wrote:
Ищем "abc" в файле 'test.txt' ...
В случае регулярок тоже отличается, однако:
Ищем /abc/ в файле 'test.txt' ...
Первое - искомая строка, второе - имя файла.

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

DV wrote:В случае регулярок тоже отличается, однако:
Ищем /abc/ в файле 'test.txt' ...
Первое - искомая строка, второе - имя файла.
С регулярками нормально смотрится, а вот имя файла, как по мне, лучше закавычить "двойными".
О, а заодно идея: можно в случае регистронезависимой регулярки обрамлять в /…/i

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Infocatcher wrote:имя файла, как по мне, лучше закавычить "двойными"
Хочу для большей наглядности использовать разные кавычки для искомого текста и имени файла.

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

Исправление для Alt+key в панели QSearch:
https://github.com/d0vgan/AkelPad-Plugs ... 06f-190419

Offline
Posts: 276
Joined: Mon Jun 20, 2011 8:33 am
Location: Электросталь

Post by yozhic »

DV wrote:Исправление
У меня всё отлично работает Image
Одна незначительная косметическая мелочь. В главном контекстном меню панельки кажется было бы хорошо добавить разделительную линию (separator) между группами Search и Window. Там и сейчас полный порядок за счёт приставок Search: и Window:, но поскольку список настроек большой, глазу «хочется» какой-нибудь визуальной зацепки.

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

yozhic wrote:(separator) между группами Search и Window.
OK.
Думаю, на этом будем релизиться.

Остальные идеи воплотятся в следующих версиях.
В частности, в исходниках есть интригующая структура tGetFindResultPolicy, которая интересным образом обрабатывается в функции qsFindResultCallback. И если бы параметры этой структуры были вынесены в диалог настроек, результаты поиска могли бы видоизменяться ещё более значительным образом.
А говоря о функционале "Найти все", его можно расширить на все открытые файлы.
Но это уже другая история.

DV
Offline
Posts: 1291
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

Post by DV »

QSearch v.7.2
+ функциональность "Найти все" (установите new_ui=2)
+ функциональность "Авто-подсчёт всех вхождений" (установите new_ui=2)
+ теперь 'use_alt_hotkeys' включены (активны) по умолчанию
* пользовательский интерфейс слегка обновлён
Post Reply