Index: trunk/src/plug_import.h =================================================================== --- trunk/src/plug_import.h (revision 29484) +++ trunk/src/plug_import.h (revision 29485) @@ -4,7 +4,7 @@ * pcb-rnd, interactive printed circuit board design * (this file is based on PCB, interactive printed circuit board design) * Copyright (C) 1994,1995,1996,1997,1998,2005,2006 Thomas Nau - * Copyright (C) 2016 Tibor 'Igor2' Palinkas + * Copyright (C) 2016,2020 Tibor 'Igor2' Palinkas * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -44,7 +44,8 @@ pcb_plug_import_t *next; void *plugin_data; - const char *name; /* name of the importer */ + const char *name; /* short name of the importer, also identifies the importer in import_sch */ + const char *desc; /* long, human readable description of the importer */ /* Check if the plugin supports format fmt. Return 0 if not supported or an integer priority if supported. The higher the prio is the more likely Index: trunk/src_plugins/import_edif/import_edif.c =================================================================== --- trunk/src_plugins/import_edif/import_edif.c (revision 29484) +++ trunk/src_plugins/import_edif/import_edif.c (revision 29485) @@ -97,7 +97,8 @@ import_edif.fmt_support_prio = edif_support_prio; import_edif.import = edif_import; - import_edif.name = "EDIF netlist (flat)"; + import_edif.name = "edif"; + import_edif.desc = "EDIF netlist (flat)"; import_edif.single_arg = 1; import_edif.all_filenames = 1; import_edif.ext_exec = 0; Index: trunk/src_plugins/import_gnetlist/import_gnetlist.c =================================================================== --- trunk/src_plugins/import_gnetlist/import_gnetlist.c (revision 29484) +++ trunk/src_plugins/import_gnetlist/import_gnetlist.c (revision 29485) @@ -118,7 +118,8 @@ import_gnetlist.fmt_support_prio = gnetlist_support_prio; import_gnetlist.import = gnetlist_import; - import_gnetlist.name = "gEDA sch using gnetlist"; + import_gnetlist.name = "gnetlist"; + import_gnetlist.desc = "gEDA sch using gnetlist"; import_gnetlist.single_arg = 0; import_gnetlist.all_filenames = 1; import_gnetlist.ext_exec = 0; Index: trunk/src_plugins/import_net_cmd/import_net_cmd.c =================================================================== --- trunk/src_plugins/import_net_cmd/import_net_cmd.c (revision 29484) +++ trunk/src_plugins/import_net_cmd/import_net_cmd.c (revision 29485) @@ -109,7 +109,8 @@ import_net_cmd.fmt_support_prio = net_cmd_support_prio; import_net_cmd.import = net_cmd_import; - import_net_cmd.name = "sch/netlist by cmd"; + import_net_cmd.name = "cmdline"; + import_net_cmd.desc = "sch/netlist by command line"; import_net_cmd.single_arg = 0; import_net_cmd.all_filenames = 0; import_net_cmd.ext_exec = 1; Index: trunk/src_plugins/import_netlist/import_netlist.c =================================================================== --- trunk/src_plugins/import_netlist/import_netlist.c (revision 29484) +++ trunk/src_plugins/import_netlist/import_netlist.c (revision 29485) @@ -190,7 +190,8 @@ import_netlist.fmt_support_prio = netlist_support_prio; import_netlist.import = netlist_import; - import_netlist.name = "gEDA netlist"; + import_netlist.name = "gEDA"; + import_netlist.desc = "gEDA/PCB netlist"; import_netlist.single_arg = 1; import_netlist.all_filenames = 1; import_netlist.ext_exec = 0; Index: trunk/src_plugins/import_sch2/import_sch.c =================================================================== --- trunk/src_plugins/import_sch2/import_sch.c (revision 29484) +++ trunk/src_plugins/import_sch2/import_sch.c (revision 29485) @@ -31,6 +31,7 @@ #include #include +#include "plug_import.h" #include "import_sch_conf.h" conf_import_sch_t conf_import_sch; @@ -41,6 +42,19 @@ /* DOC: import.html */ static fgw_error_t pcb_act_ImportSch(fgw_arg_t *res, int argc, fgw_arg_t *argv) { + if (argc == 1) { + const char *imp_name = conf_import_sch.plugins.import_sch.import_fmt; + pcb_plug_import_t *p; + + if ((imp_name == NULL) || (*imp_name == '\0')) { + TODO("invoke the GUI instead\n"); + pcb_message(PCB_MSG_ERROR, "import_sch2: missing conf\n"); + PCB_ACT_IRES(1); + return 0; + } + p = pcb_lookup_importer(imp_name); + pcb_message(PCB_MSG_ERROR, "import_sch2: reimport with %s -> %p\n", imp_name, p); + } pcb_message(PCB_MSG_ERROR, "import_sch2: not yet implemented\n"); PCB_ACT_IRES(0); return 0;