Index: Plug.tmpasm =================================================================== --- Plug.tmpasm (revision 32199) +++ Plug.tmpasm (revision 32200) @@ -9,6 +9,8 @@ @] #put /local/pcb/mod/YACC {$(PLUGDIR)/io_kicad/parse_y} #put /local/pcb/mod/LEX {$(PLUGDIR)/io_kicad/parse_l} +put /local/pcb/mod/MENUFILE {kicad-menu.lht} +put /local/pcb/mod/MENUVAR {kicad_menu} switch /local/pcb/io_kicad/controls case {buildin} include /local/pcb/tmpasm/buildin; end; Index: io_kicad.c =================================================================== --- io_kicad.c (revision 32199) +++ io_kicad.c (revision 32200) @@ -29,6 +29,7 @@ #include "config.h" #include +#include #include "plug_io.h" #include "write.h" #include "read.h" @@ -35,6 +36,8 @@ #include "read_net.h" #include +#include "menu_internal.c" + static pcb_plug_io_t io_kicad; static const char *kicad_cookie = "kicad plugin"; @@ -62,6 +65,7 @@ rnd_remove_actions_by_cookie(kicad_cookie); RND_HOOK_UNREGISTER(pcb_plug_io_t, pcb_plug_io_chain, &io_kicad); pcb_eeschema_uninit(); + rnd_hid_menu_unload(rnd_gui, kicad_cookie); } int pplg_init_io_kicad(void) @@ -95,6 +99,8 @@ pcb_eeschema_init(); + rnd_hid_menu_load(rnd_gui, NULL, kicad_cookie, 190, NULL, 0, kicad_menu, "plugin: io_kicad"); + /* TODO: Alloc plugin-globals here. */ return 0; Index: kicad-menu.lht =================================================================== --- kicad-menu.lht (nonexistent) +++ kicad-menu.lht (revision 32200) @@ -0,0 +1,9 @@ +ha:rnd-menu-v1 { + li:anchored { + ha:@import_sch { + li:submenu { + ha:Import KiCad/eeschema schematics = { action=LoadEeschemaFrom() } + } + } + } +} \ No newline at end of file