From a49c6e8ad75b9ce3d87dffda948a86d5e78eebcc Mon Sep 17 00:00:00 2001 From: Christian Dywan Date: Thu, 22 Sep 2011 00:26:49 +0200 Subject: [PATCH] Switch to already open tab of external URI if possible --- midori/midori-app.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/midori/midori-app.c b/midori/midori-app.c index bb9b5b65..26b81ce1 100644 --- a/midori/midori-app.c +++ b/midori/midori-app.c @@ -500,8 +500,25 @@ midori_app_command_received (MidoriApp* app, first = FALSE; } else - midori_browser_set_current_page (browser, - midori_browser_add_uri (browser, fixed_uri)); + { + /* Switch to already open tab if possible */ + guint i = 0; + GtkWidget* tab; + gboolean found = FALSE; + while ((tab = midori_browser_get_nth_tab (browser, i++))) + if (g_str_equal ( + midori_view_get_display_uri (MIDORI_VIEW (tab)), + fixed_uri)) + { + found = TRUE; + break; + } + if (found) + midori_browser_set_current_tab (browser, tab); + else + midori_browser_set_current_page (browser, + midori_browser_add_uri (browser, fixed_uri)); + } } g_free (fixed_uri); uris++;