X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=surf.c;h=726369a02f511624f064772f2efaf87de0841d38;hb=c4f01cd18bf69dd24153f110be500ccc59eff498;hp=42516909ddebba2706dbbe1de02b54dc91b2fd7c;hpb=2c2a7b608e01d2347812a84ecb08f98cb4d13789;p=surf.git diff --git a/surf.c b/surf.c index 4251690..726369a 100644 --- a/surf.c +++ b/surf.c @@ -65,7 +65,7 @@ typedef struct Client { const char *needle; gint progress; struct Client *next; - gboolean zoomed, fullscreen, isinspecting; + gboolean zoomed, fullscreen; } Client; typedef struct { @@ -144,12 +144,7 @@ static void downloadstarted(WebKitWebContext *wc, WebKitDownload *d, static void responsereceived(WebKitDownload *d, GParamSpec *ps, Client *c); static void download(Client *c, WebKitURIResponse *r); -static void inspector(Client *c, const Arg *arg); -static WebKitWebView *inspector_new(WebKitWebInspector *i, WebKitWebView *v, - Client *c); -static gboolean inspector_show(WebKitWebInspector *i, Client *c); -static gboolean inspector_close(WebKitWebInspector *i, Client *c); -static void inspector_finished(WebKitWebInspector *i, Client *c); +static void toggleinspector(Client *c, const Arg *a); static gboolean keypress(GtkAccelGroup *group, GObject *obj, guint key, GdkModifierType mods, Client *c); @@ -164,7 +159,7 @@ static void showview(WebKitWebView *v, Client *c); static void newwindow(Client *c, const Arg *arg, gboolean noembed); static GtkWidget *createwindow(Client *c); static void pasteuri(GtkClipboard *clipboard, const char *text, gpointer d); -static void print(Client *c, const Arg *arg); +static void print(Client *c, const Arg *a); static GdkFilterReturn processx(GdkXEvent *xevent, GdkEvent *event, gpointer d); static gboolean winevent(GtkWidget *w, GdkEvent *e, Client *c); @@ -722,60 +717,16 @@ download(Client *c, WebKitURIResponse *r) } void -inspector(Client *c, const Arg *arg) +toggleinspector(Client *c, const Arg *a) { if (enableinspector) { - if (c->isinspecting) + if (webkit_web_inspector_is_attached(c->inspector)) webkit_web_inspector_close(c->inspector); else webkit_web_inspector_show(c->inspector); } } -WebKitWebView * -inspector_new(WebKitWebInspector *i, WebKitWebView *v, Client *c) -{ - return WEBKIT_WEB_VIEW(webkit_web_view_new()); -} - -gboolean -inspector_show(WebKitWebInspector *i, Client *c) -{ - WebKitWebView *w; - - if (c->isinspecting) - return false; - - w = webkit_web_inspector_get_web_view(i); - gtk_paned_pack2(GTK_PANED(c->pane), GTK_WIDGET(w), TRUE, TRUE); - gtk_widget_show(GTK_WIDGET(w)); - c->isinspecting = true; - - return true; -} - -gboolean -inspector_close(WebKitWebInspector *i, Client *c) -{ - GtkWidget *w; - - if (!c->isinspecting) - return false; - - w = GTK_WIDGET(webkit_web_inspector_get_web_view(i)); - gtk_widget_hide(w); - gtk_widget_destroy(w); - c->isinspecting = false; - - return true; -} - -void -inspector_finished(WebKitWebInspector *i, Client *c) -{ - g_free(c->inspector); -} - gboolean keypress(GtkAccelGroup *group, GObject *obj, guint key, GdkModifierType mods, Client *c) @@ -1025,6 +976,9 @@ showview(WebKitWebView *v, Client *c) c->win = createwindow(c); + if (enableinspector) + c->inspector = webkit_web_view_get_inspector(c->view); + if (!kioskmode) addaccelgroup(c); @@ -1152,9 +1106,10 @@ pasteuri(GtkClipboard *clipboard, const char *text, gpointer d) } void -print(Client *c, const Arg *arg) +print(Client *c, const Arg *a) { - webkit_web_frame_print(webkit_web_view_get_main_frame(c->view)); + webkit_print_operation_run_dialog(webkit_print_operation_new(c->view), + GTK_WINDOW(c->win)); } GdkFilterReturn