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