QSearch plugin

Discuss and announce AkelPad plugins
Post Reply
  • Author
  • Message
Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

FeyFre
дык консоли не участвуют в message loop, у них своя песочница

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

Post by DV »

QSearch v.2.7
* теперь SetWindowsHookEx() в DialogSwitcher использует GetCurrentThreadId()

QSearch v.2.6
+ новые параметры настройки для дополнительных сочетаний клавиш панели QSearch
- исправлено: теперь 'alt_whole_word' не работает при скрытом "Слово целиком"

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

Post by VladSh »

То ли баг, то ли фича: ввожу начало слова (текст нормально находится и подсвечивается), потом стираю набранное слово бэкспейсом, при стирании последнего символа, т.е. первого :) (при полной очистке поля) в окне редактирования остаётся выделенным этот последний стираемый символ, а по идее выделение должно сбрасываться и на том месте просто должен стоять курсор.
Включены:
галки:
- Подсветить всё.
опции:
- Поиск: Искать "на лету";
- Поиск: Подхватывать выделенный текст;
- Поиск: Останавливаться в конце файла;
- Окно: Фокус ввода выделяет всё;
- Окно: обрабатывать F3 (и Esc) от главного окна.

Ещё по ходу предложение образовалось. Пришлось сейчас искать очень много вхождений... короче очень не удобно (долго) очищать поле по одному символу (с помощью Backspace). Предлагаю для мгновенной очистки поля использовать клавишу Del, она всё равно не задействована. Если в поле выделена часть текста, то удалять эту часть, если не выделена, то очищать поле целиком.
Также указать Del во всплывающем описании, когда подводишь курсор к полю.

Offline
Posts: 2248
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

VladSh, DEL задействован, как и в любом другом Edit-контроле. Стирает символ у каретки.

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

Post by VladSh »

FeyFre wrote:VladSh, DEL задействован, как и в любом другом Edit-контроле. Стирает символ у каретки.
Понятно)) Я говорю о том, чтобы сделать удобнее, и только для данного случая, учитывая специфику работу с плагином, а не для всех мест, где встречается такой контрол.

В таком случае да:

Code: Select all

тек|ст
но так бывает не часто, а только тогда, когда ошибся - возвращаешься и нажмаешь Del. Да даже так бывает редко - возвращаешься и стираешь бэкспейсом!

Чаще бывает так:

Code: Select all

текст|
потом ты вынужден стирать всё бэкспейсом...( Вот тут, когда курсор стоит справа от текста, и удобно было бы нажать Del и очистить поле.

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

Post by Infocatcher »

Тогда логичнее сделать поддержку Ctrl+Backspace для стирания слова слева от курсора.

Offline
Posts: 31
Joined: Fri Apr 17, 2009 5:47 pm
Location: Гдето под Питером

Post by Evgenyatam »

А нельзя ли добавить в плагин историю поиска?

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

Post by VladSh »

Infocatcher, такой вариант тоже подходит! 8)

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

Post by DV »

Infocatcher wrote:Тогда логичнее сделать поддержку Ctrl+Backspace для стирания слова слева от курсора.
Интересно, что Ctrl+Del стирает весь текст правее каретки, и это, похоже, стандартное поведение, потому что в коде никакой обработки Ctrl+Del нет.
Так какие варианты?
1) Ctrl+Del стирает текст правее, Ctrl+Backspace стирает текст левее?
2) Ctrl+Del стирает весь текст, Ctrl+Backspace тоже стирает весь текст?

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

Post by VladSh »

Я за 1-й вариант, т.к. он, с одной стороны, ближе к стандартному, а с другой - более гибок.
А если курсор находится посередине текста и текст надо удалить весь, то для "клавиатурщиков" добавить поддержку Ctrl+A, выделяющую весь текст в поле (точно также если по нему даблклик'нуть мышкой), а дальше обычный Del и до свидания..

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

Post by DV »

VladSh wrote:при стирании последнего символа, т.е. первого :) (при полной очистке поля) в окне редактирования остаётся выделенным этот последний стираемый символ
В режиме "Поиск на лету" любое изменение текста в строке поиска инициирует новый поиск. А при очистке поля поиска в окне редактирования остается выделенным результат последнего поиска. Соответственно, последняя буква перед её стиранием как раз отвечает за последний результат поиска.
Но это лирика.
А вообще, меня так задрали тупые приколы в WinAPI... Вот, например, нажатие клавиши Delete отрабатывает по WM_KEYDOWN, а Backspace - какого-то хрена по WM_CHAR. Причем если по нажатию просто Backspace приходит код 0x08, то по нажатию Ctrl+Backspace приходит 0x0A. Ну не идиотизм ли это?
И вот в таких условиях приходится работать...

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

Post by DV »

QSearch v.2.8
* для AkelPad 3.7.4+/4.4.0+
+ QSearchDlg: собственная обработка Ctrl+Del, Ctrl+BS, Ctrl+A
DV wrote:по нажатию Ctrl+Backspace приходит 0x0A
На самом деле по Ctrl+Backspace приходит 0x7F, а 0x0A - это Ctrl+Enter.

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

Post by VladSh »

Спасибо, DV, - просто супер :!: 8) :D

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

Post by Infocatcher »

Ctrl+Backspace и Ctrl+Del затирают буфер отмен. Т.е. нельзя отменить действие по Ctrl+Z.

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Infocatcher wrote:Ctrl+Backspace и Ctrl+Del затирают буфер отмен. Т.е. нельзя отменить действие по Ctrl+Z.
лично у меня все в порядке, эти комбинации не влияют на "Отмену"
Post Reply