X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fsynfigapp%2Faction.cpp;h=a8de89e746de82be7ee68965a1a5638981686a13;hb=ed2585fc1c1e49082c3d43b3999ef2bd963f2e86;hp=aa026f4cbb3fe670903ea0c9c082ed4d5124a35e;hpb=515a8fd01a0b1229899edaf13ca2c2de1d1d81cf;p=synfig.git diff --git a/synfig-studio/trunk/src/synfigapp/action.cpp b/synfig-studio/trunk/src/synfigapp/action.cpp index aa026f4..a8de89e 100644 --- a/synfig-studio/trunk/src/synfigapp/action.cpp +++ b/synfig-studio/trunk/src/synfigapp/action.cpp @@ -284,6 +284,72 @@ Action::Base::set_param_list(const ParamList ¶m_list) set_param(iter->first,iter->second); } +synfig::String +Action::Base::get_layer_descriptions(const std::list layers, synfig::String singular_prefix, synfig::String plural_prefix) +{ + String ret; + bool first = true; + + if (plural_prefix.empty()) + plural_prefix = singular_prefix; + + if (layers.empty()) + return plural_prefix; + + if (layers.size() == 1) + ret = singular_prefix; + else + ret = plural_prefix; + + if (!ret.empty()) + ret.push_back(' '); + + for(std::list::const_iterator iter=layers.begin(); iter!=layers.end(); ++iter) + { + if (first) + first = false; + else + ret += ", "; + + ret += strprintf("'%s'", (*iter)->get_non_empty_description().c_str()); + } + + return ret; +} + +synfig::String +Action::Base::get_layer_descriptions(const std::list > layers, synfig::String singular_prefix, synfig::String plural_prefix) +{ + String ret; + bool first = true; + + if (plural_prefix.empty()) + plural_prefix = singular_prefix; + + if (layers.empty()) + return plural_prefix; + + if (layers.size() == 1) + ret = singular_prefix; + else + ret = plural_prefix; + + if (!ret.empty()) + ret.push_back(' '); + + for(std::list >::const_iterator iter=layers.begin(); iter!=layers.end(); ++iter) + { + if (first) + first = false; + else + ret += ", "; + + ret += strprintf("'%s'", iter->first->get_non_empty_description().c_str()); + } + + return ret; +} + void Super::perform() {