Implemented javascript alerts
This commit is contained in:
parent
4c76ecaf78
commit
49372d5a7f
@ -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)
|
||||
{
|
||||
|
16
src/surfer.c
16
src/surfer.c
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user