Terminal element can be removed from a terminal strip

This commit is contained in:
joshua
2021-05-04 19:04:06 +02:00
parent f07f4cb150
commit ded4ea555f
4 changed files with 74 additions and 3 deletions

View File

@@ -83,6 +83,19 @@ void TerminalStripEditor::setUpUndoConnections()
m_project->undoStack()->push(undo);
});
connect(ui->m_terminal_strip_tw, &TerminalStripTreeWidget::terminalRemovedFromStrip,
[this] (QUuid terminal_uuid, QUuid old_strip_uuid)
{
auto terminal_ = m_uuid_terminal_H.value(terminal_uuid);
auto strip_ = m_uuid_strip_H.value(old_strip_uuid);
if (!terminal_ || !strip_) {
return;
}
auto undo = new RemoveTerminalFromStripCommand(terminal_, strip_);
m_project->undoStack()->push(undo);
});
}
/**

View File

@@ -122,9 +122,9 @@ void TerminalStripTreeWidget::dropEvent(QDropEvent *event)
if (overred_item->type() == FreeTerminal) //Free terminal
{
emit terminalRemovedFromStrip(QUuid::fromString(dragged_item->data(0, UUID_USER_ROLE).toString()),
QUuid::fromString(overred_item->data(0, UUID_USER_ROLE).toString()));
QUuid::fromString(old_parent->data(0, UUID_USER_ROLE).toString()));
}
else if (overred_item->type() == Strip)
else if (overred_item->type() == Strip) //To another strip
{
emit terminalMovedFromStripToStrip(QUuid::fromString(dragged_item->data(0, UUID_USER_ROLE).toString()),
QUuid::fromString(old_parent->data(0, UUID_USER_ROLE).toString()),