tazweb diff src/main.c @ rev 52
Add a search entry in toolbar and use home.html for personnal page (keep just one button and start page to slitaz webhome)
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Thu Apr 21 21:09:24 2011 +0200 (2011-04-21) |
parents | 6f282db96e72 |
children | fae074afef9e |
line diff
1.1 --- a/src/main.c Thu Apr 21 19:43:42 2011 +0200 1.2 +++ b/src/main.c Thu Apr 21 21:09:24 2011 +0200 1.3 @@ -14,10 +14,12 @@ 1.4 static GtkWidget* main_window; 1.5 static WebKitWebView* web_view; 1.6 static GtkWidget* uri_entry; 1.7 +static GtkWidget* search_entry; 1.8 static gchar* main_title; 1.9 static gdouble load_progress; 1.10 static guint status_context_id; 1.11 -const char* config; 1.12 +const gchar* config; 1.13 +const gchar* uri; 1.14 1.15 /* Create an icon */ 1.16 static GdkPixbuf* 1.17 @@ -33,7 +35,7 @@ 1.18 get_config () 1.19 { 1.20 config = g_strdup_printf ("%s/.config/tazweb", g_get_home_dir ()); 1.21 - if (!g_file_test(config, G_FILE_TEST_EXISTS)) { 1.22 + if (! g_file_test(config, G_FILE_TEST_EXISTS)) { 1.23 g_mkdir (config, 0700); 1.24 system ("cp /usr/share/tazweb/* $HOME/.config/tazweb"); 1.25 } 1.26 @@ -74,47 +76,48 @@ 1.27 { 1.28 if (webkit_web_view_get_load_status (web_view) == WEBKIT_LOAD_COMMITTED) { 1.29 WebKitWebFrame* frame = webkit_web_view_get_main_frame (web_view); 1.30 - const gchar* uri = webkit_web_frame_get_uri (frame); 1.31 + uri = webkit_web_frame_get_uri (frame); 1.32 if (uri) 1.33 gtk_entry_set_text (GTK_ENTRY (uri_entry), uri); 1.34 } 1.35 } 1.36 1.37 -/* URL entry callback function */ 1.38 -static void 1.39 -activate_uri_entry_cb (GtkWidget* entry, gpointer data) 1.40 -{ 1.41 - const gchar* uri = gtk_entry_get_text (GTK_ENTRY (entry)); 1.42 - g_assert (uri); 1.43 - webkit_web_view_load_uri (web_view, uri); 1.44 -} 1.45 - 1.46 static void 1.47 destroy_cb (GtkWidget* widget, gpointer data) 1.48 { 1.49 gtk_main_quit (); 1.50 } 1.51 1.52 -/* Home button function */ 1.53 +/* URL entry callback function */ 1.54 static void 1.55 -go_home_cb (GtkWidget* widget, gpointer data) 1.56 +activate_uri_entry_cb (GtkWidget* entry, gpointer data) 1.57 { 1.58 - const gchar* uri = ("file:///usr/share/webhome/index.html"); 1.59 + uri = gtk_entry_get_text (GTK_ENTRY (entry)); 1.60 g_assert (uri); 1.61 webkit_web_view_load_uri (web_view, uri); 1.62 } 1.63 1.64 -/* My page button function */ 1.65 +/* Search entry callback function */ 1.66 static void 1.67 -my_page_cb (GtkWidget* widget, gpointer data) 1.68 +activate_search_entry_cb (GtkWidget* entry, gpointer data) 1.69 { 1.70 - const gchar* uri = g_strdup_printf ("file://%s/.config/tazweb/page.html", 1.71 + uri = g_strdup_printf ("http://www.google.com/search?q=%s", 1.72 + gtk_entry_get_text (GTK_ENTRY (entry))); 1.73 + g_assert (uri); 1.74 + webkit_web_view_load_uri (web_view, uri); 1.75 +} 1.76 + 1.77 +/* Home button callback function */ 1.78 +static void 1.79 +go_home_cb (GtkWidget* widget, gpointer data) 1.80 +{ 1.81 + uri = g_strdup_printf ("file://%s/.config/tazweb/home.html", 1.82 g_get_home_dir ()); 1.83 g_assert (uri); 1.84 webkit_web_view_load_uri (web_view, uri); 1.85 } 1.86 1.87 -/* Fullscreen and unfullscreen function */ 1.88 +/* Fullscreen and unfullscreen callback function */ 1.89 static void 1.90 fullscreen_cb (GtkWindow* window, gpointer data) 1.91 { 1.92 @@ -127,11 +130,11 @@ 1.93 gtk_window_fullscreen (GTK_WINDOW (main_window)); 1.94 } 1.95 1.96 -/* TazWeb doc function */ 1.97 +/* TazWeb doc callback function */ 1.98 static void 1.99 tazweb_doc_cb (GtkWidget* widget, gpointer data) 1.100 { 1.101 - const gchar* uri = ("file:///usr/share/doc/tazweb/tazweb.html"); 1.102 + uri = ("file:///usr/share/doc/tazweb/tazweb.html"); 1.103 g_assert (uri); 1.104 webkit_web_view_load_uri (web_view, uri); 1.105 } 1.106 @@ -141,7 +144,7 @@ 1.107 download_requested_cb (WebKitWebView *web_view, WebKitDownload *download, 1.108 gpointer user_data) 1.109 { 1.110 - const gchar* uri = webkit_download_get_uri (download); 1.111 + uri = webkit_download_get_uri (download); 1.112 gchar *buffer; 1.113 asprintf (&buffer, "tazbox dl-out %s", uri); 1.114 system (buffer); 1.115 @@ -187,12 +190,6 @@ 1.116 G_CALLBACK (go_home_cb), NULL); 1.117 gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); 1.118 1.119 - /* The personal page button */ 1.120 - item = gtk_tool_button_new_from_stock (GTK_STOCK_PREFERENCES); 1.121 - g_signal_connect (G_OBJECT (item), "clicked", 1.122 - G_CALLBACK (my_page_cb), NULL); 1.123 - gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); 1.124 - 1.125 /* The URL entry */ 1.126 item = gtk_tool_item_new (); 1.127 gtk_tool_item_set_expand (item, TRUE); 1.128 @@ -201,6 +198,14 @@ 1.129 g_signal_connect (G_OBJECT (uri_entry), "activate", 1.130 G_CALLBACK (activate_uri_entry_cb), NULL); 1.131 gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); 1.132 + 1.133 + /* The Search entry */ 1.134 + item = gtk_tool_item_new (); 1.135 + search_entry = gtk_entry_new (); 1.136 + gtk_container_add (GTK_CONTAINER (item), search_entry); 1.137 + g_signal_connect (G_OBJECT (search_entry), "activate", 1.138 + G_CALLBACK (activate_search_entry_cb), NULL); 1.139 + gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); 1.140 1.141 /* The TazWeb doc button */ 1.142 item = gtk_tool_button_new_from_stock (GTK_STOCK_INFO); 1.143 @@ -248,8 +253,8 @@ 1.144 main_window = create_window (); 1.145 gtk_container_add (GTK_CONTAINER (main_window), vbox); 1.146 1.147 - /* Home page url or file */ 1.148 - gchar* uri = (gchar*) (argc > 1 ? argv[1] : 1.149 + /* Start page url or file */ 1.150 + uri = (gchar*) (argc > 1 ? argv[1] : 1.151 "file:///usr/share/webhome/index.html"); 1.152 webkit_web_view_load_uri (web_view, uri); 1.153