Automatically export the Index parameter of new Duplicate layers.
[synfig.git] / synfig-studio / trunk / src / synfigapp / canvasinterface.cpp
index bc2f180..33b6273 100644 (file)
@@ -193,6 +193,22 @@ CanvasInterface::add_layer_to(synfig::String name, synfig::Canvas::Handle canvas
                return 0;
        }
 
+       // automatically export the Index parameter of new Duplicate layers
+       if (name == "duplicate")
+               for (int i = 1; ; i++)
+               {
+                       String name = strprintf(_("Index %d"), i);
+                       try
+                       {
+                               canvas->find_value_node(name);
+                       }
+                       catch (Exception::IDNotFound x)
+                       {
+                               add_value_node(layer->dynamic_param_list().find("index")->second, name);
+                               break;
+                       }
+               }
+
        layer->set_canvas(canvas);
 
        // Apply some defaults