nlve/.gitignore
4aiman 71e9292885 Полоса меню снова настоящая, цвет задаётся по-своему на каждой системе
Самодельная полоса из кнопок стоила поведения: наведение на соседнее
название не перекидывало туда раскрытый список, не работал переход по
меню с Alt и стрелками. Подражать настоящему меню своими руками пришлось
бы до бесконечности, а причина отказа была одна — цвет.

Цвет решается иначе. Под gtk2 своими руками меню не рисуется, и это
записано в самом LCL: OwnerDraw, OnDrawItem и OnMeasureItem там помечены
как неподдерживаемые (interfaces/gtk2/issues.xml), вызывает DoDrawItem
только win32. Зато gtk принимает описание стиля текстом —
gtk_rc_parse_string, разбирается один раз до создания окон. Под win32
наоборот: строк стиля нет, зато отрисовка пунктов работает, в том числе
для названий в самой полосе.

Проверено отдельным пробником (probe/menu): настоящее TMainMenu под gtk2
берёт наши цвета и в полосе, и в раскрытом списке, включая цвет
выделенного пункта.

Отрисовка пунктов теперь отличает полосу от раскрытого списка: в полосе
не нужно место под галочку и сочетание клавиш, иначе название разошлось
бы с шириной, которую мы же и посчитали.

Остаток полосы правее последнего названия под Windows по-прежнему рисует
система — это уступка, а не решение.
2026-08-21 10:44:31 +03:00

49 lines
1.2 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Результаты сборки
/lib/
/nlve
/nlve.exe
/nlve.dbg
/nlve.res
/tests/lib/
/tests/nlvetool
/tests/nlvetool.exe
*.o
*.ppu
*.compiled
*.or
# Готовые ролики и материал проверок
/out/
# Сессии Lazarus (у каждого разработчика свои)
*.lps
# Кэш проектов nlve: нарезанные куски и сгенерированные клипы.
# Восстанавливается из файла проекта, в репозиторий не нужен.
*.nlve-cache/
# Временные файлы отладки
run*.log
shot*.png
# Скачанные зависимости. Кладутся рядом с программой окном «Зависимости»,
# весят сотни мегабайт и у каждого свои — в репозиторий не нужны.
/ffmpeg.exe
/ffprobe.exe
/ffmpeg
/ffprobe
/libmpv-2.dll
/mpv-2.dll
/libmpv.so.2
/7zr.exe
/deps-windows.json
/deps-linux.json
/deps-tmp/
# Журнал последнего запуска
/nlve.log
# Сборка пробников. Сами исходники нужны: они и есть запись замера.
/probe/*/units/
/probe/menu/menuprobe
/probe/menu/menuprobe.exe