Made a new ACTION_INIT_NO_GET_LOCAL_NAME macro for actions which want to define their...
[synfig.git] / synfig-studio / trunk / src / synfigapp / canvasinterface.cpp
index 87971c0..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
@@ -296,6 +312,7 @@ CanvasInterface::convert(ValueDesc value_desc, synfig::String type)
        action->set_param("canvas_interface",etl::loose_handle<CanvasInterface>(this));
        action->set_param("value_desc",value_desc);
        action->set_param("type",type);
+       action->set_param("time",get_time());
 
        if(!action->is_ready())
        {