Revision 23 src/mainwindow.c

mainwindow.c (revision 23)
1 1
/*
2 2
 * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
3
 * Copyright (C) 1999-2004 Hiroyuki Yamamoto
3
 * Copyright (C) 1999-2005 Hiroyuki Yamamoto
4 4
 *
5 5
 * This program is free software; you can redistribute it and/or modify
6 6
 * it under the terms of the GNU General Public License as published by
......
86 86
{ \
87 87
	gtk_statusbar_push(GTK_STATUSBAR(mainwin->statusbar), \
88 88
			   mainwin->mainwin_cid, str); \
89
	gtkut_widget_wait_for_draw(mainwin->hbox_stat); \
89
	gtkut_widget_wait_for_draw(mainwin->statusbar); \
90 90
}
91 91

  
92 92
#define STATUSBAR_POP(mainwin) \
......
751 751
	GtkWidget *menubar;
752 752
	GtkWidget *handlebox;
753 753
	GtkWidget *vbox_body;
754
	GtkWidget *hbox_stat;
755 754
	GtkWidget *statusbar;
756 755
	GtkWidget *progressbar;
757 756
	GtkWidget *statuslabel;
......
760 759
	GtkWidget *online_pixmap;
761 760
	GtkWidget *offline_pixmap;
762 761
	GtkTooltips *online_tip;
762
	GtkWidget *spacer_hbox;
763 763
	GtkWidget *ac_button;
764 764
	GtkWidget *ac_label;
765 765

  
......
773 773
	GtkItemFactory *ifactory;
774 774
	GtkWidget *ac_menu;
775 775
	GtkWidget *menuitem;
776
	gint w;
777
	gint h;
776 778
	gint i;
777 779

  
778 780
	static GdkGeometry geometry;
......
826 828
	gtk_container_set_border_width(GTK_CONTAINER(vbox_body), BORDER_WIDTH);
827 829
	gtk_box_pack_start(GTK_BOX(vbox), vbox_body, TRUE, TRUE, 0);
828 830

  
829
	hbox_stat = gtk_hbox_new(FALSE, 2);
830
	gtk_box_pack_end(GTK_BOX(vbox_body), hbox_stat, FALSE, FALSE, 0);
831

  
832 831
	statusbar = statusbar_create();
833
	gtk_box_pack_start(GTK_BOX(hbox_stat), statusbar, TRUE, TRUE, 0);
832
	gtk_box_pack_end(GTK_BOX(vbox_body), statusbar, FALSE, FALSE, 0);
834 833

  
835 834
	progressbar = gtk_progress_bar_new();
836 835
	gtk_widget_set_size_request(progressbar, 120, 1);
837
	gtk_box_pack_start(GTK_BOX(hbox_stat), progressbar, FALSE, FALSE, 0);
836
	gtk_box_pack_start(GTK_BOX(statusbar), progressbar, FALSE, FALSE, 0);
838 837

  
839 838
	statuslabel = gtk_label_new("");
840
	gtk_box_pack_start(GTK_BOX(hbox_stat), statuslabel, FALSE, FALSE, 0);
839
	gtk_box_pack_start(GTK_BOX(statusbar), statuslabel, FALSE, FALSE, 0);
841 840

  
842 841
	online_hbox = gtk_hbox_new(FALSE, 0);
843 842

  
844
	online_pixmap = stock_pixmap_widget(hbox_stat, STOCK_PIXMAP_ONLINE);
845
	offline_pixmap = stock_pixmap_widget(hbox_stat, STOCK_PIXMAP_OFFLINE);
843
	online_pixmap = stock_pixmap_widget(statusbar, STOCK_PIXMAP_ONLINE);
844
	offline_pixmap = stock_pixmap_widget(statusbar, STOCK_PIXMAP_OFFLINE);
846 845
	gtk_box_pack_start(GTK_BOX(online_hbox), online_pixmap,
847 846
			   FALSE, FALSE, 0);
848 847
	gtk_box_pack_start(GTK_BOX(online_hbox), offline_pixmap,
......
854 853
	gtk_container_add(GTK_CONTAINER(online_switch), online_hbox);
855 854
	g_signal_connect(G_OBJECT(online_switch), "clicked",
856 855
			 G_CALLBACK(online_switch_clicked), mainwin);
857
	gtk_box_pack_start(GTK_BOX(hbox_stat), online_switch, FALSE, FALSE, 0);
856
	gtk_box_pack_start(GTK_BOX(statusbar), online_switch, FALSE, FALSE, 0);
858 857

  
859 858
	online_tip = gtk_tooltips_new();
860 859

  
860
	spacer_hbox = gtk_hbox_new(FALSE, 0);
861
	gtk_box_pack_end(GTK_BOX(statusbar), spacer_hbox, FALSE, FALSE, 0);
862

  
861 863
	ac_button = gtk_button_new();
862 864
	gtk_button_set_relief(GTK_BUTTON(ac_button), GTK_RELIEF_NONE);
863 865
	GTK_WIDGET_UNSET_FLAGS(ac_button, GTK_CAN_FOCUS);
864 866
	gtk_widget_set_size_request(ac_button, -1, 1);
865
	gtk_box_pack_end(GTK_BOX(hbox_stat), ac_button, FALSE, FALSE, 0);
867
	gtk_box_pack_end(GTK_BOX(statusbar), ac_button, FALSE, FALSE, 0);
866 868
	g_signal_connect(G_OBJECT(ac_button), "button_press_event",
867 869
			 G_CALLBACK(ac_label_button_pressed), mainwin);
868 870

  
869 871
	ac_label = gtk_label_new("");
870 872
	gtk_container_add(GTK_CONTAINER(ac_button), ac_label);
871 873

  
872
	gtk_widget_show_all(hbox_stat);
874
	gtk_widget_show_all(statusbar);
873 875

  
874 876
	/* create views */
875 877
	mainwin->folderview  = folderview  = folderview_create();
......
894 896
	mainwin->menu_factory   = ifactory;
895 897
	mainwin->handlebox      = handlebox;
896 898
	mainwin->vbox_body      = vbox_body;
897
	mainwin->hbox_stat      = hbox_stat;
898 899
	mainwin->statusbar      = statusbar;
899 900
	mainwin->progressbar    = progressbar;
900 901
	mainwin->statuslabel    = statuslabel;
......
972 973
	}
973 974
	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), TRUE);
974 975

  
975
	gtk_widget_hide(mainwin->hbox_stat);
976
	gtk_widget_hide(mainwin->statusbar);
976 977
	menuitem = gtk_item_factory_get_item
977 978
		(ifactory, "/View/Show or hide/Status bar");
978 979
	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem),
......
997 998
	/* show main window */
998 999
	gtk_widget_show(mainwin->window);
999 1000

  
1001
	gdk_drawable_get_size
1002
		(GDK_DRAWABLE(GTK_STATUSBAR(statusbar)->grip_window), &w, &h);
1003
	gtk_widget_set_size_request(spacer_hbox, w, -1);
1004

  
1000 1005
	/* initialize views */
1001 1006
	folderview_init(folderview);
1002 1007
	summary_init(summaryview);
......
2696 2701
				GtkWidget *widget)
2697 2702
{
2698 2703
	if (GTK_CHECK_MENU_ITEM(widget)->active) {
2699
		gtk_widget_show(mainwin->hbox_stat);
2704
		gtk_widget_show(mainwin->statusbar);
2700 2705
		prefs_common.show_statusbar = TRUE;
2701 2706
	} else {
2702
		gtk_widget_hide(mainwin->hbox_stat);
2707
		gtk_widget_hide(mainwin->statusbar);
2703 2708
		prefs_common.show_statusbar = FALSE;
2704 2709
	}
2705 2710
}

Also available in: Unified diff