Implemented javascript alerts

This commit is contained in:
Pierre Pronchery 2009-03-29 01:13:10 +00:00
parent 4c76ecaf78
commit 49372d5a7f
3 changed files with 31 additions and 0 deletions

View File

@ -31,6 +31,8 @@ static void _on_load_progress_changed(WebKitWebView * view, gint progress,
gpointer data);
static void _on_load_started(WebKitWebView * view, WebKitWebFrame * frame,
gpointer data);
static void _on_script_alert(WebKitWebView * view, WebKitWebFrame * frame,
gchar * message, gpointer data);
static void _on_title_changed(WebKitWebView * view, WebKitWebFrame * frame,
const gchar * title, gpointer data);
@ -57,6 +59,8 @@ GtkWidget * ghtml_new(Surfer * surfer)
_on_load_progress_changed), widget);
g_signal_connect(G_OBJECT(view), "load-started", G_CALLBACK(
_on_load_started), widget);
g_signal_connect(G_OBJECT(view), "script-alert", G_CALLBACK(
_on_script_alert), widget);
g_signal_connect(G_OBJECT(view), "title-changed", G_CALLBACK(
_on_title_changed), widget);
/* scrolled window */
@ -260,6 +264,16 @@ static void _on_load_started(WebKitWebView * view, WebKitWebFrame * frame,
}
static void _on_script_alert(WebKitWebView * view, WebKitWebFrame * frame,
gchar * message, gpointer data)
{
Surfer * surfer;
surfer = g_object_get_data(G_OBJECT(data), "surfer");
surfer_warning(surfer, message);
}
static void _on_title_changed(WebKitWebView * view, WebKitWebFrame * frame,
const gchar * title, gpointer data)
{

View File

@ -488,6 +488,22 @@ void surfer_unselect_all(Surfer * surfer)
}
/* surfer_warning */
void surfer_warning(Surfer * surfer, char const * message)
{
GtkWidget * dialog;
dialog = gtk_message_dialog_new((surfer != NULL)
? GTK_WINDOW(surfer->window) : NULL,
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_WARNING, GTK_BUTTONS_OK, "%s", message);
gtk_window_set_title(GTK_WINDOW(dialog), "Warning");
g_signal_connect(G_OBJECT(dialog), "response", G_CALLBACK(
gtk_widget_destroy), NULL);
gtk_widget_show(dialog);
}
/* surfer_zoom_in */
void surfer_zoom_in(Surfer * surfer)
{

View File

@ -78,6 +78,7 @@ void surfer_set_title(Surfer * surfer, char const * title);
/* useful */
int surfer_error(Surfer * surfer, char const * message, int ret);
void surfer_warning(Surfer * surfer, char const * message);
void surfer_open(Surfer * surfer, char const * url);
void surfer_open_dialog(Surfer * surfer);