engine: internals supporting the facade migration

UndoStack push_pre_executed, FolderAddChild-based true folder moves,
NodeViewDeleteCommand delete-then-reconnect support, event emission
points for the facade event bus, and related internal adjustments.
This commit is contained in:
2026-07-26 22:43:09 +08:00
parent e9f173916f
commit f95590e924
38 changed files with 302 additions and 746 deletions
+5
View File
@@ -46,6 +46,11 @@ ProjectImportTask::ProjectImportTask(Folder *folder,
set_title(tr("Importing %n file(s)", nullptr, file_count_));
}
ProjectImportTask::~ProjectImportTask()
{
delete command_;
}
const int &ProjectImportTask::get_file_count() const
{
return file_count_;
+7 -2
View File
@@ -37,12 +37,17 @@ class ProjectImportTask : public Task {
Q_OBJECT
public:
ProjectImportTask(Folder *folder, const QStringList &filenames);
~ProjectImportTask() override;
const int &get_file_count() const;
MultiUndoCommand *get_command() const
/** Take ownership of the import command. After this call the task no
* longer owns (and will not delete) the returned command. */
MultiUndoCommand *take_command()
{
return command_;
MultiUndoCommand *c = command_;
command_ = nullptr;
return c;
}
const QStringList &get_invalid_files() const