GTK: Request and honour location focus

So that when we create a new tab we automatically focus the
location box, pass the flag into create, and honour it when it
comes back to us.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
This commit is contained in:
Daniel Silverstone 2020-02-22 15:12:22 +00:00
parent 0fa5f81a52
commit 5239163f4d
No known key found for this signature in database
GPG Key ID: C30DF439F2987D74
2 changed files with 8 additions and 1 deletions

View File

@ -926,7 +926,7 @@ nsgtk_browser_window_create(struct browser_window *bw, bool intab)
{ {
nserror res = NSERROR_OK; nserror res = NSERROR_OK;
nsurl *url = NULL; nsurl *url = NULL;
int flags = BW_CREATE_HISTORY | BW_CREATE_FOREGROUND; int flags = BW_CREATE_HISTORY | BW_CREATE_FOREGROUND | BW_CREATE_FOCUS_LOCATION;
if (intab) { if (intab) {
flags |= BW_CREATE_TAB; flags |= BW_CREATE_TAB;

View File

@ -969,6 +969,13 @@ gui_window_create(struct browser_window *bw,
*/ */
g_object_unref(tab_builder); g_object_unref(tab_builder);
/* Finally we need to focus the location bar if requested */
if (flags & GW_CREATE_FOCUS_LOCATION) {
if (nsgtk_window_item_activate(g, OPENLOCATION_BUTTON) != NSERROR_OK) {
NSLOG(netsurf, WARNING, "Unable to focus location input");
}
}
return g; return g;
} }