tazweb rev 58

Move main window stuff to create_window and use shorter but clear name for some functions
author Christophe Lincoln <pankso@slitaz.org>
date Fri Apr 22 02:26:57 2011 +0200 (2011-04-22)
parents 3621164d6fc9
children 1073112f24ce
files src/main.c
line diff
     1.1 --- a/src/main.c	Fri Apr 22 01:43:51 2011 +0200
     1.2 +++ b/src/main.c	Fri Apr 22 02:26:57 2011 +0200
     1.3 @@ -10,7 +10,7 @@
     1.4  #include <gtk/gtk.h>
     1.5  #include <webkit/webkit.h>
     1.6  
     1.7 -static GtkWidget *main_window, *uri_entry, *search_entry;
     1.8 +static GtkWidget *main_window, *scrolled, *toolbar, *uri_entry, *search_entry;
     1.9  static WebKitWebView* web_view;
    1.10  static WebKitWebFrame* frame;
    1.11  static gdouble load_progress;
    1.12 @@ -103,7 +103,7 @@
    1.13  
    1.14  /* URL entry callback function */
    1.15  static void
    1.16 -activate_uri_entry_cb (GtkWidget* entry, gpointer data)
    1.17 +uri_entry_cb (GtkWidget* entry, gpointer data)
    1.18  {
    1.19  	uri = gtk_entry_get_text (GTK_ENTRY (entry));
    1.20  	g_assert (uri);
    1.21 @@ -112,7 +112,7 @@
    1.22  
    1.23  /* Search entry callback function */
    1.24  static void
    1.25 -activate_search_entry_cb (GtkWidget* entry, gpointer data)
    1.26 +search_entry_cb (GtkWidget* entry, gpointer data)
    1.27  {
    1.28  	uri = g_strdup_printf ("http://www.google.com/search?q=%s",
    1.29  			gtk_entry_get_text (GTK_ENTRY (entry)));
    1.30 @@ -183,15 +183,16 @@
    1.31  	gtk_widget_show_all (GTK_WIDGET (menu));
    1.32  }
    1.33  
    1.34 +/* Scrolled window for the web_view */
    1.35  static GtkWidget*
    1.36  create_browser ()
    1.37  {
    1.38 -	GtkWidget* scrolled_window = gtk_scrolled_window_new (NULL, NULL);
    1.39 -	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
    1.40 +	scrolled = gtk_scrolled_window_new (NULL, NULL);
    1.41 +	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled),
    1.42  			GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
    1.43  
    1.44  	web_view = WEBKIT_WEB_VIEW (webkit_web_view_new ());
    1.45 -	gtk_container_add (GTK_CONTAINER (scrolled_window), GTK_WIDGET (web_view));
    1.46 +	gtk_container_add (GTK_CONTAINER (scrolled), GTK_WIDGET (web_view));
    1.47  
    1.48  	/* Connect events */
    1.49  	g_signal_connect (web_view, "notify::title",
    1.50 @@ -207,7 +208,7 @@
    1.51  	g_object_connect (G_OBJECT (web_view), "signal::populate-popup",
    1.52  		G_CALLBACK (populate_menu_cb), web_view, NULL);
    1.53  
    1.54 -	return scrolled_window;
    1.55 +	return scrolled;
    1.56  }
    1.57  
    1.58  static GtkWidget*
    1.59 @@ -215,7 +216,7 @@
    1.60  {
    1.61  	GtkToolItem* item;
    1.62  
    1.63 -	GtkWidget* toolbar = gtk_toolbar_new ();
    1.64 +	toolbar = gtk_toolbar_new ();
    1.65  	gtk_widget_set_size_request (toolbar, 0, 31);
    1.66  	gtk_toolbar_set_orientation (GTK_TOOLBAR (toolbar),
    1.67  			GTK_ORIENTATION_HORIZONTAL);
    1.68 @@ -234,7 +235,7 @@
    1.69  	uri_entry = gtk_entry_new ();
    1.70  	gtk_container_add (GTK_CONTAINER (item), uri_entry);
    1.71  	g_signal_connect (G_OBJECT (uri_entry), "activate",
    1.72 -					  G_CALLBACK (activate_uri_entry_cb), NULL);
    1.73 +			G_CALLBACK (uri_entry_cb), NULL);
    1.74  	gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);
    1.75  
    1.76  	/* Separator */
    1.77 @@ -246,7 +247,7 @@
    1.78  	search_entry = gtk_entry_new ();
    1.79  	gtk_container_add (GTK_CONTAINER (item), search_entry);
    1.80  	g_signal_connect (G_OBJECT (search_entry), "activate",
    1.81 -					  G_CALLBACK (activate_search_entry_cb), NULL);
    1.82 +			G_CALLBACK (search_entry_cb), NULL);
    1.83  	gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);
    1.84  
    1.85  	/* TazWeb doc button */
    1.86 @@ -264,19 +265,26 @@
    1.87  	return toolbar;
    1.88  }
    1.89  
    1.90 +/* Main window */
    1.91  static GtkWidget*
    1.92  create_window ()
    1.93  {
    1.94  	GtkWidget* window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    1.95 -
    1.96 -	/* Default tazweb window size ratio to 3/4 --> 720, 540*/
    1.97 +	GtkWidget* vbox = gtk_vbox_new (FALSE, 0);
    1.98 +	
    1.99 +	gtk_box_pack_start (GTK_BOX (vbox), create_browser (), TRUE, TRUE, 0);
   1.100 +	gtk_box_pack_start (GTK_BOX (vbox), create_toolbar (), FALSE, FALSE, 0);
   1.101 +	
   1.102 +	/* Default TazWeb window size ratio to 3/4 --> 720, 540*/
   1.103  	gtk_window_set_default_size (GTK_WINDOW (window), 800, 600);
   1.104  	gtk_window_set_icon (GTK_WINDOW (window),
   1.105  			create_pixbuf ("/usr/share/pixmaps/tazweb.png"));
   1.106  	gtk_widget_set_name (window, "TazWeb");
   1.107  	g_signal_connect (window, "destroy", G_CALLBACK (destroy_cb), NULL);
   1.108 +	gtk_container_add (GTK_CONTAINER (window), vbox);
   1.109  
   1.110 -	return window;
   1.111 +	main_window = window;
   1.112 +	gtk_widget_show_all (main_window);
   1.113  }
   1.114  
   1.115  int
   1.116 @@ -287,22 +295,15 @@
   1.117  		g_thread_init (NULL);
   1.118  
   1.119  	get_config ();
   1.120 -
   1.121 -	GtkWidget* vbox = gtk_vbox_new (FALSE, 0);
   1.122 -	gtk_box_pack_start (GTK_BOX (vbox), create_browser (), TRUE, TRUE, 0);
   1.123 -	gtk_box_pack_start (GTK_BOX (vbox), create_toolbar (), FALSE, FALSE, 0);
   1.124 -
   1.125 -	main_window = create_window ();
   1.126 -	gtk_container_add (GTK_CONTAINER (main_window), vbox);
   1.127 -
   1.128 +	create_window ();
   1.129 +	
   1.130  	/* Start page url or file */
   1.131  	uri = (gchar*) (argc > 1 ? argv[1] :
   1.132  			"file:///usr/share/webhome/index.html");
   1.133  	
   1.134  	webkit_web_view_load_uri (web_view, uri);
   1.135  	gtk_widget_grab_focus (GTK_WIDGET (web_view));
   1.136 -	gtk_widget_show_all (main_window);
   1.137 +	
   1.138  	gtk_main ();
   1.139 -
   1.140  	return 0;
   1.141  }