#include "layeractionmanager.h"
#include "layertree.h"
#include <synfig/context.h>
+#include <synfig/layer_pastecanvas.h>
#include <synfigapp/action_param.h>
#include "instance.h"
#include <synfigapp/selectionmanager.h>
_("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()
return;
}
-
- String ui_info, ui_toolbar_info;
+ String ui_info;
action_paste_->set_sensitive(!clipboard_.empty());
action_group_->add(action_paste_);
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+="<menuitem action='select-all-child-layers'/>";
- ui_toolbar_info+="<toolbar action='toolbar-layer'><toolitem action='select-all-child-layers'/></toolbar>";
}
+ else
+ action_select_all_child_layers_->set_sensitive(false);
+
handle<studio::Instance>::cast_static(get_canvas_interface()->get_instance())->
add_actions_to_group(action_group_, ui_info, param_list, synfigapp::Action::CATEGORY_LAYER);
}
"<separator/>"
"</menu>"
"</popup>" +
- ui_toolbar_info +
"</ui>");
popup_id_=get_ui_manager()->add_ui_from_string(ui_info);
#ifdef ONE_ACTION_GROUP
return;
}
+ etl::handle<Layer_PasteCanvas> paste = etl::handle<Layer_PasteCanvas>::cast_dynamic(layer);
+ if (paste) paste->update_renddesc();
+
// synfig::info("DEPTH=%d",depth);
// Action to move the layer (if necessary)
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();
}
}
// 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();
}
}