mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-19 20:32:15 +02:00
UI,docs: Send a custom event to the dock widget when closing
This commit is contained in:
parent
58a8d79be1
commit
3b266fec22
@ -329,6 +329,8 @@ OBSBasic::OBSBasic(QWidget *parent)
|
||||
|
||||
setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
|
||||
QEvent::registerEventType(QEvent::User + QEvent::Close);
|
||||
|
||||
api = InitializeAPIInterface(this);
|
||||
|
||||
ui->setupUi(this);
|
||||
|
@ -34,6 +34,11 @@ void OBSDock::closeEvent(QCloseEvent *event)
|
||||
}
|
||||
|
||||
QDockWidget::closeEvent(event);
|
||||
|
||||
if (widget() && event->isAccepted()) {
|
||||
QEvent widgetEvent(QEvent::Type(QEvent::User + QEvent::Close));
|
||||
qApp->sendEvent(widget(), &widgetEvent);
|
||||
}
|
||||
}
|
||||
|
||||
void OBSDock::showEvent(QShowEvent *event)
|
||||
|
@ -480,6 +480,12 @@ Functions
|
||||
Adds a dock with the widget to the UI with a toggle in the Docks
|
||||
menu.
|
||||
|
||||
When the dock is closed, a custom QEvent of type `QEvent::User + QEvent::Close`
|
||||
is sent to the widget to enable it to react to the event (e.g., unload elements
|
||||
to save resources).
|
||||
A generic QShowEvent is already sent by default when the widget is being
|
||||
shown (e.g., dock opened).
|
||||
|
||||
Note: Use :c:func:`obs_frontend_remove_dock` to remove the dock
|
||||
and the id from the UI.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user