Самодельная полоса из кнопок стоила поведения: наведение на соседнее название не перекидывало туда раскрытый список, не работал переход по меню с Alt и стрелками. Подражать настоящему меню своими руками пришлось бы до бесконечности, а причина отказа была одна — цвет. Цвет решается иначе. Под gtk2 своими руками меню не рисуется, и это записано в самом LCL: OwnerDraw, OnDrawItem и OnMeasureItem там помечены как неподдерживаемые (interfaces/gtk2/issues.xml), вызывает DoDrawItem только win32. Зато gtk принимает описание стиля текстом — gtk_rc_parse_string, разбирается один раз до создания окон. Под win32 наоборот: строк стиля нет, зато отрисовка пунктов работает, в том числе для названий в самой полосе. Проверено отдельным пробником (probe/menu): настоящее TMainMenu под gtk2 берёт наши цвета и в полосе, и в раскрытом списке, включая цвет выделенного пункта. Отрисовка пунктов теперь отличает полосу от раскрытого списка: в полосе не нужно место под галочку и сочетание клавиш, иначе название разошлось бы с шириной, которую мы же и посчитали. Остаток полосы правее последнего названия под Windows по-прежнему рисует система — это уступка, а не решение.
49 lines
1.2 KiB
Text
49 lines
1.2 KiB
Text
# Результаты сборки
|
||
/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
|