List the removed layers in the history dialog when removing layers.
authordooglus <dooglus@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Fri, 11 Jan 2008 02:52:11 +0000 (02:52 +0000)
committerdooglus <dooglus@1f10aa63-cdf2-0310-b900-c93c546f37ac>
Fri, 11 Jan 2008 02:52:11 +0000 (02:52 +0000)
git-svn-id: http://svn.voria.com/code@1322 1f10aa63-cdf2-0310-b900-c93c546f37ac

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

index d65e3e6..6ca5e8a 100644 (file)
@@ -44,7 +44,7 @@ using namespace Action;
 
 /* === M A C R O S ========================================================= */
 
-ACTION_INIT(Action::LayerRemove);
+ACTION_INIT_NO_GET_LOCAL_NAME(Action::LayerRemove);
 ACTION_SET_NAME(Action::LayerRemove,"layer_remove");
 ACTION_SET_LOCAL_NAME(Action::LayerRemove,N_("Remove Layer"));
 ACTION_SET_TASK(Action::LayerRemove,"remove");
@@ -63,6 +63,29 @@ Action::LayerRemove::LayerRemove()
 {
 }
 
+synfig::String
+Action::LayerRemove::get_local_name()const
+{
+       String ret;
+
+       if (layer_list.empty())
+               return _("Remove Layer");
+
+       ret = strprintf("%s '%s'",
+                                       (layer_list.size() == 1
+                                        ? _("Remove Layer")
+                                        : _("Remove Layers")),
+                                       (layer_list.begin()->first->get_description().empty()
+                                        ? layer_list.begin()->first->get_local_name()
+                                        : layer_list.begin()->first->get_description()).c_str());
+
+       for(std::list<std::pair<synfig::Layer::Handle,int> >::const_iterator iter=++layer_list.begin(); iter!=layer_list.end(); ++iter)
+               ret += strprintf(", '%s'", (iter->first->get_description().empty()
+                                                                       ? iter->first->get_local_name()
+                                                                       : iter->first->get_description()).c_str());
+       return ret;
+}
+
 Action::ParamVocab
 Action::LayerRemove::get_param_vocab()
 {