mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-03-04 22:56:11 -05:00
obs-frontend-api,UI,docs: Add dock API that ask for unique object name
obs_frontend_add_dock() is deprecated in favor of obs_frontend_add_dock_by_id()
This commit is contained in:
@@ -398,6 +398,35 @@ struct OBSStudioAPI : obs_frontend_callbacks {
|
||||
return (void *)main->AddDockWidget(d);
|
||||
}
|
||||
|
||||
bool obs_frontend_add_dock_by_id(const char *id, const char *title,
|
||||
void *widget) override
|
||||
{
|
||||
if (main->IsDockObjectNameUsed(QT_UTF8(id))) {
|
||||
blog(LOG_WARNING,
|
||||
"Dock id '%s' already used! "
|
||||
"Duplicate library?",
|
||||
id);
|
||||
return false;
|
||||
}
|
||||
|
||||
OBSDock *dock = new OBSDock(main);
|
||||
dock->setWidget((QWidget *)widget);
|
||||
dock->setWindowTitle(QT_UTF8(title));
|
||||
dock->setObjectName(QT_UTF8(id));
|
||||
|
||||
main->AddDockWidget(dock, Qt::RightDockWidgetArea);
|
||||
|
||||
dock->setFloating(true);
|
||||
dock->setVisible(false);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void obs_frontend_remove_dock(const char *id) override
|
||||
{
|
||||
main->RemoveDockWidget(QT_UTF8(id));
|
||||
}
|
||||
|
||||
void obs_frontend_add_event_callback(obs_frontend_event_cb callback,
|
||||
void *private_data) override
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user