comparison src/conversation.c @ 3866:994b5c4d15dd

[gaim-migrate @ 4018] leave me alone committer: Tailor Script <tailor@pidgin.im>
author Rob Flynn <gaim@robflynn.com>
date Sun, 03 Nov 2002 07:32:07 +0000
parents 0750fbdaf64e
children 43e396e94095
comparison
equal deleted inserted replaced
3865:66b8dcba9751 3866:994b5c4d15dd
2560 } 2560 }
2561 } 2561 }
2562 2562
2563 void convo_switch(GtkNotebook *notebook, GtkWidget *page, gint page_num, gpointer data) 2563 void convo_switch(GtkNotebook *notebook, GtkWidget *page, gint page_num, gpointer data)
2564 { 2564 {
2565 GtkWidget *label = gtk_notebook_get_tab_label(notebook, 2565 GtkWidget *label = NULL;
2566 gtk_notebook_get_nth_page(notebook, page_num));
2567 GtkStyle *style; 2566 GtkStyle *style;
2568 struct conversation *c; 2567 struct conversation *c;
2569 2568
2570 if ((convo_options & OPT_CONVO_COMBINE) && 2569 if ((convo_options & OPT_CONVO_COMBINE) &&
2571 (im_options & OPT_IM_ONE_WINDOW) && 2570 (im_options & OPT_IM_ONE_WINDOW) &&
2579 c = g_list_nth_data(conversations, page_num); 2578 c = g_list_nth_data(conversations, page_num);
2580 else 2579 else
2581 c = g_list_nth_data(chats, page_num); 2580 c = g_list_nth_data(chats, page_num);
2582 if (c && c->window && c->entry) 2581 if (c && c->window && c->entry)
2583 gtk_window_set_focus(GTK_WINDOW(c->window), c->entry); 2582 gtk_window_set_focus(GTK_WINDOW(c->window), c->entry);
2583
2584 label = c->tab_label;
2585
2586 if (!label)
2587 return;
2588
2584 if (!GTK_WIDGET_REALIZED(label)) 2589 if (!GTK_WIDGET_REALIZED(label))
2585 return; 2590 return;
2586 style = gtk_style_new(); 2591 style = gtk_style_new();
2587 gtk_style_set_font(style, gdk_font_ref(gtk_style_get_font(label->style))); 2592 gtk_style_set_font(style, gdk_font_ref(gtk_style_get_font(label->style)));
2588 gtk_widget_set_style(label, style); 2593 gtk_widget_set_style(label, style);
2624 GtkNotebook *notebook = GTK_NOTEBOOK(c->is_chat ? chat_notebook : convo_notebook); 2629 GtkNotebook *notebook = GTK_NOTEBOOK(c->is_chat ? chat_notebook : convo_notebook);
2625 int offs = ((convo_options & OPT_CONVO_COMBINE) && 2630 int offs = ((convo_options & OPT_CONVO_COMBINE) &&
2626 (im_options & OPT_IM_ONE_WINDOW) && c->is_chat) ? 2631 (im_options & OPT_IM_ONE_WINDOW) && c->is_chat) ?
2627 g_list_length(conversations) : 0; 2632 g_list_length(conversations) : 0;
2628 GList *ws = (c->is_chat ? chats : conversations); 2633 GList *ws = (c->is_chat ? chats : conversations);
2629 GtkWidget *label = gtk_notebook_get_tab_label(notebook, 2634 GtkWidget *label = c->tab_label;
2630 gtk_notebook_get_nth_page(notebook,
2631 offs + g_list_index(ws, c)));
2632 style = gtk_style_new(); 2635 style = gtk_style_new();
2633 if (!GTK_WIDGET_REALIZED(label)) 2636 if (!GTK_WIDGET_REALIZED(label))
2634 gtk_widget_realize(label); 2637 gtk_widget_realize(label);
2635 gtk_style_set_font(style, gdk_font_ref(gtk_style_get_font(label->style))); 2638 gtk_style_set_font(style, gdk_font_ref(gtk_style_get_font(label->style)));
2636 if(c->typing_state == TYPING) { 2639 if(c->typing_state == TYPING) {
2720 GtkWidget *add; 2723 GtkWidget *add;
2721 GtkWidget *toolbar; 2724 GtkWidget *toolbar;
2722 GtkWidget *hbox; 2725 GtkWidget *hbox;
2723 GtkWidget *label; 2726 GtkWidget *label;
2724 GtkWidget *menubar; 2727 GtkWidget *menubar;
2728 GtkWidget *tabby;
2725 2729
2726 c->sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); 2730 c->sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
2727 2731
2728 c->font_dialog = NULL; 2732 c->font_dialog = NULL;
2729 c->fg_color_dialog = NULL; 2733 c->fg_color_dialog = NULL;
2792 win = c->window = all_convos; 2796 win = c->window = all_convos;
2793 2797
2794 cont = gtk_vbox_new(FALSE, 5); 2798 cont = gtk_vbox_new(FALSE, 5);
2795 gtk_container_set_border_width(GTK_CONTAINER(cont), 5); 2799 gtk_container_set_border_width(GTK_CONTAINER(cont), 5);
2796 /* this doesn't matter since we're resetting the name once we're out of the if */ 2800 /* this doesn't matter since we're resetting the name once we're out of the if */
2797 gtk_notebook_insert_page(GTK_NOTEBOOK(convo_notebook), cont, gtk_label_new(c->name), 2801 /* gtk_notebook_insert_page(GTK_NOTEBOOK(convo_notebook), cont, gtk_label_new(c->name),*/
2802 tabby = gtk_hbox_new(FALSE, 0);
2803 c->close = gtk_button_new();
2804 gtk_container_add(GTK_CONTAINER(c->close), gtk_image_new_from_stock(GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU));
2805 gtk_button_set_relief(GTK_BUTTON(c->close), GTK_RELIEF_NONE);
2806 c->tab_label = gtk_label_new(c->name);
2807
2808 gtk_signal_connect(GTK_OBJECT(c->close), "clicked", GTK_SIGNAL_FUNC(close_callback), c);
2809
2810 gtk_box_pack_start(GTK_BOX(tabby), c->close, FALSE, FALSE, 0);
2811 gtk_box_pack_start(GTK_BOX(tabby), c->tab_label, FALSE, FALSE, 0);
2812 gtk_widget_show_all(tabby);
2813 gtk_notebook_insert_page(GTK_NOTEBOOK(convo_notebook), cont, tabby,
2798 g_list_index(conversations, c)); 2814 g_list_index(conversations, c));
2799 gtk_widget_show(cont); 2815 gtk_widget_show(cont);
2800 } else { 2816 } else {
2801 cont = win = gtk_window_new(GTK_WINDOW_TOPLEVEL); 2817 cont = win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
2802 c->window = win; 2818 c->window = win;
3253 text = c->name; 3269 text = c->name;
3254 3270
3255 if (im_options & OPT_IM_ONE_WINDOW) { 3271 if (im_options & OPT_IM_ONE_WINDOW) {
3256 nb = GTK_NOTEBOOK(convo_notebook); 3272 nb = GTK_NOTEBOOK(convo_notebook);
3257 index = g_list_index(conversations, c); 3273 index = g_list_index(conversations, c);
3258 gtk_notebook_set_tab_label_text(nb, gtk_notebook_get_nth_page(nb, index), text); 3274 gtk_label_set_text(GTK_LABEL(c->tab_label), text);
3259 } else { 3275 } else {
3260 char buf[256]; 3276 char buf[256];
3261 if ((find_log_info(c->name)) || (c->is_chat && (logging_options & OPT_LOG_CHATS)) 3277 if ((find_log_info(c->name)) || (c->is_chat && (logging_options & OPT_LOG_CHATS))
3262 || (!c->is_chat && (logging_options & OPT_LOG_CONVOS))) 3278 || (!c->is_chat && (logging_options & OPT_LOG_CONVOS)))
3263 g_snprintf(buf, sizeof(buf), LOG_CONVERSATION_TITLE, text); 3279 g_snprintf(buf, sizeof(buf), LOG_CONVERSATION_TITLE, text);