tazweb diff src/main.c @ rev 92
Add bookmarks function with menu item 'Add a bookmark'
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Thu Apr 28 00:18:06 2011 +0200 (2011-04-28) |
parents | 9f32338b3ff3 |
children | dc7215b94384 |
line diff
1.1 --- a/src/main.c Wed Apr 27 18:04:23 2011 +0200 1.2 +++ b/src/main.c Thu Apr 28 00:18:06 2011 +0200 1.3 @@ -189,10 +189,9 @@ 1.4 download_requested_cb(WebKitWebView *webview, WebKitDownload *download, 1.5 gpointer user_data) 1.6 { 1.7 + const gchar* buffer; 1.8 uri = webkit_download_get_uri(download); 1.9 - const gchar* buffer; 1.10 - asprintf(&buffer, 1.11 - "xterm -T 'Download' -geom 72x10+0-24 -e \ 1.12 + asprintf(&buffer, "xterm -T 'Download' -geom 72x10+0-24 -e \ 1.13 'cd $HOME/Downloads && wget -c %s; sleep 2' &", uri); 1.14 system(buffer); 1.15 } 1.16 @@ -243,6 +242,23 @@ 1.17 return TRUE; 1.18 } 1.19 1.20 +/* Add a bookmark to home.html */ 1.21 +void 1.22 +add_bookmark_cb(GtkWidget *widget, gpointer data) 1.23 +{ 1.24 + const gchar* title; 1.25 + const gchar* buffer; 1.26 + 1.27 + title = webkit_web_view_get_title(WEBKIT_WEB_VIEW (webview)); 1.28 + uri = webkit_web_view_get_uri(WEBKIT_WEB_VIEW (webview)); 1.29 + 1.30 + asprintf(&buffer, "sed -i \ 1.31 + -e '/<!-- end:bookmarks -->/ i <li><a href=\"%s\">%s</a></li>' \ 1.32 + -e s'/^<li>/ <li>/' $HOME/.config/tazweb/home.html &", 1.33 + uri, title); 1.34 + system(buffer); 1.35 +} 1.36 + 1.37 /* Add items to WebKit contextual menu */ 1.38 static void 1.39 populate_menu_cb(WebKitWebView *webview, GtkMenu *menu, gpointer data) 1.40 @@ -271,15 +287,26 @@ 1.41 item = gtk_separator_menu_item_new(); 1.42 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); 1.43 1.44 + /* Add to bookmarks */ 1.45 + item = gtk_image_menu_item_new_with_label("Add a bookmark"); 1.46 + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), 1.47 + gtk_image_new_from_stock(GTK_STOCK_ADD, GTK_ICON_SIZE_MENU)); 1.48 + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); 1.49 + g_signal_connect(item, "activate", G_CALLBACK(add_bookmark_cb), webview); 1.50 + 1.51 + /* Separator */ 1.52 + item = gtk_separator_menu_item_new(); 1.53 + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); 1.54 + 1.55 /* View source mode */ 1.56 - item = gtk_image_menu_item_new_with_label("View source"); 1.57 + item = gtk_image_menu_item_new_with_label("View source mode"); 1.58 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), 1.59 gtk_image_new_from_stock(GTK_STOCK_PROPERTIES, GTK_ICON_SIZE_MENU)); 1.60 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); 1.61 g_signal_connect(item, "activate", G_CALLBACK(view_source_cb), webview); 1.62 1.63 /* Printing */ 1.64 - item = gtk_image_menu_item_new_with_label("Print page"); 1.65 + item = gtk_image_menu_item_new_with_label("Print this page"); 1.66 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), 1.67 gtk_image_new_from_stock(GTK_STOCK_PRINT, GTK_ICON_SIZE_MENU)); 1.68 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); 1.69 @@ -292,7 +319,7 @@ 1.70 /* TazWeb documentation */ 1.71 item = gtk_image_menu_item_new_with_label("TazWeb manual"); 1.72 gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), 1.73 - gtk_image_new_from_stock(GTK_STOCK_INFO, GTK_ICON_SIZE_MENU)); 1.74 + gtk_image_new_from_stock(GTK_STOCK_HELP, GTK_ICON_SIZE_MENU)); 1.75 gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); 1.76 g_signal_connect(item, "activate", G_CALLBACK(tazweb_doc_cb), webview); 1.77