mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-01-22 05:08:37 -05:00
UI: Cleanup frontend event handling
This adds a function to OBSBasic to call on_event, so every time a event is called, the api variable doesn't have to be checked everytime.
This commit is contained in:
@@ -619,10 +619,8 @@ OBSBasic::OBSBasic(QWidget *parent)
|
||||
connect(ui->scenes, &SceneTree::scenesReordered,
|
||||
[]() { OBSProjector::UpdateMultiviewProjectors(); });
|
||||
|
||||
connect(App(), &OBSApp::StyleChanged, this, [this]() {
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_THEME_CHANGED);
|
||||
});
|
||||
connect(App(), &OBSApp::StyleChanged, this,
|
||||
[this]() { OnEvent(OBS_FRONTEND_EVENT_THEME_CHANGED); });
|
||||
|
||||
QActionGroup *actionGroup = new QActionGroup(this);
|
||||
actionGroup->addAction(ui->actionSceneListMode);
|
||||
@@ -1470,10 +1468,8 @@ retryScene:
|
||||
if (vcamEnabled)
|
||||
outputHandler->UpdateVirtualCamOutputSource();
|
||||
|
||||
if (api) {
|
||||
api->on_event(OBS_FRONTEND_EVENT_SCENE_CHANGED);
|
||||
api->on_event(OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED);
|
||||
}
|
||||
OnEvent(OBS_FRONTEND_EVENT_SCENE_CHANGED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED);
|
||||
}
|
||||
|
||||
#define SERVICE_PATH "service.json"
|
||||
@@ -2549,8 +2545,7 @@ void OBSBasic::OBSInit()
|
||||
|
||||
void OBSBasic::OnFirstLoad()
|
||||
{
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_FINISHED_LOADING);
|
||||
OnEvent(OBS_FRONTEND_EVENT_FINISHED_LOADING);
|
||||
|
||||
#ifdef WHATSNEW_ENABLED
|
||||
/* Attempt to load init screen if available */
|
||||
@@ -3376,8 +3371,7 @@ void OBSBasic::AddScene(OBSSource source)
|
||||
OBSProjector::UpdateMultiviewProjectors();
|
||||
}
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
||||
}
|
||||
|
||||
void OBSBasic::RemoveScene(OBSSource source)
|
||||
@@ -3412,8 +3406,7 @@ void OBSBasic::RemoveScene(OBSSource source)
|
||||
OBSProjector::UpdateMultiviewProjectors();
|
||||
}
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
||||
}
|
||||
|
||||
static bool select_one(obs_scene_t * /* scene */, obs_sceneitem_t *item,
|
||||
@@ -4505,8 +4498,7 @@ void OBSBasic::RemoveSelectedScene()
|
||||
|
||||
RemoveSceneAndReleaseNested(source);
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
||||
}
|
||||
|
||||
void OBSBasic::ReorderSources(OBSScene scene)
|
||||
@@ -5131,8 +5123,7 @@ void OBSBasic::ClearSceneData()
|
||||
obs_enum_scenes(cb, nullptr);
|
||||
obs_enum_sources(cb, nullptr);
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CLEANUP);
|
||||
OnEvent(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CLEANUP);
|
||||
|
||||
undo_s.clear();
|
||||
|
||||
@@ -5304,8 +5295,7 @@ void OBSBasic::closeEvent(QCloseEvent *event)
|
||||
ClearExtraBrowserDocks();
|
||||
#endif
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_SCRIPTING_SHUTDOWN);
|
||||
OnEvent(OBS_FRONTEND_EVENT_SCRIPTING_SHUTDOWN);
|
||||
|
||||
disableSaving++;
|
||||
|
||||
@@ -5313,8 +5303,7 @@ void OBSBasic::closeEvent(QCloseEvent *event)
|
||||
* sources, etc) so that all references are released before shutdown */
|
||||
ClearSceneData();
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_EXIT);
|
||||
OnEvent(OBS_FRONTEND_EVENT_EXIT);
|
||||
|
||||
// Destroys the frontend API so plugins can't continue calling it
|
||||
obs_frontend_set_callbacks_internal(nullptr);
|
||||
@@ -5554,8 +5543,7 @@ void OBSBasic::on_scenes_currentItemChanged(QListWidgetItem *current,
|
||||
if (vcamEnabled && vcamConfig.type == VCamOutputType::PreviewOutput)
|
||||
outputHandler->UpdateVirtualCamOutputSource();
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED);
|
||||
|
||||
UpdateContextBar();
|
||||
}
|
||||
@@ -6898,8 +6886,7 @@ void OBSBasic::SceneNameEdited(QWidget *editor)
|
||||
|
||||
ui->scenesDock->addAction(renameScene);
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_SCENE_LIST_CHANGED);
|
||||
}
|
||||
|
||||
void OBSBasic::OpenFilters(OBSSource source)
|
||||
@@ -7132,8 +7119,7 @@ void OBSBasic::StartStreaming()
|
||||
return;
|
||||
}
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_STREAMING_STARTING);
|
||||
OnEvent(OBS_FRONTEND_EVENT_STREAMING_STARTING);
|
||||
|
||||
SaveProject();
|
||||
|
||||
@@ -7490,8 +7476,7 @@ void OBSBasic::StreamDelayStopping(int sec)
|
||||
|
||||
ui->statusbar->StreamDelayStopping(sec);
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_STREAMING_STOPPING);
|
||||
OnEvent(OBS_FRONTEND_EVENT_STREAMING_STOPPING);
|
||||
}
|
||||
|
||||
void OBSBasic::StreamingStart()
|
||||
@@ -7522,8 +7507,7 @@ void OBSBasic::StreamingStart()
|
||||
}
|
||||
#endif
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_STREAMING_STARTED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_STREAMING_STARTED);
|
||||
|
||||
OnActivate();
|
||||
|
||||
@@ -7543,8 +7527,7 @@ void OBSBasic::StreamStopping()
|
||||
sysTrayStream->setText(QTStr("Basic.Main.StoppingStreaming"));
|
||||
|
||||
streamingStopping = true;
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_STREAMING_STOPPING);
|
||||
OnEvent(OBS_FRONTEND_EVENT_STREAMING_STOPPING);
|
||||
}
|
||||
|
||||
void OBSBasic::StreamingStop(int code, QString last_error)
|
||||
@@ -7605,8 +7588,7 @@ void OBSBasic::StreamingStop(int code, QString last_error)
|
||||
}
|
||||
|
||||
streamingStopping = false;
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_STREAMING_STOPPED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_STREAMING_STOPPED);
|
||||
|
||||
OnDeactivate();
|
||||
|
||||
@@ -7738,8 +7720,7 @@ void OBSBasic::StartRecording()
|
||||
return;
|
||||
}
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_RECORDING_STARTING);
|
||||
OnEvent(OBS_FRONTEND_EVENT_RECORDING_STARTING);
|
||||
|
||||
SaveProject();
|
||||
|
||||
@@ -7754,8 +7735,7 @@ void OBSBasic::RecordStopping()
|
||||
sysTrayRecord->setText(QTStr("Basic.Main.StoppingRecording"));
|
||||
|
||||
recordingStopping = true;
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_RECORDING_STOPPING);
|
||||
OnEvent(OBS_FRONTEND_EVENT_RECORDING_STOPPING);
|
||||
}
|
||||
|
||||
void OBSBasic::StopRecording()
|
||||
@@ -7777,8 +7757,7 @@ void OBSBasic::RecordingStart()
|
||||
sysTrayRecord->setText(QTStr("Basic.Main.StopRecording"));
|
||||
|
||||
recordingStopping = false;
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_RECORDING_STARTED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_RECORDING_STARTED);
|
||||
|
||||
if (!diskFullTimer->isActive())
|
||||
diskFullTimer->start(1000);
|
||||
@@ -7852,8 +7831,7 @@ void OBSBasic::RecordingStop(int code, QString last_error)
|
||||
}
|
||||
}
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_RECORDING_STOPPED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_RECORDING_STOPPED);
|
||||
|
||||
if (diskFullTimer->isActive())
|
||||
diskFullTimer->stop();
|
||||
@@ -7924,8 +7902,7 @@ void OBSBasic::StartReplayBuffer()
|
||||
return;
|
||||
}
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STARTING);
|
||||
OnEvent(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STARTING);
|
||||
|
||||
SaveProject();
|
||||
|
||||
@@ -7947,8 +7924,7 @@ void OBSBasic::ReplayBufferStopping()
|
||||
QTStr("Basic.Main.StoppingReplayBuffer"));
|
||||
|
||||
replayBufferStopping = true;
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STOPPING);
|
||||
OnEvent(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STOPPING);
|
||||
}
|
||||
|
||||
void OBSBasic::StopReplayBuffer()
|
||||
@@ -7976,8 +7952,7 @@ void OBSBasic::ReplayBufferStart()
|
||||
QTStr("Basic.Main.StopReplayBuffer"));
|
||||
|
||||
replayBufferStopping = false;
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STARTED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STARTED);
|
||||
|
||||
OnActivate();
|
||||
|
||||
@@ -8016,8 +7991,7 @@ void OBSBasic::ReplayBufferSaved()
|
||||
lastReplay = path;
|
||||
calldata_free(&cd);
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_REPLAY_BUFFER_SAVED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_REPLAY_BUFFER_SAVED);
|
||||
|
||||
AutoRemux(QT_UTF8(path.c_str()));
|
||||
}
|
||||
@@ -8061,8 +8035,7 @@ void OBSBasic::ReplayBufferStop(int code)
|
||||
QSystemTrayIcon::Warning);
|
||||
}
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STOPPED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_REPLAY_BUFFER_STOPPED);
|
||||
|
||||
OnDeactivate();
|
||||
}
|
||||
@@ -8104,8 +8077,7 @@ void OBSBasic::OnVirtualCamStart()
|
||||
if (sysTrayVirtualCam)
|
||||
sysTrayVirtualCam->setText(QTStr("Basic.Main.StopVirtualCam"));
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_VIRTUALCAM_STARTED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_VIRTUALCAM_STARTED);
|
||||
|
||||
OnActivate();
|
||||
|
||||
@@ -8122,8 +8094,7 @@ void OBSBasic::OnVirtualCamStop(int)
|
||||
if (sysTrayVirtualCam)
|
||||
sysTrayVirtualCam->setText(QTStr("Basic.Main.StartVirtualCam"));
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_VIRTUALCAM_STOPPED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_VIRTUALCAM_STOPPED);
|
||||
|
||||
blog(LOG_INFO, VIRTUAL_CAM_STOP);
|
||||
|
||||
@@ -10751,8 +10722,7 @@ void OBSBasic::PauseRecording()
|
||||
trayIconFile));
|
||||
}
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_RECORDING_PAUSED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_RECORDING_PAUSED);
|
||||
|
||||
if (os_atomic_load_bool(&replaybuf_active))
|
||||
ShowReplayBufferPauseWarning();
|
||||
@@ -10789,8 +10759,7 @@ void OBSBasic::UnpauseRecording()
|
||||
trayIconFile));
|
||||
}
|
||||
|
||||
if (api)
|
||||
api->on_event(OBS_FRONTEND_EVENT_RECORDING_UNPAUSED);
|
||||
OnEvent(OBS_FRONTEND_EVENT_RECORDING_UNPAUSED);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11114,3 +11083,9 @@ float OBSBasic::GetDevicePixelRatio()
|
||||
{
|
||||
return dpi;
|
||||
}
|
||||
|
||||
void OBSBasic::OnEvent(enum obs_frontend_event event)
|
||||
{
|
||||
if (api)
|
||||
api->on_event(event);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user