pidgin/gtkconv.c

branch
soc.2013.gobjectification.plugins
changeset 37109
94d1a2589d5a
parent 37108
73c5fb6d78b3
parent 35528
e04ba70092e9
child 37110
4309235d2a46
equal deleted inserted replaced
37108:73c5fb6d78b3 37109:94d1a2589d5a
956 956
957 gtk_box_set_spacing(GTK_BOX(vbox), PIDGIN_HIG_BORDER); 957 gtk_box_set_spacing(GTK_BOX(vbox), PIDGIN_HIG_BORDER);
958 gtk_container_set_border_width(GTK_CONTAINER(vbox), PIDGIN_HIG_BOX_SPACE); 958 gtk_container_set_border_width(GTK_CONTAINER(vbox), PIDGIN_HIG_BOX_SPACE);
959 959
960 /* Setup the inner hbox and put the dialog's icon in it. */ 960 /* Setup the inner hbox and put the dialog's icon in it. */
961 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BORDER); 961 hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BORDER);
962 gtk_container_add(GTK_CONTAINER(vbox), hbox); 962 gtk_container_add(GTK_CONTAINER(vbox), hbox);
963 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); 963 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
964 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); 964 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
965 965
966 /* Setup the right vbox. */ 966 /* Setup the right vbox. */
967 vbox = gtk_vbox_new(FALSE, 0); 967 vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
968 gtk_container_add(GTK_CONTAINER(hbox), vbox); 968 gtk_container_add(GTK_CONTAINER(hbox), vbox);
969 969
970 /* Put our happy label in it. */ 970 /* Put our happy label in it. */
971 label = gtk_label_new(_("Please enter the name of the user you wish " 971 label = gtk_label_new(_("Please enter the name of the user you wish "
972 "to invite, along with an optional invite " 972 "to invite, along with an optional invite "
975 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 975 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
976 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); 976 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
977 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); 977 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
978 978
979 /* hbox for the table, and to give it some spacing on the left. */ 979 /* hbox for the table, and to give it some spacing on the left. */
980 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); 980 hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE);
981 gtk_container_add(GTK_CONTAINER(vbox), hbox); 981 gtk_container_add(GTK_CONTAINER(vbox), hbox);
982 982
983 /* Setup the table we're going to use to lay stuff out. */ 983 /* Setup the table we're going to use to lay stuff out. */
984 table = gtk_table_new(2, 2, FALSE); 984 table = gtk_table_new(2, 2, FALSE);
985 gtk_table_set_row_spacings(GTK_TABLE(table), PIDGIN_HIG_BOX_SPACE); 985 gtk_table_set_row_spacings(GTK_TABLE(table), PIDGIN_HIG_BOX_SPACE);
4006 menuitem = gtk_radio_menu_item_new_with_label(*group, text); 4006 menuitem = gtk_radio_menu_item_new_with_label(*group, text);
4007 g_free(text); 4007 g_free(text);
4008 *group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(menuitem)); 4008 *group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(menuitem));
4009 4009
4010 /* Do some evil, see some evil, speak some evil. */ 4010 /* Do some evil, see some evil, speak some evil. */
4011 box = gtk_hbox_new(FALSE, 0); 4011 box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
4012 4012
4013 label = gtk_bin_get_child(GTK_BIN(menuitem)); 4013 label = gtk_bin_get_child(GTK_BIN(menuitem));
4014 g_object_ref(label); 4014 g_object_ref(label);
4015 gtk_container_remove(GTK_CONTAINER(menuitem), label); 4015 gtk_container_remove(GTK_CONTAINER(menuitem), label);
4016 4016
5046 if (purple_protocol_get_options(protocol) & OPT_PROTO_CHAT_TOPIC) 5046 if (purple_protocol_get_options(protocol) & OPT_PROTO_CHAT_TOPIC)
5047 { 5047 {
5048 GtkWidget *hbox, *label; 5048 GtkWidget *hbox, *label;
5049 PidginChatPane *gtkchat = gtkconv->u.chat; 5049 PidginChatPane *gtkchat = gtkconv->u.chat;
5050 5050
5051 hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); 5051 hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE);
5052 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); 5052 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
5053 5053
5054 label = gtk_label_new(_("Topic:")); 5054 label = gtk_label_new(_("Topic:"));
5055 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); 5055 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
5056 5056
5111 int ul_width; 5111 int ul_width;
5112 void *blist_handle = purple_blist_get_handle(); 5112 void *blist_handle = purple_blist_get_handle();
5113 PurpleConversation *conv = gtkconv->active_conv; 5113 PurpleConversation *conv = gtkconv->active_conv;
5114 5114
5115 /* Build the right pane. */ 5115 /* Build the right pane. */
5116 lbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); 5116 lbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE);
5117 gtk_paned_pack2(GTK_PANED(hpaned), lbox, FALSE, TRUE); 5117 gtk_paned_pack2(GTK_PANED(hpaned), lbox, FALSE, TRUE);
5118 gtk_widget_show(lbox); 5118 gtk_widget_show(lbox);
5119 5119
5120 /* Setup the label telling how many people are in the room. */ 5120 /* Setup the label telling how many people are in the room. */
5121 gtkchat->count = gtk_label_new(_("0 people in room")); 5121 gtkchat->count = gtk_label_new(_("0 people in room"));
5227 /* Quick Find {{{ */ 5227 /* Quick Find {{{ */
5228 static gboolean 5228 static gboolean
5229 pidgin_conv_end_quickfind(PidginConversation *gtkconv) 5229 pidgin_conv_end_quickfind(PidginConversation *gtkconv)
5230 { 5230 {
5231 #if GTK_CHECK_VERSION(3,0,0) 5231 #if GTK_CHECK_VERSION(3,0,0)
5232 gtk_widget_override_background_color(gtkconv->quickfind_entry, GTK_STATE_FLAG_NORMAL, NULL); 5232 GtkStyleContext *context = gtk_widget_get_style_context(gtkconv->quickfind_entry);
5233 gtk_style_context_remove_class(context, "not-found");
5233 #else 5234 #else
5234 gtk_widget_modify_base(gtkconv->quickfind_entry, GTK_STATE_NORMAL, NULL); 5235 gtk_widget_modify_base(gtkconv->quickfind_entry, GTK_STATE_NORMAL, NULL);
5235 #endif 5236 #endif
5236 5237
5237 webkit_web_view_unmark_text_matches(WEBKIT_WEB_VIEW(gtkconv->webview)); 5238 webkit_web_view_unmark_text_matches(WEBKIT_WEB_VIEW(gtkconv->webview));
5247 switch (event->keyval) { 5248 switch (event->keyval) {
5248 case GDK_KEY_Return: 5249 case GDK_KEY_Return:
5249 case GDK_KEY_KP_Enter: 5250 case GDK_KEY_KP_Enter:
5250 if (webkit_web_view_search_text(WEBKIT_WEB_VIEW(gtkconv->webview), gtk_entry_get_text(GTK_ENTRY(entry)), FALSE, TRUE, TRUE)) { 5251 if (webkit_web_view_search_text(WEBKIT_WEB_VIEW(gtkconv->webview), gtk_entry_get_text(GTK_ENTRY(entry)), FALSE, TRUE, TRUE)) {
5251 #if GTK_CHECK_VERSION(3,0,0) 5252 #if GTK_CHECK_VERSION(3,0,0)
5252 gtk_widget_override_background_color(gtkconv->quickfind_entry, GTK_STATE_FLAG_NORMAL, NULL); 5253 GtkStyleContext *context = gtk_widget_get_style_context(gtkconv->quickfind_entry);
5254 gtk_style_context_remove_class(context, "not-found");
5253 #else 5255 #else
5254 gtk_widget_modify_base(gtkconv->quickfind_entry, GTK_STATE_NORMAL, NULL); 5256 gtk_widget_modify_base(gtkconv->quickfind_entry, GTK_STATE_NORMAL, NULL);
5255 #endif 5257 #endif
5256 } else { 5258 } else {
5257 #if GTK_CHECK_VERSION(3,0,0) 5259 #if GTK_CHECK_VERSION(3,0,0)
5258 GdkRGBA col; 5260 GtkStyleContext *context = gtk_widget_get_style_context(gtkconv->quickfind_entry);
5259 col.red = 1.0; 5261 gtk_style_context_add_class(context, "not-found");
5260 col.green = 0xafff/(double)0xffff;
5261 col.blue = 0xafff/(double)0xffff;
5262 col.alpha = 1.0;
5263 gtk_widget_override_background_color(gtkconv->quickfind_entry, GTK_STATE_FLAG_NORMAL, &col);
5264 #else 5262 #else
5265 GdkColor col; 5263 GdkColor col;
5266 col.red = 0xffff; 5264 col.red = 0xffff;
5267 col.green = 0xafff; 5265 col.green = 0xafff;
5268 col.blue = 0xafff; 5266 col.blue = 0xafff;
5280 } 5278 }
5281 5279
5282 static void 5280 static void
5283 pidgin_conv_setup_quickfind(PidginConversation *gtkconv, GtkWidget *container) 5281 pidgin_conv_setup_quickfind(PidginConversation *gtkconv, GtkWidget *container)
5284 { 5282 {
5285 GtkWidget *widget = gtk_hbox_new(FALSE, 0); 5283 GtkWidget *widget = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
5286 GtkWidget *label, *entry, *close; 5284 GtkWidget *label, *entry, *close;
5285 #if GTK_CHECK_VERSION(3,0,0)
5286 GtkStyleContext *context;
5287 GtkCssProvider *filter_css;
5288 const gchar filter_style[] =
5289 ".not-found {"
5290 "color: @error_fg_color;"
5291 "text-shadow: 0 1px @error_text_shadow;"
5292 "background-image: none;"
5293 "background-color: @error_bg_color;"
5294 "}";
5295 #endif
5287 5296
5288 gtk_box_pack_start(GTK_BOX(container), widget, FALSE, FALSE, 0); 5297 gtk_box_pack_start(GTK_BOX(container), widget, FALSE, FALSE, 0);
5289 5298
5290 close = pidgin_create_small_button(gtk_label_new("×")); 5299 close = pidgin_create_small_button(gtk_label_new("×"));
5291 gtk_box_pack_start(GTK_BOX(widget), close, FALSE, FALSE, 0); 5300 gtk_box_pack_start(GTK_BOX(widget), close, FALSE, FALSE, 0);
5294 label = gtk_label_new(_("Find:")); 5303 label = gtk_label_new(_("Find:"));
5295 gtk_box_pack_start(GTK_BOX(widget), label, FALSE, FALSE, 10); 5304 gtk_box_pack_start(GTK_BOX(widget), label, FALSE, FALSE, 10);
5296 5305
5297 entry = gtk_entry_new(); 5306 entry = gtk_entry_new();
5298 gtk_box_pack_start(GTK_BOX(widget), entry, TRUE, TRUE, 0); 5307 gtk_box_pack_start(GTK_BOX(widget), entry, TRUE, TRUE, 0);
5308 #if GTK_CHECK_VERSION(3,0,0)
5309 filter_css = gtk_css_provider_new();
5310 gtk_css_provider_load_from_data(filter_css, filter_style, -1, NULL);
5311 context = gtk_widget_get_style_context(entry);
5312 gtk_style_context_add_provider(context,
5313 GTK_STYLE_PROVIDER(filter_css),
5314 GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
5315 #endif
5299 5316
5300 gtkconv->quickfind_entry = entry; 5317 gtkconv->quickfind_entry = entry;
5301 gtkconv->quickfind_container = widget; 5318 gtkconv->quickfind_container = widget;
5302 5319
5303 /* Hook to signals and stuff */ 5320 /* Hook to signals and stuff */
5553 PurpleBuddy *buddy; 5570 PurpleBuddy *buddy;
5554 gboolean chat = PURPLE_IS_CHAT_CONVERSATION(conv); 5571 gboolean chat = PURPLE_IS_CHAT_CONVERSATION(conv);
5555 int buddyicon_size = 0; 5572 int buddyicon_size = 0;
5556 5573
5557 /* Setup the top part of the pane */ 5574 /* Setup the top part of the pane */
5558 vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); 5575 vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE);
5559 gtk_widget_show(vbox); 5576 gtk_widget_show(vbox);
5560 5577
5561 /* Setup the info pane */ 5578 /* Setup the info pane */
5562 event_box = gtk_event_box_new(); 5579 event_box = gtk_event_box_new();
5563 gtk_event_box_set_visible_window(GTK_EVENT_BOX(event_box), FALSE); 5580 gtk_event_box_set_visible_window(GTK_EVENT_BOX(event_box), FALSE);
5564 gtk_widget_show(event_box); 5581 gtk_widget_show(event_box);
5565 gtkconv->infopane_hbox = gtk_hbox_new(FALSE, 0); 5582 gtkconv->infopane_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
5566 gtk_box_pack_start(GTK_BOX(vbox), event_box, FALSE, FALSE, 0); 5583 gtk_box_pack_start(GTK_BOX(vbox), event_box, FALSE, FALSE, 0);
5567 gtk_container_add(GTK_CONTAINER(event_box), gtkconv->infopane_hbox); 5584 gtk_container_add(GTK_CONTAINER(event_box), gtkconv->infopane_hbox);
5568 gtk_widget_show(gtkconv->infopane_hbox); 5585 gtk_widget_show(gtkconv->infopane_hbox);
5569 gtk_widget_add_events(event_box, 5586 gtk_widget_add_events(event_box,
5570 GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK); 5587 GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK);
5590 sized for chat windows. The correct fix is to put an icon in the chat 5607 sized for chat windows. The correct fix is to put an icon in the chat
5591 window as well, because that would make "Set Custom Icon" consistent 5608 window as well, because that would make "Set Custom Icon" consistent
5592 for both the buddy list and the chat window, but PidginConversation 5609 for both the buddy list and the chat window, but PidginConversation
5593 is pretty much stuck until 3.0. */ 5610 is pretty much stuck until 3.0. */
5594 GtkWidget *sizing_vbox; 5611 GtkWidget *sizing_vbox;
5595 sizing_vbox = gtk_vbox_new(FALSE, 0); 5612 sizing_vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
5596 gtk_widget_set_size_request(sizing_vbox, -1, BUDDYICON_SIZE_MIN); 5613 gtk_widget_set_size_request(sizing_vbox, -1, BUDDYICON_SIZE_MIN);
5597 gtk_box_pack_start(GTK_BOX(gtkconv->infopane_hbox), sizing_vbox, FALSE, FALSE, 0); 5614 gtk_box_pack_start(GTK_BOX(gtkconv->infopane_hbox), sizing_vbox, FALSE, FALSE, 0);
5598 gtk_widget_show(sizing_vbox); 5615 gtk_widget_show(sizing_vbox);
5599 } 5616 }
5600 else { 5617 else {
5601 gtkconv->u.im->icon_container = gtk_vbox_new(FALSE, 0); 5618 gtkconv->u.im->icon_container = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
5602 5619
5603 if ((buddy = purple_blist_find_buddy(purple_conversation_get_account(conv), 5620 if ((buddy = purple_blist_find_buddy(purple_conversation_get_account(conv),
5604 purple_conversation_get_name(conv))) != NULL) { 5621 purple_conversation_get_name(conv))) != NULL) {
5605 PurpleContact *contact = purple_buddy_get_contact(buddy); 5622 PurpleContact *contact = purple_buddy_get_contact(buddy);
5606 if (contact) { 5623 if (contact) {
5653 5670
5654 /* Add the topic */ 5671 /* Add the topic */
5655 setup_chat_topic(gtkconv, vbox); 5672 setup_chat_topic(gtkconv, vbox);
5656 5673
5657 /* Add the gtkwebview frame */ 5674 /* Add the gtkwebview frame */
5658 hpaned = gtk_hpaned_new(); 5675 hpaned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL);
5659 gtk_box_pack_start(GTK_BOX(vbox), hpaned, TRUE, TRUE, 0); 5676 gtk_box_pack_start(GTK_BOX(vbox), hpaned, TRUE, TRUE, 0);
5660 gtk_widget_show(hpaned); 5677 gtk_widget_show(hpaned);
5661 gtk_paned_pack1(GTK_PANED(hpaned), frame, TRUE, TRUE); 5678 gtk_paned_pack1(GTK_PANED(hpaned), frame, TRUE, TRUE);
5662 5679
5663 /* Now add the userlist */ 5680 /* Now add the userlist */
5677 g_signal_connect(G_OBJECT(gtkconv->webview), "key_release_event", 5694 g_signal_connect(G_OBJECT(gtkconv->webview), "key_release_event",
5678 G_CALLBACK(refocus_entry_cb), gtkconv); 5695 G_CALLBACK(refocus_entry_cb), gtkconv);
5679 5696
5680 pidgin_conv_setup_quickfind(gtkconv, vbox); 5697 pidgin_conv_setup_quickfind(gtkconv, vbox);
5681 5698
5682 gtkconv->lower_hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); 5699 gtkconv->lower_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE);
5683 gtk_box_pack_start(GTK_BOX(vbox), gtkconv->lower_hbox, FALSE, FALSE, 0); 5700 gtk_box_pack_start(GTK_BOX(vbox), gtkconv->lower_hbox, FALSE, FALSE, 0);
5684 gtk_widget_show(gtkconv->lower_hbox); 5701 gtk_widget_show(gtkconv->lower_hbox);
5685 5702
5686 /* Setup the entry widget and all signals */ 5703 /* Setup the entry widget and all signals */
5687 frame = pidgin_create_webview(TRUE, &gtkconv->entry, NULL); 5704 frame = pidgin_create_webview(TRUE, &gtkconv->entry, NULL);
6042 #endif 6059 #endif
6043 6060
6044 g_signal_connect(gtkconv->webview, "style-set", G_CALLBACK(set_typing_font), gtkconv); 6061 g_signal_connect(gtkconv->webview, "style-set", G_CALLBACK(set_typing_font), gtkconv);
6045 6062
6046 /* Setup the container for the tab. */ 6063 /* Setup the container for the tab. */
6047 gtkconv->tab_cont = tab_cont = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); 6064 gtkconv->tab_cont = tab_cont = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE);
6048 g_object_set_data(G_OBJECT(tab_cont), "PidginConversation", gtkconv); 6065 g_object_set_data(G_OBJECT(tab_cont), "PidginConversation", gtkconv);
6049 gtk_container_set_border_width(GTK_CONTAINER(tab_cont), PIDGIN_HIG_BOX_SPACE); 6066 gtk_container_set_border_width(GTK_CONTAINER(tab_cont), PIDGIN_HIG_BOX_SPACE);
6050 gtk_container_add(GTK_CONTAINER(tab_cont), pane); 6067 gtk_container_add(GTK_CONTAINER(tab_cont), pane);
6051 gtk_widget_show(pane); 6068 gtk_widget_show(pane);
6052 6069
9162 gtk_container_set_border_width(GTK_CONTAINER(vbox), 6); 9179 gtk_container_set_border_width(GTK_CONTAINER(vbox), 6);
9163 9180
9164 img = gtk_image_new_from_stock(PIDGIN_STOCK_DIALOG_WARNING, 9181 img = gtk_image_new_from_stock(PIDGIN_STOCK_DIALOG_WARNING,
9165 gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_HUGE)); 9182 gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_HUGE));
9166 /* Setup the inner hbox and put the dialog's icon in it. */ 9183 /* Setup the inner hbox and put the dialog's icon in it. */
9167 hbox = gtk_hbox_new(FALSE, 12); 9184 hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 12);
9168 gtk_container_add(GTK_CONTAINER(vbox), hbox); 9185 gtk_container_add(GTK_CONTAINER(vbox), hbox);
9169 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); 9186 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
9170 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); 9187 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
9171 9188
9172 /* Setup the right vbox. */ 9189 /* Setup the right vbox. */
9173 vbox = gtk_vbox_new(FALSE, 12); 9190 vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 12);
9174 gtk_container_add(GTK_CONTAINER(hbox), vbox); 9191 gtk_container_add(GTK_CONTAINER(hbox), vbox);
9175 9192
9176 label = gtk_label_new(_("You have unread messages. Are you sure you want to close the window?")); 9193 label = gtk_label_new(_("You have unread messages. Are you sure you want to close the window?"));
9177 gtk_widget_set_size_request(label, 350, -1); 9194 gtk_widget_set_size_request(label, 350, -1);
9178 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 9195 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
10304 g_signal_connect(G_OBJECT(win->notebook), "button_press_event", 10321 g_signal_connect(G_OBJECT(win->notebook), "button_press_event",
10305 G_CALLBACK(notebook_press_cb), win); 10322 G_CALLBACK(notebook_press_cb), win);
10306 g_signal_connect(G_OBJECT(win->notebook), "button_release_event", 10323 g_signal_connect(G_OBJECT(win->notebook), "button_release_event",
10307 G_CALLBACK(notebook_release_cb), win); 10324 G_CALLBACK(notebook_release_cb), win);
10308 10325
10309 testidea = gtk_vbox_new(FALSE, 0); 10326 testidea = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
10310 10327
10311 /* Setup the menubar. */ 10328 /* Setup the menubar. */
10312 menubar = setup_menubar(win); 10329 menubar = setup_menubar(win);
10313 gtk_box_pack_start(GTK_BOX(testidea), menubar, FALSE, TRUE, 0); 10330 gtk_box_pack_start(GTK_BOX(testidea), menubar, FALSE, TRUE, 0);
10314 10331
10496 #if GTK_CHECK_VERSION(3,0,0) 10513 #if GTK_CHECK_VERSION(3,0,0)
10497 set_default_tab_colors(gtkconv->tab_label); 10514 set_default_tab_colors(gtkconv->tab_label);
10498 #endif 10515 #endif
10499 gtk_widget_set_name(gtkconv->tab_label, "tab-label"); 10516 gtk_widget_set_name(gtkconv->tab_label, "tab-label");
10500 10517
10501 gtkconv->menu_tabby = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); 10518 gtkconv->menu_tabby = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE);
10502 gtkconv->menu_label = gtk_label_new(tmp_lab); 10519 gtkconv->menu_label = gtk_label_new(tmp_lab);
10503 gtk_box_pack_start(GTK_BOX(gtkconv->menu_tabby), gtkconv->menu_icon, FALSE, FALSE, 0); 10520 gtk_box_pack_start(GTK_BOX(gtkconv->menu_tabby), gtkconv->menu_icon, FALSE, FALSE, 0);
10504 10521
10505 gtk_widget_show_all(gtkconv->menu_icon); 10522 gtk_widget_show_all(gtkconv->menu_icon);
10506 10523
10571 gtk_misc_set_alignment(GTK_MISC(gtkconv->tab_label), 0.00, 0.5); 10588 gtk_misc_set_alignment(GTK_MISC(gtkconv->tab_label), 0.00, 0.5);
10572 gtk_misc_set_padding(GTK_MISC(gtkconv->tab_label), 4, 0); 10589 gtk_misc_set_padding(GTK_MISC(gtkconv->tab_label), 4, 0);
10573 #endif 10590 #endif
10574 10591
10575 if (angle) 10592 if (angle)
10576 gtkconv->tabby = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); 10593 gtkconv->tabby = gtk_box_new(GTK_ORIENTATION_VERTICAL, PIDGIN_HIG_BOX_SPACE);
10577 else 10594 else
10578 gtkconv->tabby = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); 10595 gtkconv->tabby = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, PIDGIN_HIG_BOX_SPACE);
10579 gtk_widget_set_name(gtkconv->tabby, "tab-container"); 10596 gtk_widget_set_name(gtkconv->tabby, "tab-container");
10580 10597
10581 /* select the correct ordering for verticle tabs */ 10598 /* select the correct ordering for verticle tabs */
10582 if (angle == 90) { 10599 if (angle == 90) {
10583 first = gtkconv->close; 10600 first = gtkconv->close;

mercurial