minoshi |
|
Темы:
39
Сообщения:
379
Участник с: 09 ноября 2009
|
и еще пара мелких замечаний: -в HelpString не указан емайл, куда слать баг-репорты -нигде не нашел лицензию :) А так код хорошо читаемый, "закладок" не нашел. |
minoshi |
|
Темы:
39
Сообщения:
379
Участник с: 09 ноября 2009
|
minoshi Ну в общем появилось время, сам разобрался в событии TForm1.FormCreate(Sender: TObject); вызов TreeView1.Selected := TreeView1.Items[1]; происходит без предварительной проверки переменной "i". Должно быть так: if i > 1 then TreeView1.Selected := TreeView1.Items[1]; И еще в качестве маленькой придирки: нигде не сохраняется значение "encoding" из строки <?xml version="1.0" encoding="utf-8"?> __encoding := bmenu.Encoding; |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
minoshiСпасибо. Завтра поправлю и это, и по другим замечаниям. А можно мне выслать menu.xml, на котором оно падает на akorop@ukr.net? Что-то я не въезжаю, как может быть i < 1.minoshi |
minoshi |
|
Темы:
39
Сообщения:
379
Участник с: 09 ноября 2009
|
например битый файл :) а вообще у меня i = 1 а menu.xml у меня такой: <?xml version="1.0" encoding="utf-8"?> <openbox_menu> <menu id="root-menu" label="OpenBox 3" execute="/usr/bin/obmenu-generator -i"> </menu> </openbox_menu> |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
minoshiХм... К такому меню редактор как-то и приложить некуда. Впрочем, это не повод, чтобы программа падала. Спасибо. |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
malyaКриво реализовал. Ищется png-файл последовательно в трёх каталогах: /usr/share/pixmaps/ /usr/share/icons/hicolor/16x16/apps/ /usr/share/icons/gnome/16x16/apps/ По-хорошему, вместо всей этой самодеятельности следовало бы воспользоваться встроенными средствами gtk. Скажем, в Питоне это можно сделать так: import gtk ... icon_theme = gtk.icon_theme_get_default() icon = icon_theme.lookup_icon(icon_name, 16, 0) if icon: print (icon.get_filename()) else: print ("not found") |
minoshi |
|
Темы:
39
Сообщения:
379
Участник с: 09 ноября 2009
|
ну а если глянуть код этого самого gtk.icon_theme_get_default()? |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
minoshiВ том, что устанавливется, исходника нет, это имя, и lookup_icon сидят внутри _gtk.so. Можно, конечно, нарыть исходники _gtk.so, что-то там поглядеть, но наверняка оно выведет на функцию из какой-то общей so, не входящей в Питон. А как к ней обратиться из Лазаруса - сходу не понятно. Проблема, конечно, решаемая, но если заранее этой кухни не знаешь, то решать придётся не час, и не вечер. Увы, это оборотная сторона переносимости Лазаруса - Линукс-специфические штучки программируются очень туго. |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
Обновил до 0.91.0.91 [*] help changed [+] "Restore" button added [-] crash on void menu fixed [*] now gtk2 engine used for icon search [+] deleting from the holdbos impoved [+] now Ins key in the holdbox restore item [*] keep "encoding" attribute (custom laz2_xmlwrite, see laz2_xmlwrite.patch) |
akorop |
|
Темы:
111
Сообщения:
1755
Участник с: 29 февраля 2012
|
akoropРазобрался. Оказалось, в модуле gtk2 всё есть. Так что всю самодеятельность ампутировал и заменил штатным gtk-шным поиском.minoshiВ том, что устанавливется, исходника нет, это имя, и lookup_icon сидят внутри _gtk.so. Можно, конечно, нарыть исходники _gtk.so, что-то там поглядеть, но наверняка оно выведет на функцию из какой-то общей so, не входящей в Питон. А как к ней обратиться из Лазаруса - сходу не понятно. |