Index: work/bug_files/TODO/multiload.patch =================================================================== --- work/bug_files/TODO/multiload.patch (nonexistent) +++ work/bug_files/TODO/multiload.patch (revision 797) @@ -0,0 +1,53 @@ +Index: src_plugins/gui/camv_gui.c +=================================================================== +--- src_plugins/gui/camv_gui.c (revision 789) ++++ src_plugins/gui/camv_gui.c (working copy) +@@ -144,6 +144,7 @@ + static char *last_project = NULL, *last_layer = NULL; + const char *function = "Layer"; + char *name = NULL; ++ int multisel = 0; + + if (last_layer == NULL) last_layer = dup_cwd(); + if (last_project == NULL) last_project = dup_cwd(); +@@ -154,10 +155,14 @@ + + RND_ACT_MAY_CONVARG(1, FGW_STR, Load, function = argv[1].val.str); + +- if (rnd_strcasecmp(function, "Layer") == 0) +- name = rnd_hid_fileselect(rnd_gui, "Load layer", "Import a layer from file", last_layer, NULL, NULL, "layer", RND_HID_FSD_READ, NULL); +- else if (rnd_strcasecmp(function, "Project") == 0) ++ if (rnd_strcasecmp(function, "Layer") == 0) { ++ name = rnd_hid_fileselect(rnd_gui, "Load layer", "Import a layer from file", last_layer, NULL, NULL, "layer", RND_HID_FSD_READ | RND_HID_FSD_MULTI, NULL); ++ multisel = 1; ++ } ++ else if (rnd_strcasecmp(function, "Project") == 0) { + name = rnd_hid_fileselect(rnd_gui, "Load a project file", "load project (all layers) from file", last_project, ".lht", NULL, "project", RND_HID_FSD_READ, NULL); ++ multisel = 0; ++ } + else { + rnd_message(RND_MSG_ERROR, "Invalid subcommand for Load(): '%s'\n", function); + RND_ACT_IRES(1); +@@ -165,9 +170,19 @@ + } + + if (name != NULL) { +- if (rnd_conf.rc.verbose) +- fprintf(stderr, "Load: Calling LoadFrom(%s, %s)\n", function, name); +- rnd_actionl("LoadFrom", function, name, NULL); ++ if (multisel) { ++ char *n; ++ for(n = name; *n != '\0'; n += strlen(n)+1) { ++ if (rnd_conf.rc.verbose) ++ fprintf(stderr, "Load: Calling LoadFrom(%s, %s)\n", function, n); ++ rnd_actionl("LoadFrom", function, n, NULL); ++ } ++ } ++ else { ++ if (rnd_conf.rc.verbose) ++ fprintf(stderr, "Load: Calling LoadFrom(%s, %s)\n", function, name); ++ rnd_actionl("LoadFrom", function, name, NULL); ++ } + free(name); + } +