nodes: if an item is pasted without a folder, ensure it is added to a folder
This commit is contained in:
@@ -1092,6 +1092,9 @@ QVector<Node*> NodeView::ProcessDroppingAttachedNodes(MultiUndoCommand *command,
|
|||||||
// Add node to the same graph that the context is in
|
// Add node to the same graph that the context is in
|
||||||
if (ai.node->parent() != select_context->parent()) {
|
if (ai.node->parent() != select_context->parent()) {
|
||||||
add_command->add_child(new NodeAddCommand(select_context->parent(), ai.node));
|
add_command->add_child(new NodeAddCommand(select_context->parent(), ai.node));
|
||||||
|
if (ai.node->IsItem() && !ai.node->folder()) {
|
||||||
|
add_command->add_child(new FolderAddChild(select_context->parent()->root(), ai.node));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add node to the context
|
// Add node to the context
|
||||||
|
|||||||
@@ -1945,8 +1945,12 @@ bool TimelineWidget::PasteInternal(bool insert)
|
|||||||
|
|
||||||
MultiUndoCommand *command = new MultiUndoCommand();
|
MultiUndoCommand *command = new MultiUndoCommand();
|
||||||
|
|
||||||
|
Project *project = GetConnectedNode()->project();
|
||||||
foreach (Node *n, res.GetLoadData().nodes) {
|
foreach (Node *n, res.GetLoadData().nodes) {
|
||||||
command->add_child(new NodeAddCommand(GetConnectedNode()->project(), n));
|
command->add_child(new NodeAddCommand(project, n));
|
||||||
|
if (n->IsItem() && !n->folder()) {
|
||||||
|
command->add_child(new FolderAddChild(project->root(), n));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rational paste_start = GetConnectedNode()->GetPlayhead();
|
rational paste_start = GetConnectedNode()->GetPlayhead();
|
||||||
|
|||||||
Reference in New Issue
Block a user