Mercurial > pidgin.yaz
comparison gtk/gtkblist.c @ 15025:36cfa2e714b7
[gaim-migrate @ 17806]
Helpful message in the blank buddy list as suggested by Mark. This is definitely filler text right now. I also wrote a 'kiosk mode' page which maybe I'll play with later, but now it's #if 0'ed out
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Wed, 22 Nov 2006 08:00:42 +0000 |
parents | ff4514c11cbc |
children | b9d24ed4cfce |
comparison
equal
deleted
inserted
replaced
15024:dd4160b36f80 | 15025:36cfa2e714b7 |
---|---|
3728 static void account_modified(GaimAccount *account, GaimGtkBuddyList *gtkblist) | 3728 static void account_modified(GaimAccount *account, GaimGtkBuddyList *gtkblist) |
3729 { | 3729 { |
3730 if (!gtkblist) | 3730 if (!gtkblist) |
3731 return; | 3731 return; |
3732 | 3732 |
3733 if (gaim_accounts_get_all_active()) | |
3734 gtk_notebook_set_current_page(GTK_NOTEBOOK(gtkblist->notebook), 1); | |
3735 else | |
3736 gtk_notebook_set_current_page(GTK_NOTEBOOK(gtkblist->notebook), 0); | |
3737 | |
3733 update_menu_bar(gtkblist); | 3738 update_menu_bar(gtkblist); |
3734 } | 3739 } |
3735 | 3740 |
3736 static void | 3741 static void |
3737 account_status_changed(GaimAccount *account, GaimStatus *old, | 3742 account_status_changed(GaimAccount *account, GaimStatus *old, |
3875 /* Add new error buttons */ | 3880 /* Add new error buttons */ |
3876 g_hash_table_foreach(gtkblist->connection_errors, | 3881 g_hash_table_foreach(gtkblist->connection_errors, |
3877 create_connection_error_buttons, NULL); | 3882 create_connection_error_buttons, NULL); |
3878 } | 3883 } |
3879 | 3884 |
3885 | |
3880 /******************************************/ | 3886 /******************************************/ |
3881 /* End of connection error handling stuff */ | 3887 /* End of connection error handling stuff */ |
3882 /******************************************/ | 3888 /******************************************/ |
3889 | |
3890 #if 0 | |
3891 static GtkWidget * | |
3892 kiosk_page() | |
3893 { | |
3894 GtkWidget *ret = gtk_vbox_new(FALSE, GAIM_HIG_BOX_SPACE); | |
3895 GtkWidget *label; | |
3896 GtkWidget *entry; | |
3897 GtkWidget *bbox; | |
3898 GtkWidget *button; | |
3899 | |
3900 label = gtk_label_new(NULL); | |
3901 gtk_box_pack_start(GTK_BOX(ret), label, TRUE, TRUE, 0); | |
3902 | |
3903 label = gtk_label_new(NULL); | |
3904 gtk_label_set_markup(GTK_LABEL(label), _("<b>Username:</b>")); | |
3905 gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); | |
3906 gtk_box_pack_start(GTK_BOX(ret), label, FALSE, FALSE, 0); | |
3907 entry = gtk_entry_new(); | |
3908 gtk_box_pack_start(GTK_BOX(ret), entry, FALSE, FALSE, 0); | |
3909 | |
3910 label = gtk_label_new(NULL); | |
3911 gtk_label_set_markup(GTK_LABEL(label), _("<b>Password:</b>")); | |
3912 gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); | |
3913 gtk_box_pack_start(GTK_BOX(ret), label, FALSE, FALSE, 0); | |
3914 entry = gtk_entry_new(); | |
3915 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); | |
3916 gtk_box_pack_start(GTK_BOX(ret), entry, FALSE, FALSE, 0); | |
3917 | |
3918 label = gtk_label_new(" "); | |
3919 gtk_box_pack_start(GTK_BOX(ret), label, FALSE, FALSE, 0); | |
3920 | |
3921 bbox = gtk_hbutton_box_new(); | |
3922 button = gtk_button_new_with_mnemonic(_("_Login")); | |
3923 gtk_box_pack_start(GTK_BOX(ret), bbox, FALSE, FALSE, 0); | |
3924 gtk_container_add(GTK_CONTAINER(bbox), button); | |
3925 | |
3926 | |
3927 label = gtk_label_new(NULL); | |
3928 gtk_box_pack_start(GTK_BOX(ret), label, TRUE, TRUE, 0); | |
3929 | |
3930 gtk_container_set_border_width(GTK_CONTAINER(ret), GAIM_HIG_BORDER); | |
3931 | |
3932 gtk_widget_show_all(ret); | |
3933 return ret; | |
3934 } | |
3935 #endif | |
3883 | 3936 |
3884 static void gaim_gtk_blist_show(GaimBuddyList *list) | 3937 static void gaim_gtk_blist_show(GaimBuddyList *list) |
3885 { | 3938 { |
3886 void *handle; | 3939 void *handle; |
3887 GtkCellRenderer *rend; | 3940 GtkCellRenderer *rend; |
3888 GtkTreeViewColumn *column; | 3941 GtkTreeViewColumn *column; |
3889 GtkWidget *menu; | 3942 GtkWidget *menu; |
3890 GtkWidget *sw; | 3943 GtkWidget *sw; |
3891 GtkWidget *sep; | 3944 GtkWidget *sep; |
3945 GtkWidget *label; | |
3946 char *pretty; | |
3892 GtkAccelGroup *accel_group; | 3947 GtkAccelGroup *accel_group; |
3893 GtkTreeSelection *selection; | 3948 GtkTreeSelection *selection; |
3894 GtkTargetEntry dte[] = {{"GAIM_BLIST_NODE", GTK_TARGET_SAME_APP, DRAG_ROW}, | 3949 GtkTargetEntry dte[] = {{"GAIM_BLIST_NODE", GTK_TARGET_SAME_APP, DRAG_ROW}, |
3895 {"application/x-im-contact", 0, DRAG_BUDDY}, | 3950 {"application/x-im-contact", 0, DRAG_BUDDY}, |
3896 {"text/x-vcard", 0, DRAG_VCARD }, | 3951 {"text/x-vcard", 0, DRAG_VCARD }, |
3909 gtkblist->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); | 3964 gtkblist->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
3910 gtk_window_set_role(GTK_WINDOW(gtkblist->window), "buddy_list"); | 3965 gtk_window_set_role(GTK_WINDOW(gtkblist->window), "buddy_list"); |
3911 gtk_window_set_title(GTK_WINDOW(gtkblist->window), _("Buddy List")); | 3966 gtk_window_set_title(GTK_WINDOW(gtkblist->window), _("Buddy List")); |
3912 GTK_WINDOW(gtkblist->window)->allow_shrink = TRUE; | 3967 GTK_WINDOW(gtkblist->window)->allow_shrink = TRUE; |
3913 | 3968 |
3914 gtkblist->vbox = gtk_vbox_new(FALSE, 0); | 3969 gtkblist->main_vbox = gtk_vbox_new(FALSE, 0); |
3915 gtk_widget_show(gtkblist->vbox); | 3970 gtk_widget_show(gtkblist->main_vbox); |
3916 gtk_container_add(GTK_CONTAINER(gtkblist->window), gtkblist->vbox); | 3971 gtk_container_add(GTK_CONTAINER(gtkblist->window), gtkblist->main_vbox); |
3917 | 3972 |
3918 g_signal_connect(G_OBJECT(gtkblist->window), "delete_event", G_CALLBACK(gtk_blist_delete_cb), NULL); | 3973 g_signal_connect(G_OBJECT(gtkblist->window), "delete_event", G_CALLBACK(gtk_blist_delete_cb), NULL); |
3919 g_signal_connect(G_OBJECT(gtkblist->window), "configure_event", G_CALLBACK(gtk_blist_configure_cb), NULL); | 3974 g_signal_connect(G_OBJECT(gtkblist->window), "configure_event", G_CALLBACK(gtk_blist_configure_cb), NULL); |
3920 g_signal_connect(G_OBJECT(gtkblist->window), "visibility_notify_event", G_CALLBACK(gtk_blist_visibility_cb), NULL); | 3975 g_signal_connect(G_OBJECT(gtkblist->window), "visibility_notify_event", G_CALLBACK(gtk_blist_visibility_cb), NULL); |
3921 g_signal_connect(G_OBJECT(gtkblist->window), "window_state_event", G_CALLBACK(gtk_blist_window_state_cb), NULL); | 3976 g_signal_connect(G_OBJECT(gtkblist->window), "window_state_event", G_CALLBACK(gtk_blist_window_state_cb), NULL); |
3938 menu = gtk_item_factory_get_widget(gtkblist->ift, "<GaimMain>"); | 3993 menu = gtk_item_factory_get_widget(gtkblist->ift, "<GaimMain>"); |
3939 gtkblist->menutray = gaim_gtk_menu_tray_new(); | 3994 gtkblist->menutray = gaim_gtk_menu_tray_new(); |
3940 gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtkblist->menutray); | 3995 gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtkblist->menutray); |
3941 gtk_widget_show(gtkblist->menutray); | 3996 gtk_widget_show(gtkblist->menutray); |
3942 gtk_widget_show(menu); | 3997 gtk_widget_show(menu); |
3943 gtk_box_pack_start(GTK_BOX(gtkblist->vbox), menu, FALSE, FALSE, 0); | 3998 gtk_box_pack_start(GTK_BOX(gtkblist->main_vbox), menu, FALSE, FALSE, 0); |
3944 | 3999 |
3945 accountmenu = gtk_item_factory_get_widget(gtkblist->ift, N_("/Accounts")); | 4000 accountmenu = gtk_item_factory_get_widget(gtkblist->ift, N_("/Accounts")); |
4001 | |
4002 | |
4003 /****************************** Notebook *************************************/ | |
4004 gtkblist->notebook = gtk_notebook_new(); | |
4005 gtk_notebook_set_show_tabs(GTK_NOTEBOOK(gtkblist->notebook), FALSE); | |
4006 gtk_notebook_set_show_border(GTK_NOTEBOOK(gtkblist->notebook), FALSE); | |
4007 gtk_box_pack_start(GTK_BOX(gtkblist->main_vbox), gtkblist->notebook, TRUE, TRUE, 0); | |
4008 | |
4009 #if 0 | |
4010 gtk_notebook_append_page(GTK_NOTEBOOK(gtkblist->notebook), kiosk_page(), NULL); | |
4011 #endif | |
4012 | |
4013 /* Translators: Please maintain the use of -> and <- to refer to menu heirarchy */ | |
4014 pretty = gaim_gtk_make_pretty_arrows(_("<span weight='bold' size='larger'>Welcome to Gaim!</span>\n\n" | |
4015 | |
4016 "You have no accounts enabled. Enable your IM accounts from the " | |
4017 "<b>Accounts</b> window at <b>Accounts->Add/Edit</b>. Once you " | |
4018 "enable accounts, you'll be able to sign on, set your status, " | |
4019 "and talk to your friends.")); | |
4020 label = gtk_label_new(NULL); | |
4021 gtk_widget_set_size_request(label, gaim_prefs_get_int("/gaim/gtk/blist/width") - 12, -1); | |
4022 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
4023 gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0.2); | |
4024 gtk_label_set_markup(GTK_LABEL(label), pretty); | |
4025 g_free(pretty); | |
4026 gtk_notebook_append_page(GTK_NOTEBOOK(gtkblist->notebook),label, NULL); | |
4027 gtkblist->vbox = gtk_vbox_new(FALSE, 0); | |
4028 gtk_notebook_append_page(GTK_NOTEBOOK(gtkblist->notebook), gtkblist->vbox, NULL); | |
4029 gtk_widget_show_all(gtkblist->notebook); | |
3946 | 4030 |
3947 | 4031 |
3948 /****************************** GtkTreeView **********************************/ | 4032 /****************************** GtkTreeView **********************************/ |
3949 sw = gtk_scrolled_window_new(NULL,NULL); | 4033 sw = gtk_scrolled_window_new(NULL,NULL); |
3950 gtk_widget_show(sw); | 4034 gtk_widget_show(sw); |
5516 gaim_prefs_add_bool("/gaim/gtk/blist/list_visible", TRUE); | 5600 gaim_prefs_add_bool("/gaim/gtk/blist/list_visible", TRUE); |
5517 gaim_prefs_add_bool("/gaim/gtk/blist/list_maximized", FALSE); | 5601 gaim_prefs_add_bool("/gaim/gtk/blist/list_maximized", FALSE); |
5518 gaim_prefs_add_string("/gaim/gtk/blist/sort_type", "alphabetical"); | 5602 gaim_prefs_add_string("/gaim/gtk/blist/sort_type", "alphabetical"); |
5519 gaim_prefs_add_int("/gaim/gtk/blist/x", 0); | 5603 gaim_prefs_add_int("/gaim/gtk/blist/x", 0); |
5520 gaim_prefs_add_int("/gaim/gtk/blist/y", 0); | 5604 gaim_prefs_add_int("/gaim/gtk/blist/y", 0); |
5521 gaim_prefs_add_int("/gaim/gtk/blist/width", 309); /* Golden ratio, baby */ | 5605 gaim_prefs_add_int("/gaim/gtk/blist/width", 250); /* Golden ratio, baby */ |
5522 gaim_prefs_add_int("/gaim/gtk/blist/height", 500); /* Golden ratio, baby */ | 5606 gaim_prefs_add_int("/gaim/gtk/blist/height", 405); /* Golden ratio, baby */ |
5523 gaim_prefs_add_int("/gaim/gtk/blist/tooltip_delay", 500); | 5607 gaim_prefs_add_int("/gaim/gtk/blist/tooltip_delay", 500); |
5524 | 5608 |
5525 /* Register our signals */ | 5609 /* Register our signals */ |
5526 gaim_signal_register(gtk_blist_handle, "gtkblist-hiding", | 5610 gaim_signal_register(gtk_blist_handle, "gtkblist-hiding", |
5527 gaim_marshal_VOID__POINTER, NULL, 1, | 5611 gaim_marshal_VOID__POINTER, NULL, 1, |