X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Flayeractionmanager.cpp;h=5b7834c1bb0f4c3cc321a5994830468dbbaf9127;hb=07407d6c001fe6d8b301889631dac206c29798f9;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();
}
}