Requests: Add CloseMainWindow

Adds a new request called CloseMainWindow which closes the main window
and cleanly shuts down OBS.
This commit is contained in:
Benjamin Schubert 2023-05-12 18:16:36 -04:00
parent e3d0751385
commit c989a941c5
3 changed files with 18 additions and 0 deletions

View File

@ -182,6 +182,7 @@ const std::unordered_map<std::string, RequestMethodHandler> RequestHandler::_han
{"TriggerMediaInputAction", &RequestHandler::TriggerMediaInputAction},
// Ui
{"CloseMainWindow", &RequestHandler::CloseMainWindow},
{"GetStudioModeEnabled", &RequestHandler::GetStudioModeEnabled},
{"SetStudioModeEnabled", &RequestHandler::SetStudioModeEnabled},
{"OpenInputPropertiesDialog", &RequestHandler::OpenInputPropertiesDialog},

View File

@ -201,6 +201,7 @@ private:
RequestResult TriggerMediaInputAction(const Request &);
// Ui
RequestResult CloseMainWindow(const Request &);
RequestResult GetStudioModeEnabled(const Request &);
RequestResult SetStudioModeEnabled(const Request &);
RequestResult OpenInputPropertiesDialog(const Request &);

View File

@ -24,6 +24,22 @@ with this program. If not, see <https://www.gnu.org/licenses/>
#include "RequestHandler.h"
/**
* Closes the main window.
*
* @requestType CloseMainWindow
* @complexity 1
* @rpcVersion -1
* @initialVersion 5.0.0
* @category ui
* @api requests
*/
RequestResult RequestHandler::CloseMainWindow(const Request &)
{
obs_frontend_close_main_window();
return RequestResult::Success();
}
/**
* Gets whether studio is enabled.
*