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