diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini index 31794e3be..ce475bfd3 100644 --- a/UI/data/locale/en-US.ini +++ b/UI/data/locale/en-US.ini @@ -95,6 +95,10 @@ AlreadyRunning.LaunchAnyway="Launch Anyway" Copy.Filters="Copy Filters" Paste.Filters="Paste Filters" +# browser initialization dialog +BrowserPanelInit.Title="Initializing Browser.." +BrowserPanelInit.Text="Initializing browser, please wait.." + # bandwidth test BandwidthTest.Region="Region" BandwidthTest.Region.US="United States" diff --git a/UI/window-basic-main-browser.cpp b/UI/window-basic-main-browser.cpp index 1478569ee..70a302662 100644 --- a/UI/window-basic-main-browser.cpp +++ b/UI/window-basic-main-browser.cpp @@ -132,3 +132,28 @@ void DuplicateCurrentCookieProfile(ConfigFile &config) UNUSED_PARAMETER(config); #endif } + +void OBSBasic::InitBrowserPanelSafeBlock(bool showDialog) +{ +#ifdef BROWSER_AVAILABLE + if (!cef) + return; + if (cef->init_browser()) { + InitPanelCookieManager(); + return; + } + + if (showDialog) + ExecuteFuncSafeBlockMsgBox( + [] {cef->wait_for_browser_init();}, + QTStr("BrowserPanelInit.Title"), + QTStr("BrowserPanelInit.Text")); + else + ExecuteFuncSafeBlock( + [] {cef->wait_for_browser_init();}); + + InitPanelCookieManager(); +#else + UNUSED_PARAMETER(showDialog); +#endif +} diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp index b4b03d998..7a64fa7d7 100644 --- a/UI/window-basic-main.hpp +++ b/UI/window-basic-main.hpp @@ -791,6 +791,8 @@ public: virtual int GetProfilePath(char *path, size_t size, const char *file) const override; + static void InitBrowserPanelSafeBlock(bool showDialog); + private: std::unique_ptr ui; };