From: dooglus Date: Fri, 11 Jan 2008 02:52:11 +0000 (+0000) Subject: List the removed layers in the history dialog when removing layers. X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=71f558fb16eaaacd692807b902429e6a249c1540;p=synfig.git List the removed layers in the history dialog when removing layers. git-svn-id: http://svn.voria.com/code@1322 1f10aa63-cdf2-0310-b900-c93c546f37ac --- diff --git a/synfig-studio/trunk/src/synfigapp/actions/layerremove.cpp b/synfig-studio/trunk/src/synfigapp/actions/layerremove.cpp index d65e3e6..6ca5e8a 100644 --- a/synfig-studio/trunk/src/synfigapp/actions/layerremove.cpp +++ b/synfig-studio/trunk/src/synfigapp/actions/layerremove.cpp @@ -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 >::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() {