X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Flayeractionmanager.cpp;h=86addd6a684cb8250d5315d94ddbee3cf105afc2;hb=e3fc936cc46f22b68f18bc0a514835b329a88a70;hp=0fa5bed975889c2f2ebacf518fe07266e64f48ed;hpb=37600b4b217caa5e316984ec0b035c5e8f9698af;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/layeractionmanager.cpp b/synfig-studio/trunk/src/gtkmm/layeractionmanager.cpp index 0fa5bed..86addd6 100644 --- a/synfig-studio/trunk/src/gtkmm/layeractionmanager.cpp +++ b/synfig-studio/trunk/src/gtkmm/layeractionmanager.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 @@ -36,6 +36,8 @@ #include "instance.h" #include +#include "general.h" + #endif /* === U S I N G =========================================================== */ @@ -229,7 +231,7 @@ LayerActionManager::refresh() } - String ui_info; + String ui_info, ui_toolbar_info; action_paste_->set_sensitive(!clipboard_.empty()); action_group_->add(action_paste_); @@ -285,30 +287,38 @@ LayerActionManager::refresh() { action_group_->add(Gtk::Action::create( "select-all-child-layers", - _("Select All Child Layers") - ), - sigc::bind( - sigc::mem_fun( - *layer_tree_, - &studio::LayerTree::select_all_children_layers - ), - Layer::LooseHandle(layer) - ) - ); + Gtk::StockID("synfig-select_all_child_layers"), + _("Select All Child Layers"), + _("Select All Child Layers")), + sigc::bind(sigc::mem_fun(*layer_tree_, + &studio::LayerTree::select_all_children_layers), + Layer::LooseHandle(layer))); ui_info+=""; + ui_toolbar_info+=""; } handle::cast_static(get_canvas_interface()->get_instance())-> add_actions_to_group(action_group_, ui_info, param_list, synfigapp::Action::CATEGORY_LAYER); } } - ui_info=""+ui_info+""; + ui_info=("" + "" + "" + + ui_info + + "" + "" + "" + "" + "" + "" + "" + + ui_toolbar_info + + ""); popup_id_=get_ui_manager()->add_ui_from_string(ui_info); #ifdef ONE_ACTION_GROUP #else get_ui_manager()->insert_action_group(action_group_); #endif - DEBUGPOINT(); } void @@ -382,7 +392,8 @@ LayerActionManager::paste() return; } - synfig::info("DEPTH=%d",depth); + // synfig::info("DEPTH=%d",depth); + // Action to move the layer (if necessary) if(depth>0) { @@ -412,6 +423,22 @@ LayerActionManager::paste() } } depth++; + + // automatically export the Index parameter of Duplicate layers when pasting + if (layer->get_name() == "duplicate") + for (int i = 1; ; i++) + { + String name = strprintf(_("Index %d"), i); + try + { + canvas->find_value_node(name); + } + catch (Exception::IDNotFound x) + { + get_canvas_interface()->add_value_node(layer->dynamic_param_list().find("index")->second, name); + break; + } + } } get_canvas_interface()->get_selection_manager()->clear_selected_layers(); get_canvas_interface()->get_selection_manager()->set_selected_layers(layer_selection);