project: remove array element when deleting a folder's subitem

Fixes #1639
This commit is contained in:
itsmattkc
2021-05-23 10:38:30 +10:00
parent 6ff9ab9f54
commit 09dc79f9f6
4 changed files with 117 additions and 55 deletions
+40
View File
@@ -115,6 +115,46 @@ public:
static const QString kChildInput;
class RemoveElementCommand : public UndoCommand
{
public:
RemoveElementCommand(Folder *folder, Node *child) :
folder_(folder),
child_(child),
subcommand_(nullptr)
{
}
virtual ~RemoveElementCommand() override
{
delete subcommand_;
}
virtual Project *GetRelevantProject() const override
{
return folder_->project();
}
virtual void redo() override;
virtual void undo() override
{
if (subcommand_) {
subcommand_->undo();
}
}
private:
Folder *folder_;
Node *child_;
int remove_index_;
MultiUndoCommand *subcommand_;
};
signals:
void BeginInsertItem(Node* n, int index);