Introduction
Introduction Statistics Contact Development Disclaimer Help
tFixing the style and making the inspector work again. - surf - customized buil…
git clone git://src.adamsgaard.dk/surf
Log
Files
Refs
README
LICENSE
---
commit 8c15f0e75880b7c1d80884f1dcf503e4097fe86b
parent 0415175e10880585c765613af0bd43e02de87116
Author: Christoph Lohmann <[email protected]>
Date: Sat, 26 Jan 2013 21:01:23 +0100
Fixing the style and making the inspector work again.
Diffstat:
M surf.c | 50 +++++++++++++++++++++++------…
1 file changed, 37 insertions(+), 13 deletions(-)
---
diff --git a/surf.c b/surf.c
t@@ -42,14 +42,14 @@ union Arg {
};
typedef struct Client {
- GtkWidget *win, *scroll, *vbox, *indicator;
+ GtkWidget *win, *scroll, *vbox, *indicator, *pane;
WebKitWebView *view;
WebKitWebInspector *inspector;
char *title, *linkhover;
const char *uri, *needle;
gint progress;
struct Client *next;
- gboolean zoomed, fullscreen, isinspector, sslfailed;
+ gboolean zoomed, fullscreen, isinspecting, sslfailed;
} Client;
typedef struct {
t@@ -506,28 +506,45 @@ initdownload(WebKitWebView *view, WebKitDownload *o, Cli…
static void
inspector(Client *c, const Arg *arg) {
- if(c->isinspector)
- return;
- webkit_web_inspector_show(c->inspector);
+ if(c->isinspecting) {
+ webkit_web_inspector_close(c->inspector);
+ } else {
+ webkit_web_inspector_show(c->inspector);
+ }
}
static WebKitWebView *
inspector_new(WebKitWebInspector *i, WebKitWebView *v, Client *c) {
- Client *n = newclient();
- n->isinspector = true;
-
- return n->view;
+ return WEBKIT_WEB_VIEW(webkit_web_view_new());
}
static gboolean
inspector_show(WebKitWebInspector *i, Client *c) {
- gtk_widget_show(GTK_WIDGET(webkit_web_inspector_get_web_view(i)));
+ 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;
}
static gboolean
inspector_close(WebKitWebInspector *i, Client *c) {
- gtk_widget_hide(GTK_WIDGET(webkit_web_inspector_get_web_view(i)));
+ 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;
}
t@@ -671,8 +688,12 @@ newclient(void) {
"key-press-event",
G_CALLBACK(keypress), c);
+ /* Pane */
+ c->pane = gtk_vpaned_new();
+
/* VBox */
c->vbox = gtk_vbox_new(FALSE, 0);
+ gtk_paned_pack1(GTK_PANED(c->pane), c->vbox, TRUE, TRUE);
/* Scrolled Window */
c->scroll = gtk_scrolled_window_new(NULL, NULL);
t@@ -726,7 +747,7 @@ newclient(void) {
/* Arranging */
gtk_container_add(GTK_CONTAINER(c->scroll), GTK_WIDGET(c->view));
- gtk_container_add(GTK_CONTAINER(c->win), c->vbox);
+ gtk_container_add(GTK_CONTAINER(c->win), c->pane);
gtk_container_add(GTK_CONTAINER(c->vbox), c->scroll);
gtk_container_add(GTK_CONTAINER(c->vbox), c->indicator);
t@@ -736,6 +757,7 @@ newclient(void) {
gtk_box_set_child_packing(GTK_BOX(c->vbox), c->scroll, TRUE,
TRUE, 0, GTK_PACK_START);
gtk_widget_grab_focus(GTK_WIDGET(c->view));
+ gtk_widget_show(c->pane);
gtk_widget_show(c->vbox);
gtk_widget_show(c->scroll);
gtk_widget_show(GTK_WIDGET(c->view));
t@@ -776,7 +798,7 @@ newclient(void) {
G_CALLBACK(inspector_close), c);
g_signal_connect(G_OBJECT(c->inspector), "finished",
G_CALLBACK(inspector_finished), c);
- c->isinspector = false;
+ c->isinspecting = false;
}
g_free(uri);
t@@ -789,6 +811,7 @@ newclient(void) {
c->title = NULL;
c->next = clients;
clients = c;
+
if(showxid) {
gdk_display_sync(gtk_widget_get_display(c->win));
printf("%u\n",
t@@ -798,6 +821,7 @@ newclient(void) {
die("Error closing stdout");
}
}
+
return c;
}
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.