Mercurial > pidgin
comparison pidgin/gtkutils.c @ 32707:c7de9dc7c5b3
Avoid calling gtk_combo_box_set_active twice in some cases.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Thu, 29 Dec 2011 05:36:32 +0000 |
parents | b8a6a07aa5b0 |
children | c2df5063d430 |
comparison
equal
deleted
inserted
replaced
32706:b8a6a07aa5b0 | 32707:c7de9dc7c5b3 |
---|---|
677 gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(optmenu), cr, "pixbuf", AOP_ICON_COLUMN); | 677 gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(optmenu), cr, "pixbuf", AOP_ICON_COLUMN); |
678 gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(optmenu), cr = gtk_cell_renderer_text_new(), TRUE); | 678 gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(optmenu), cr = gtk_cell_renderer_text_new(), TRUE); |
679 gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(optmenu), cr, "text", AOP_NAME_COLUMN); | 679 gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(optmenu), cr, "text", AOP_NAME_COLUMN); |
680 | 680 |
681 aop_option_menu_replace_menu(optmenu, aop_menu); | 681 aop_option_menu_replace_menu(optmenu, aop_menu); |
682 if (aop_menu->default_item == -1) | |
683 gtk_combo_box_set_active(GTK_COMBO_BOX(optmenu), 0); | |
684 g_object_set_data(G_OBJECT(optmenu), "user_data", user_data); | 682 g_object_set_data(G_OBJECT(optmenu), "user_data", user_data); |
685 | 683 |
686 g_signal_connect(G_OBJECT(optmenu), "changed", G_CALLBACK(aop_menu_cb), cb); | 684 g_signal_connect(G_OBJECT(optmenu), "changed", G_CALLBACK(aop_menu_cb), cb); |
687 | 685 |
688 return optmenu; | 686 return optmenu; |
718 int i; | 716 int i; |
719 | 717 |
720 ls = gtk_list_store_new(AOP_COLUMN_COUNT, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_POINTER); | 718 ls = gtk_list_store_new(AOP_COLUMN_COUNT, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_POINTER); |
721 | 719 |
722 aop_menu = g_malloc0(sizeof(AopMenu)); | 720 aop_menu = g_malloc0(sizeof(AopMenu)); |
723 aop_menu->default_item = -1; | 721 aop_menu->default_item = 0; |
724 aop_menu->model = GTK_TREE_MODEL(ls); | 722 aop_menu->model = GTK_TREE_MODEL(ls); |
725 | 723 |
726 for (p = purple_plugins_get_protocols(), i = 0; | 724 for (p = purple_plugins_get_protocols(), i = 0; |
727 p != NULL; | 725 p != NULL; |
728 p = p->next, i++) { | 726 p = p->next, i++) { |
742 g_object_unref(pixbuf); | 740 g_object_unref(pixbuf); |
743 | 741 |
744 if (default_proto_id != NULL && !strcmp(plugin->info->id, default_proto_id)) | 742 if (default_proto_id != NULL && !strcmp(plugin->info->id, default_proto_id)) |
745 aop_menu->default_item = i; | 743 aop_menu->default_item = i; |
746 } | 744 } |
745 | |
747 return aop_menu; | 746 return aop_menu; |
748 } | 747 } |
749 | 748 |
750 GtkWidget * | 749 GtkWidget * |
751 pidgin_protocol_option_menu_new(const char *id, GCallback cb, | 750 pidgin_protocol_option_menu_new(const char *id, GCallback cb, |
786 list = purple_connections_get_all(); | 785 list = purple_connections_get_all(); |
787 | 786 |
788 ls = gtk_list_store_new(AOP_COLUMN_COUNT, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_POINTER); | 787 ls = gtk_list_store_new(AOP_COLUMN_COUNT, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_POINTER); |
789 | 788 |
790 aop_menu = g_malloc0(sizeof(AopMenu)); | 789 aop_menu = g_malloc0(sizeof(AopMenu)); |
791 aop_menu->default_item = -1; | 790 aop_menu->default_item = 0; |
792 aop_menu->model = GTK_TREE_MODEL(ls); | 791 aop_menu->model = GTK_TREE_MODEL(ls); |
793 | 792 |
794 for (p = list, i = 0; p != NULL; p = p->next, i++) { | 793 for (p = list, i = 0; p != NULL; p = p->next, i++) { |
795 if (show_all) | 794 if (show_all) |
796 account = (PurpleAccount *)p->data; | 795 account = (PurpleAccount *)p->data; |
835 g_object_unref(pixbuf); | 834 g_object_unref(pixbuf); |
836 | 835 |
837 if (default_account && account == default_account) | 836 if (default_account && account == default_account) |
838 aop_menu->default_item = i; | 837 aop_menu->default_item = i; |
839 } | 838 } |
839 | |
840 return aop_menu; | 840 return aop_menu; |
841 } | 841 } |
842 | 842 |
843 static void | 843 static void |
844 regenerate_account_menu(GtkWidget *optmenu) | 844 regenerate_account_menu(GtkWidget *optmenu) |