提交 1b8bc55f 编写于 作者: J jp9000

UI: Add func to load browser/cookies, but show dialog

Adds a function for initializing browser and cookies in a separate
thread while, and while waiting for it to complete, show a dialog
stating that the browser is currently being loaded.  Allows the ability
to safely prevent the user from taking any action without actually
freezing up the UI thread.
上级 fe043f2b
......@@ -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"
......
......@@ -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
}
......@@ -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::OBSBasic> ui;
};
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册