X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Flayeractionmanager.cpp;h=5b7834c1bb0f4c3cc321a5994830468dbbaf9127;hb=62136261cc9eed43f117b46c61361dda07dfce97;hp=34d7f205265510e1324400eeaac00d73f08d60bd;hpb=8bdeeba29061364fc2388e983c59ae8ac4a1c867;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/layeractionmanager.cpp b/synfig-studio/trunk/src/gtkmm/layeractionmanager.cpp index 34d7f20..5b7834c 100644 --- a/synfig-studio/trunk/src/gtkmm/layeractionmanager.cpp +++ b/synfig-studio/trunk/src/gtkmm/layeractionmanager.cpp @@ -128,7 +128,12 @@ LayerActionManager::LayerActionManager(): _("Amount"),_("Amount") ); - + action_select_all_child_layers_=Gtk::Action::create( + "select-all-child-layers", + Gtk::StockID("synfig-select_all_child_layers"), + _("Select All Child Layers"),_("Select All Child Layers") + ); + action_select_all_child_layers_->set_sensitive(false); } LayerActionManager::~LayerActionManager() @@ -231,8 +236,7 @@ LayerActionManager::refresh() return; } - - String ui_info, ui_toolbar_info; + String ui_info; action_paste_->set_sensitive(!clipboard_.empty()); action_group_->add(action_paste_); @@ -286,17 +290,21 @@ LayerActionManager::refresh() if(!multiple_selected && layer->get_name()=="PasteCanvas") { - action_group_->add(Gtk::Action::create( - "select-all-child-layers", - Gtk::StockID("synfig-select_all_child_layers"), - _("Select All Child Layers"), - _("Select All Child Layers")), + if (select_all_child_layers_connection) + select_all_child_layers_connection.disconnect(); + + select_all_child_layers_connection = action_select_all_child_layers_->signal_activate().connect( sigc::bind(sigc::mem_fun(*layer_tree_, &studio::LayerTree::select_all_children_layers), Layer::LooseHandle(layer))); + + action_select_all_child_layers_->set_sensitive(true); + ui_info+=""; - ui_toolbar_info+=""; } + else + action_select_all_child_layers_->set_sensitive(false); + handle::cast_static(get_canvas_interface()->get_instance())-> add_actions_to_group(action_group_, ui_info, param_list, synfigapp::Action::CATEGORY_LAYER); } @@ -313,7 +321,6 @@ LayerActionManager::refresh() "" "" "" + - ui_toolbar_info + ""); popup_id_=get_ui_manager()->add_ui_from_string(ui_info); #ifdef ONE_ACTION_GROUP @@ -484,21 +491,14 @@ LayerActionManager::amount_inc() float adjust(0.1); // Create the action group - synfigapp::Action::PassiveGrouper group(get_canvas_interface()->get_instance().get(),_("Decrease Amount")); - - if(adjust>0) - group.set_name(_("Increase Amount")); - + synfigapp::Action::PassiveGrouper group(get_canvas_interface()->get_instance().get(),_("Increase Amount")); synfigapp::SelectionManager::LayerList layer_list(layer_tree_->get_selected_layers()); - while(!layer_list.empty()) + for (; !layer_list.empty(); layer_list.pop_front()) { ValueBase value(layer_list.front()->get_param("amount")); if(value.same_type_as(Real())) - { get_canvas_interface()->change_value(synfigapp::ValueDesc(layer_list.front(),"amount"),value.get(Real())+adjust); - } - layer_list.pop_front(); } } @@ -509,19 +509,12 @@ LayerActionManager::amount_dec() // Create the action group synfigapp::Action::PassiveGrouper group(get_canvas_interface()->get_instance().get(),_("Decrease Amount")); - - if(adjust>0) - group.set_name(_("Increase Amount")); - synfigapp::SelectionManager::LayerList layer_list(layer_tree_->get_selected_layers()); - while(!layer_list.empty()) + for (; !layer_list.empty(); layer_list.pop_front()) { ValueBase value(layer_list.front()->get_param("amount")); if(value.same_type_as(Real())) - { get_canvas_interface()->change_value(synfigapp::ValueDesc(layer_list.front(),"amount"),value.get(Real())+adjust); - } - layer_list.pop_front(); } }