diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini index 31794e3be2e237f253d9edb91bd7361c087c3226..ce475bfd3f014bfc239e204c9f80d69f99e66acd 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 1478569eeaf354d0a4f74e598d01ed9baa584d67..70a302662c20c138319f3d427b7502a9fc07acf9 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 b4b03d99850f831f6067f283f60c94e45634f93f..7a64fa7d756f62f007ee1fe16535c9a384fb6ba7 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; };