void hover_web_view(WebKitWebView *web_view, WebKitHitTestResult *ht, guint modifiers, gpointer data) { struct Client *c = (struct Client *)data; if (!gtk_widget_is_focus(c->location)) { if (webkit_hit_test_result_context_is_link(ht)) { gtk_entry_set_text(GTK_ENTRY(c->location), webkit_hit_test_result_get_link_uri(ht)); if (c->hover_uri != NULL) g_free(c->hover_uri); c->hover_uri = g_strdup(webkit_hit_test_result_get_link_uri(ht)); } else { gtk_entry_set_text(GTK_ENTRY(c->location), webkit_web_view_get_uri(WEBKIT_WEB_VIEW(c->web_view))); if (c->hover_uri != NULL) g_free(c->hover_uri); c->hover_uri = NULL; } } }
static void webViewMouseTargetChanged(WebKitWebView *webView, WebKitHitTestResult *hitTestResult, guint mouseModifiers, BrowserWindow *window) { if (!webkit_hit_test_result_context_is_link(hitTestResult)) { browserWindowSetStatusText(window, NULL); return; } browserWindowSetStatusText(window, webkit_hit_test_result_get_link_uri(hitTestResult)); }
void onMouseTargetChange(WebKitWebView *webview, WebKitHitTestResult *hitTest, guint modifiers, RuskWindow *rusk) { if(webkit_hit_test_result_context_is_link(hitTest)) { gtk_window_set_title(rusk->window, webkit_hit_test_result_get_link_uri(hitTest)); }else { gtk_window_set_title(rusk->window, webkit_web_view_get_title(rusk->webview)); } }
/* this is the link handler for when a link is clicked */ static void link_handler(GtkWidget *widget, #ifdef USE_WEBKIT2 WebKitHitTestResult *hit_test_result, guint modifiers, #else gchar *title, gchar *uri, #endif gpointer user_data) { #ifdef USE_WEBKIT2 const char *uri; uri = webkit_hit_test_result_get_link_uri(hit_test_result); #endif WkHtmlPriv *priv; priv = WK_HTML_GET_PRIVATE(WK_HTML(widget)); XI_message(("html_link_message: uri = %s", (uri ? uri : "-none-"))); if (x_uri) { g_free(x_uri); x_uri = NULL; } if (uri) { x_uri = g_strdup(uri); in_url = 1; } else in_url = 0; g_signal_emit(widget, signals[URI_SELECTED], 0, uri, FALSE); if (uri) { if (priv->is_dialog) main_dialogs_url_handler(priv->dialog, uri, FALSE); else main_url_handler(uri, FALSE); } }