obs-frontend-api,UI,docs: Add API to add custom docks with no toggle

Some plugin does that by deleting the QAction returned by
obs_frontend_add_dock().

Now that obs_frontend_add_dock() is deprecated,
obs_frontend_add_custom_qdock() replace this usage.
This commit is contained in:
tytan652
2022-10-22 11:51:30 +02:00
committed by Lain
parent cde5545f8f
commit 90d96e92c2
7 changed files with 107 additions and 10 deletions

View File

@@ -427,6 +427,24 @@ struct OBSStudioAPI : obs_frontend_callbacks {
main->RemoveDockWidget(QT_UTF8(id));
}
bool obs_frontend_add_custom_qdock(const char *id, void *dock) override
{
if (main->IsDockObjectNameUsed(QT_UTF8(id))) {
blog(LOG_WARNING,
"Dock id '%s' already used! "
"Duplicate library?",
id);
return false;
}
QDockWidget *d = reinterpret_cast<QDockWidget *>(dock);
d->setObjectName(QT_UTF8(id));
main->AddCustomDockWidget(d);
return true;
}
void obs_frontend_add_event_callback(obs_frontend_event_cb callback,
void *private_data) override
{