X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fsynfigapp%2Factions%2Fvaluedesclink.cpp;h=66c736e7d65c6f8d4c315593d5ae4038ee15d2c7;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=bce9607b3f471be01dfc9a7d2b9c488ffe32aecc;hpb=37600b4b217caa5e316984ec0b035c5e8f9698af;p=synfig.git diff --git a/synfig-studio/trunk/src/synfigapp/actions/valuedesclink.cpp b/synfig-studio/trunk/src/synfigapp/actions/valuedesclink.cpp index bce9607..66c736e 100644 --- a/synfig-studio/trunk/src/synfigapp/actions/valuedesclink.cpp +++ b/synfig-studio/trunk/src/synfigapp/actions/valuedesclink.cpp @@ -6,7 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley -** Copyright (c) 2007 Chris Moore +** 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 @@ -35,6 +35,8 @@ #include #include +#include + #endif using namespace std; @@ -46,8 +48,8 @@ using namespace Action; /* === M A C R O S ========================================================= */ ACTION_INIT(Action::ValueDescLink); -ACTION_SET_NAME(Action::ValueDescLink,"value_desc_link"); -ACTION_SET_LOCAL_NAME(Action::ValueDescLink,"Link"); +ACTION_SET_NAME(Action::ValueDescLink,"ValueDescLink"); +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); @@ -204,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; } @@ -242,11 +244,11 @@ 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)); - Action::Handle action(Action::create("value_desc_connect")); + Action::Handle action(Action::create("ValueDescConnect")); action->set_param("canvas",get_canvas()); action->set_param("canvas_interface",get_canvas_interface()); @@ -263,7 +265,7 @@ Action::ValueDescLink::prepare() /* if(!link_value_node->is_exported()) { - Action::Handle action(Action::create("value_node_add")); + Action::Handle action(Action::create("ValueNodeAdd")); action->set_param("canvas",get_canvas()); action->set_param("canvas_interface",get_canvas_interface()); @@ -283,7 +285,12 @@ Action::ValueDescLink::prepare() { ValueDesc& value_desc(*iter); - Action::Handle action(Action::create("value_desc_connect")); + // 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("ValueDescConnect")); action->set_param("canvas",get_canvas()); action->set_param("canvas_interface",get_canvas_interface()); @@ -297,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()); }