X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fsynfigapp%2Factions%2Fvaluedesclink.cpp;h=84effe4fc9fc96ff144e81072827e35b659bb0b1;hb=80031a8a28bb53f89ad750ec94a1b447b419d616;hp=202e1dda8a5bc7032f622826a5cf0c6b1bc1c940;hpb=3d5774e06918f597c71486e3efc3edc712e809a8;p=synfig.git diff --git a/synfig-studio/trunk/src/synfigapp/actions/valuedesclink.cpp b/synfig-studio/trunk/src/synfigapp/actions/valuedesclink.cpp index 202e1dd..84effe4 100644 --- a/synfig-studio/trunk/src/synfigapp/actions/valuedesclink.cpp +++ b/synfig-studio/trunk/src/synfigapp/actions/valuedesclink.cpp @@ -6,6 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007, 2008 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -34,6 +35,8 @@ #include #include +#include + #endif using namespace std; @@ -46,7 +49,7 @@ using namespace Action; ACTION_INIT(Action::ValueDescLink); ACTION_SET_NAME(Action::ValueDescLink,"value_desc_link"); -ACTION_SET_LOCAL_NAME(Action::ValueDescLink,"Link"); +ACTION_SET_LOCAL_NAME(Action::ValueDescLink,N_("Link")); ACTION_SET_TASK(Action::ValueDescLink,"connect"); ACTION_SET_CATEGORY(Action::ValueDescLink,Action::CATEGORY_VALUEDESC); ACTION_SET_PRIORITY(Action::ValueDescLink,0); @@ -203,9 +206,9 @@ Action::ValueDescLink::set_param(const synfig::String& name, const Action::Param { // Everything must be of the same type poison=true; - status_message = (_("Cannot link two values of different types ('") + - value_desc.get_value().type_name() + _("' and '") + - value_desc_list.front().get_value().type_name() +_("')")); + status_message = (strprintf(_("Cannot link two values of different types ('%s' and '%s')"), + ValueBase::type_local_name(value_desc.get_value_type()).c_str(), + ValueBase::type_local_name(value_desc_list.front().get_value_type()).c_str())); return false; } @@ -241,7 +244,7 @@ Action::ValueDescLink::prepare() if(!link_value_node) { status_message = _("No ValueNodes were available, so one was created."); - ValueDesc& value_desc(value_desc_list.front()); + ValueDesc& value_desc(value_desc_list.back()); link_value_node=ValueNode_Const::create(value_desc.get_value(time)); @@ -282,6 +285,11 @@ Action::ValueDescLink::prepare() { ValueDesc& value_desc(*iter); + // only one of the selected items can be exported - that's the one we're linking to + // don't link it to itself + if (value_desc.is_exported()) + continue; + Action::Handle action(Action::create("value_desc_connect")); action->set_param("canvas",get_canvas()); @@ -296,5 +304,5 @@ Action::ValueDescLink::prepare() add_action_front(action); } - synfig::info(status_message); + synfig::info("http://synfig.org/Linking#Tier_%d : %s", status_level, status_message.c_str()); }