RefPtr<Action> ProcessorBox::copy_action;
RefPtr<Action> ProcessorBox::rename_action;
RefPtr<Action> ProcessorBox::delete_action;
+RefPtr<Action> ProcessorBox::backspace_action;
RefPtr<Action> ProcessorBox::manage_pins_action;
RefPtr<Action> ProcessorBox::edit_action;
RefPtr<Action> ProcessorBox::edit_generic_action;
if (_fed_by && _f_out != _f_sources) {
return false;
}
+ if (_fed_by && !_f_out_map.is_identity () && !_in_map.is_identity ()) {
+ return false;
+ }
if (_input && _sinks == _in && (!_fed_by || _f_out == _in)) {
return true;
}
}
}
+ cairo_surface_flush(_surf);
cairo_surface_mark_dirty(_surf);
const double xc = floor ((width - dis->width) * .5);
cairo_set_source_surface(cr, _surf, xc, 0);
cut_action->set_sensitive (sensitive && can_cut ());
copy_action->set_sensitive (sensitive);
delete_action->set_sensitive (sensitive || stub_processor_selected ());
+ backspace_action->set_sensitive (sensitive || stub_processor_selected ());
edit_action->set_sensitive (one_processor_can_be_edited ());
edit_generic_action->set_sensitive (one_processor_can_be_edited ());
}
} else {
(*i)->output_routing_icon.set_terminal(false);
- if (!(*i)->routing_icon.out_identity ()
- && !(*i)->routing_icon.in_identity ()
- && (*i)->routing_icon.can_coalesce ()) {
+ if ( !(*i)->routing_icon.out_identity ()
+ && !(*next)->routing_icon.in_identity ()
+ && (*next)->routing_icon.can_coalesce ()) {
(*i)->output_routing_icon.hide();
} else if (!(*i)->routing_icon.out_identity ()) {
(*i)->output_routing_icon.show();
sigc::ptr_fun (ProcessorBox::rb_copy));
delete_action = myactions.register_action (processor_box_actions, X_("delete"), _("Delete"),
sigc::ptr_fun (ProcessorBox::rb_delete));
+ backspace_action = myactions.register_action (processor_box_actions, X_("backspace"), _("Delete"),
+ sigc::ptr_fun (ProcessorBox::rb_delete));
ActionManager::plugin_selection_sensitive_actions.push_back (cut_action);
ActionManager::plugin_selection_sensitive_actions.push_back (copy_action);
ActionManager::plugin_selection_sensitive_actions.push_back (delete_action);
+ ActionManager::plugin_selection_sensitive_actions.push_back (backspace_action);
paste_action = myactions.register_action (processor_box_actions, X_("paste"), _("Paste"),
sigc::ptr_fun (ProcessorBox::rb_paste));
if (_window && (is_custom != want_custom)) {
/* drop existing window - wrong type */
drop_window ();
- get (true);
- setup ();
- assert (_window);
- is_custom = want_custom;
}
-
toggle ();
}