QSearch plugin

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

Post by DV »

VladSh wrote:Т.е. после нахождения и выделения текста нужно вызвать одну единственную команду - всё подсветится само!
Хм, не знаю, я пока еще не ознакамливался с новой версией плагина Highlight :oops: У меня почти все файлы подсветки со своими цветами, т.е. теперь их все надо перевести в новый формат, а руки не доходят с этим разобраться. И (но это страшная тайна, никому не говорите!) я всё ещё использую AkelPad 4.1.5 в качестве "стабильной" сборки.

Offline
Posts: 3243
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

DV
Не, никому не скажу!)))
У меня та же проблема была, только 2 раза пришлось все файлы подсветок переделывать - жуть как неудобно((( Но с другой стороны хочется всегда быть на пике новшеств :D
Infocatcher дал настройки для конвертирования старых файлов подсветки в новые с помощью SearchReplace.js - немного облегчает работу. Я так и начал переводить, но потом задолбался, взял подсветки Infocatcher'а (у него они очень хорошо проработаны), немного изменил некоторые цвета под себя - конфетка! 8)

Offline
Posts: 58
Joined: Sat Apr 12, 2008 11:43 am

Post by koros »

Небольшая хотелка. Нельзя ли сделать выпадающий список последних слов, по которым вёлся поиск (например, как у Total Commandera).

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

Post by DV »

Enlcidu wrote:А планируется добавить функцию "подсветить всё"?
Добавить можно, но я пока что не представляю себе интерфейс для такой команды. Новый check-box "Подсветить всё"? Новый пункт всплывающего меню? А как делать убирание подсветки?
koros wrote:Нельзя ли сделать выпадающий список последних слов, по которым вёлся поиск
Сделать-то можно, но мне слишком лень... Имеющийся функционал "заточен" под компонент Edit в качестве поля набора текста, и его нельзя будет просто так, без изменений в коде, заменить на combo-box.

Offline
Posts: 3243
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

DV wrote:Добавить можно, но я пока что не представляю себе интерфейс для такой команды. Новый check-box "Подсветить всё"? Новый пункт всплывающего меню?
Можно чекбокс, но, подозреваю, что это будет настолько удобной штукой, что этот чекбокс будет у всех всегда включен! Т.е. никакого дополнительного интерфейса ненужно.
DV wrote:А как делать убирание подсветки?
Напрямую работать с HighLight-плагином.
Для того, чтобы подсветить весь текст достаточно программно выделить первое вхождение (это и так происходит), потом вызвать:

Code: Select all

Call("HighLight::Main", 2, "#000000", "#9BFF9B")
Для того, чтобы убрать выделение, достаточно вызвать:

Code: Select all

Call("HighLight::Main", 3)
Где в проге поставить код по убиранию подсветки - это можно "посмотреть" (методом тыка) в Опере. А ещё проще убирать при закрытии диалога поиска или при запуске следующего, ну или вообще снимать вручную - повесить на какую-нить комбинацию клавиш...

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Убирать можно при любом клике внутри тесктового поля, передвигающего курсор

Offline
Posts: 3243
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Тоже хороший вариант.
Предлагаю убирать после любого редактирования файла: клавиши Del, Backspace, любого символа или реальной вставки из буфера. Можно после подсветки сохранять в памяти текущее состояние, а потом анализировать на изменение (м.б. с помощью AEM_GETMODIFY?).
Ну и при вызове следующего поиска, естессно.

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

после любого редактирования файла: клавиши Del, Backspace, любого символа или реальной вставки из буфера
Все эти операции можно завязать на сдвиг курсора ))

Offline
Posts: 3243
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Fr0sT, точно! :D
Но если было реальное изменение файла, т.к. если файл не изменялся, а мы просто листаем текст вниз курсором, то зачем сбрасывать подсветку с найденного текста?

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Можно и так, в самом деле. Тогда привязать сброс подсветки чисто к событию редактирования.

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

Post by DV »

Теоретически мы можем захотеть подсветить все вхождения некоторого слова (части слова) специально для того, чтобы изменить текст (буквы) рядом с этим словом. Поэтому наиболее удачным вариантом представляется убирать подсветку в двух случаях:
- при изменении слова в строке поиска (или по нажатию Enter/F3 в случае поиска не на лету);
- при убирании галочки "Подсвечивать все".

...а пока что мне интересно, каким образом плагины ContextMenu и Toolbar достигают универсальности в передаче параметров при вызове функции Call для разных плагинов. Ведь один плагин может ожидать два параметра - например, int и char*, а другой может ожидать только один, например, wchar_t*, - и т.д.

Offline
Posts: 37
Joined: Sat Sep 05, 2009 9:30 am
Location: Украина

Пожелания насчет плагина QSearch

Post by Silent Rain »

В этом плагине есть такая удобная опция, как "Подсветить все". Вот только начиная поиск в очередной раз ее постоянно приходится активировать снова и снова. Нельзя сделать так, чтобы она была активирована изначально при любом поиске?

Для примера в той же Опере, когда происходит поиск, все запросы, которые вы ищете, автоматом выделяются желтым цветом.

Offline
Posts: 37
Joined: Sat Sep 05, 2009 9:30 am
Location: Украина

Post by Silent Rain »

И еще одно.

Ставим в реестре значение "1" для ключа hotkey_closes_wnd. Затем открываем AkelPad и активируем QSearch по нажатию "гор." кл., которая у меня Ctrl+F. Находим определенное слово и нажимаем несколько раз F3, чтобы выбрать его чуть ниже в документе. То есть, у нас много таких слов нашлось, но мы выбираем не первое, а какое-то 5, допустим. Затем, когда слово выделено, нажимаем еще раз Ctrl+F (для этого мы поменяли ключ реестра hotkey_closes_wnd на значение "1"), чтобы скрыть панель QSearch и перейти непосредственно к найденному слову и видим, что выделение перескочило с текущего слова на самое первое в поиске. Явный баг! А вот если нажать Esc вместо повторного нажатия Ctrl+F, тогда выделение останется на том слове, на котором мы остановили свой поиск, а не перескочит на самое первое.

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

Post by DV »

v.2.3 (Сентябрь 2009)
* вторая годовщина QSearch :)
+ добавлено: состояние галочки "Подсветить все" сохраняется
- исправлено: неверное поведение при нажатии Shift во время поиска "на лету"
- исправлено: иногда QSearch продолжал поиск по нажатию hot-key

Offline
Posts: 3243
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Ийесс :!: :D
Единственное - цвет подсветки слишком блёклый - плохо видно. Хотел настроить, но #9BFF9B в параметре color_highlight почему-то не сохраняется... Если не тот формат задания цвета, то как определить код для данного цвета?
Post Reply