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:
+33
-16
@@ -33,7 +33,7 @@
|
||||
#include "node/project/footage/footage.h"
|
||||
#include "node/project.h"
|
||||
#include "node/project/sequence/sequence.h"
|
||||
#include "node/project/serializer/mainwindowlayoutinfo.h"
|
||||
#include "node/project/serializer/serializedlayoutinfo.h"
|
||||
#include "task/task.h"
|
||||
#include "tool/tool.h"
|
||||
#include "undo/undostack.h"
|
||||
@@ -304,7 +304,7 @@ public:
|
||||
* @brief Handler applying a loaded main window layout after a project load
|
||||
*/
|
||||
using LoadLayoutHandler =
|
||||
std::function<void(const MainWindowLayoutInfo &layout)>;
|
||||
std::function<void(const SerializedLayoutInfo &layout)>;
|
||||
void set_load_layout_handler(LoadLayoutHandler handler);
|
||||
|
||||
/**
|
||||
@@ -320,6 +320,17 @@ public:
|
||||
*/
|
||||
void remove_recently_opened_project(int index);
|
||||
|
||||
/**
|
||||
* @brief Currently open project (may be nullptr)
|
||||
*
|
||||
* Read accessor for the C ABI facade (oakengine_app_open_project());
|
||||
* the UI layer used to read the protected member directly.
|
||||
*/
|
||||
Project *open_project() const
|
||||
{
|
||||
return open_project_;
|
||||
}
|
||||
|
||||
#ifdef USE_OTIO
|
||||
/**
|
||||
* @brief Handler showing the OTIO import options dialog
|
||||
@@ -410,6 +421,26 @@ public slots:
|
||||
bool show_otio_import_dialog(const QList<Sequence *> &sequences);
|
||||
#endif
|
||||
|
||||
void add_recovery_project_from_task(Task *task);
|
||||
|
||||
public:
|
||||
/**
|
||||
* @brief Adds a project to the "open projects" list
|
||||
*
|
||||
* (Public for the C ABI facade; was protected while olive::Core derived
|
||||
* from this class.)
|
||||
*/
|
||||
void add_open_project(olive::Project *p, bool add_to_recents = false);
|
||||
|
||||
bool add_open_project_from_task(Task *task, bool add_to_recents);
|
||||
|
||||
void set_active_project(Project *p);
|
||||
|
||||
/**
|
||||
* @brief Returns the filename of the autorecovery index
|
||||
*/
|
||||
static QString get_auto_recovery_index_filename();
|
||||
|
||||
signals:
|
||||
/**
|
||||
* @brief Signal emitted when the tool is changed from somewhere
|
||||
@@ -471,15 +502,6 @@ signals:
|
||||
void active_project_changed(Project *p);
|
||||
|
||||
protected:
|
||||
/**
|
||||
* @brief Adds a project to the "open projects" list
|
||||
*/
|
||||
void add_open_project(olive::Project *p, bool add_to_recents = false);
|
||||
|
||||
bool add_open_project_from_task(Task *task, bool add_to_recents);
|
||||
|
||||
void set_active_project(Project *p);
|
||||
|
||||
/**
|
||||
* @brief Currently open project
|
||||
*
|
||||
@@ -487,11 +509,6 @@ protected:
|
||||
*/
|
||||
Project *open_project_;
|
||||
|
||||
static QString get_auto_recovery_index_filename();
|
||||
|
||||
protected slots:
|
||||
void add_recovery_project_from_task(Task *task);
|
||||
|
||||
private:
|
||||
/**
|
||||
* @brief Returns the filename where the recently opened/saved projects should be stored
|
||||
|
||||
Reference in New Issue
Block a user