Кнопки внизу: подсказка не перехватывает щелчок, щелчки не теряются
Две беды у всех кнопок нижней полосы. Всплывающая подсказка появлялась прямо поверх кнопки, о которой рассказывает, и перехватывала щелчок: нажать кнопку было нельзя. Подсказка переехала в строку состояния — она в той же полосе, ничего не закрывает и меняется сразу после щелчка, не дожидаясь нового наведения. Строка состояния теперь занимает всё свободное место справа, пока рядом не показан ход работы, а самые длинные подсказки укорочены: раньше их обрезало на полуслове. Второй щелчок подряд виджетсет отдавал как двойной, и кнопка его не видела: быстрая очередь щелчков срабатывала через раз. У кнопки убран csDoubleClicks, а на случай, если двойной всё же дойдёт, он считается за обычный. Проверено: tests/lfmcheck, раздел «Кнопки нижней панели», и tests/buttonclicks.sh мышью на невидимом экране — по всем шести переключателям очереди из 1-5 щелчков отрабатываются полностью.
This commit is contained in:
parent
569d0382f7
commit
aba9bd57e4
5 changed files with 296 additions and 15 deletions
35
README.md
35
README.md
|
|
@ -273,6 +273,29 @@ Ctrl+Shift+R, который схлопывает дыру под курсоро
|
|||
удаляет: она лежит, пока проект не сохранят заново. После сохранения
|
||||
копия не нужна и убирается.
|
||||
|
||||
## Кнопки внизу
|
||||
|
||||
Переключатели в нижней полосе — прилипание, прилипание курсора, курсор
|
||||
посередине, автосхлопывание с выбором режима, режим выделения, журнал.
|
||||
|
||||
**Подсказка идёт в строку состояния, а не во всплывающее окно.**
|
||||
Всплывающее окно появлялось прямо поверх кнопки, о которой
|
||||
рассказывало, и перехватывало щелчок: нажать кнопку было нельзя, пока
|
||||
подсказка не уйдёт. Теперь наведение мыши пишет ту же фразу в строку
|
||||
состояния справа от кнопок — она ничего не закрывает. Щелчок по кнопке
|
||||
подсказку тут же переписывает: «Журнал виден» становится «Журнал
|
||||
спрятан».
|
||||
|
||||
Строка состояния занимает всё свободное место справа и ужимается только
|
||||
на время, пока рядом показан ход работы.
|
||||
|
||||
**Каждый щелчок считается.** Раньше второй щелчок подряд оконная
|
||||
библиотека отдавала как двойной, и до кнопки он не доходил: нажимаешь
|
||||
журнал три раза быстро — срабатывает один. Теперь двойных щелчков
|
||||
кнопкам не приходит вовсе, и любая очередь щелчков отрабатывается вся
|
||||
(`tests/lfmcheck`, раздел «Кнопки нижней панели»; `tests/buttonclicks.sh`
|
||||
проверяет то же самое мышью на невидимом экране).
|
||||
|
||||
## Два режима выделения
|
||||
|
||||
Кнопка внизу (справа от схлопывания) и клавиша `D`. Режим показан
|
||||
|
|
@ -778,6 +801,18 @@ Wine с новой библиотекой не грузилось ничего.
|
|||
`TThread`, `Name` и `Caption` — у формы. Компилятор ловит это как
|
||||
«Duplicate identifier», но причину не объясняет.
|
||||
|
||||
**Двойной щелчок съедает второй щелчок.** Пока у элемента есть
|
||||
`csDoubleClicks`, второй щелчок подряд приходит не как `Click`, а как
|
||||
`DblClick`, и обработчик кнопки его не видит: человек щёлкает три раза,
|
||||
срабатывает один. Лечится двумя строками в конструкторе:
|
||||
`ControlStyle := ControlStyle - [csDoubleClicks]` и `DblClick`,
|
||||
переопределённый в `Click`, — на случай, если двойной всё же дойдёт.
|
||||
|
||||
**Всплывающая подсказка перехватывает щелчок.** Окно подсказки в gtk2
|
||||
встаёт поверх кнопки, о которой рассказывает, и щелчок попадает в него,
|
||||
а не в кнопку. У кнопок в тесной полосе `ShowHint` выключен, а текст
|
||||
подсказки идёт в строку состояния (`UseStatusHints` в `uMainForm`).
|
||||
|
||||
## Консольный инструмент проверок
|
||||
|
||||
Часть вещей проверяется числами, а не глазами. Сборка: `./build.sh tool`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue