Get the 'Lower Layer' action to list the layer(s) that were lowered in the History...
authordooglus <dooglus@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Mon, 14 Jan 2008 18:30:43 +0000 (18:30 +0000)
committerdooglus <dooglus@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Mon, 14 Jan 2008 18:30:43 +0000 (18:30 +0000)
git-svn-id: http://svn.voria.com/code@1364 1f10aa63-cdf2-0310-b900-c93c546f37ac

synfig-studio/trunk/src/synfigapp/actions/layerlower.cpp

index 99f0156..4db1009 100644 (file)
@@ -45,7 +45,7 @@ using namespace Action;
 
 /* === M A C R O S ========================================================= */
 
-ACTION_INIT(Action::LayerLower);
+ACTION_INIT_NO_GET_LOCAL_NAME(Action::LayerLower);
 ACTION_SET_NAME(Action::LayerLower,"layer_lower");
 ACTION_SET_LOCAL_NAME(Action::LayerLower,N_("Lower Layer"));
 ACTION_SET_TASK(Action::LayerLower,"lower");
@@ -64,6 +64,25 @@ Action::LayerLower::LayerLower()
 {
 }
 
+synfig::String
+Action::LayerLower::get_local_name()const
+{
+       String ret;
+
+       if (layers.empty())
+               return _("Lower Layer");
+
+       ret = strprintf("%s '%s'",
+                                       (layers.size() == 1
+                                        ? _("Lower Layer")
+                                        : _("Lower Layers")),
+                                       (*layers.begin())->get_non_empty_description().c_str());
+
+       for(std::list<synfig::Layer::Handle>::const_iterator iter=++layers.begin(); iter!=layers.end(); ++iter)
+               ret += strprintf(", '%s'", ((*iter)->get_non_empty_description().c_str()));
+       return ret;
+}
+
 Action::ParamVocab
 Action::LayerLower::get_param_vocab()
 {