make Shift-d clone all selected objects (same key as in Blender :-)
This commit is contained in:
parent
a571440567
commit
8361721c72
2 changed files with 26 additions and 1 deletions
|
@ -216,6 +216,15 @@
|
|||
</binding>
|
||||
</key>
|
||||
|
||||
<key n="68">
|
||||
<name>D</name>
|
||||
<desc>Clone selected objects</desc>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>ufo.modelmgr.clone_selected()</script>
|
||||
</binding>
|
||||
</key>
|
||||
|
||||
<key n="100">
|
||||
<name>d</name>
|
||||
<desc>Dump coordinates</desc>
|
||||
|
|
|
@ -306,7 +306,7 @@ var Model = {
|
|||
props.globals.getNode("/models", 1).removeChild("model", me.node.getIndex());
|
||||
},
|
||||
clone : func(path) {
|
||||
Model.new(path, me.pos, me.node);
|
||||
Model.new(path, geo.Coord.new(me.pos), me.node);
|
||||
},
|
||||
move : func(pos) {
|
||||
var v = me.visible;
|
||||
|
@ -659,6 +659,22 @@ var ModelMgr = {
|
|||
toggle_marker : func {
|
||||
me.marker.visible ? me.marker.hide() : me.marker.unhide();
|
||||
},
|
||||
clone_selected : func {
|
||||
var clones = [];
|
||||
foreach (var m; me.models) {
|
||||
if (m.selected) {
|
||||
m.selected = 0;
|
||||
var c = m.clone(m.path);
|
||||
append(clones, c);
|
||||
if (m == me.active)
|
||||
me.active = c;
|
||||
}
|
||||
}
|
||||
foreach (var m; clones) {
|
||||
m.selected = 1;
|
||||
append(me.models, m);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue