wrap long lines. working on downloads.
This commit is contained in:
parent
08b45f411a
commit
8b6548c384
12
surf.c
12
surf.c
|
@ -14,6 +14,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <webkit/webkit.h>
|
#include <webkit/webkit.h>
|
||||||
|
#include <glib/gstdio.h>
|
||||||
|
|
||||||
#define LENGTH(x) (sizeof x / sizeof x[0])
|
#define LENGTH(x) (sizeof x / sizeof x[0])
|
||||||
|
|
||||||
|
@ -22,6 +23,7 @@ Atom urlprop;
|
||||||
typedef struct Client {
|
typedef struct Client {
|
||||||
GtkWidget *win, *scroll, *vbox, *urlbar, *searchbar;
|
GtkWidget *win, *scroll, *vbox, *urlbar, *searchbar;
|
||||||
WebKitWebView *view;
|
WebKitWebView *view;
|
||||||
|
WebKitDownload * dl;
|
||||||
gchar *title;
|
gchar *title;
|
||||||
gint progress;
|
gint progress;
|
||||||
struct Client *next;
|
struct Client *next;
|
||||||
|
@ -112,8 +114,9 @@ download(WebKitWebView *view, WebKitDownload *o, gpointer d) {
|
||||||
gchar *uri, *filename;
|
gchar *uri, *filename;
|
||||||
|
|
||||||
home = g_get_home_dir();
|
home = g_get_home_dir();
|
||||||
filename = g_build_filename(home, "Desktop",
|
filename = g_build_filename(home, ".surf", "dl",
|
||||||
webkit_download_get_suggested_filename(o), NULL);
|
webkit_download_get_suggested_filename(o), NULL);
|
||||||
|
g_mkdir(g_path_get_dirname(filename), 0755);
|
||||||
uri = g_strconcat("file://", filename, NULL);
|
uri = g_strconcat("file://", filename, NULL);
|
||||||
webkit_download_set_destination_uri(o, uri);
|
webkit_download_set_destination_uri(o, uri);
|
||||||
g_free(filename);
|
g_free(filename);
|
||||||
|
@ -243,11 +246,13 @@ loadfile(const Client *c, const gchar *f) {
|
||||||
if(strcmp(f, "-") == 0) {
|
if(strcmp(f, "-") == 0) {
|
||||||
chan = g_io_channel_unix_new(STDIN_FILENO);
|
chan = g_io_channel_unix_new(STDIN_FILENO);
|
||||||
if (chan) {
|
if (chan) {
|
||||||
while(g_io_channel_read_line(chan, &line, NULL, NULL, &e) == G_IO_STATUS_NORMAL) {
|
while(g_io_channel_read_line(chan, &line, NULL, NULL,
|
||||||
|
&e) == G_IO_STATUS_NORMAL) {
|
||||||
g_string_append(code, line);
|
g_string_append(code, line);
|
||||||
g_free(line);
|
g_free(line);
|
||||||
}
|
}
|
||||||
webkit_web_view_load_html_string(c->view, code->str, NULL);
|
webkit_web_view_load_html_string(c->view, code->str,
|
||||||
|
"file://.");
|
||||||
g_io_channel_shutdown(chan, FALSE, NULL);
|
g_io_channel_shutdown(chan, FALSE, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -339,7 +344,6 @@ newclient(void) {
|
||||||
|
|
||||||
WebKitWebView *
|
WebKitWebView *
|
||||||
newwindow(WebKitWebView *v, WebKitWebFrame *f, gpointer d) {
|
newwindow(WebKitWebView *v, WebKitWebFrame *f, gpointer d) {
|
||||||
/* TODO */
|
|
||||||
Client *c = newclient();
|
Client *c = newclient();
|
||||||
return c->view;
|
return c->view;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue