refactor: cut engine-to-UI include violations ahead of the liboakengine split
- slider DisplayType enums sink to node/sliderdisplaytype.h (canonical engine home); FloatSlider/RationalSlider alias them for compatibility - DropWithoutSequenceBehavior enum sinks to common/dropworkflowbehavior.h - Config errors now go through a registered ErrorHandler hook instead of QMessageBox with a MainWindow parent; the style default no longer depends on the UI style manager - MainWindowLayoutInfo moves to node/project/serializer/ and its panel dependency is reduced to a plain std::map alias (PanelLayoutInfo), breaking the engine -> PanelWidget -> KDDockWidgets chain - ProjectImportErrorDialog moves from task/ to dialog/projectimport/ - remove confirmed-redundant UI includes and give project.h/import.h/ project.cpp the direct includes they were borrowing transitively - project.h includes folder/sequence headers directly (it used both types in its own API all along)
This commit is contained in:
@@ -341,6 +341,16 @@ int main(int argc, char *argv[])
|
||||
a.reset(new QCoreApplication(argc, argv));
|
||||
}
|
||||
|
||||
// Configuration errors are reported through a UI handler so the engine
|
||||
// layer (config) never has to know about dialogs
|
||||
olive::Config::set_error_handler(
|
||||
[](const QString &title, const QString &message) {
|
||||
QWidget *parent =
|
||||
olive::Core::instance() ? olive::Core::instance()->main_window() :
|
||||
nullptr;
|
||||
QMessageBox::critical(parent, title, message, QMessageBox::Ok);
|
||||
});
|
||||
|
||||
olive::Config::load();
|
||||
const QString graphics_backend =
|
||||
olive::Config::current()[QStringLiteral("GraphicsBackend")]
|
||||
|
||||
Reference in New Issue
Block a user