pidgin/gtkrequest.c

branch
cpw.qulogic.gtk3
changeset 32367
57b77b20301a
parent 29225
f95f3c1be6dd
parent 32347
169ee59389a1
child 32369
a8517f753732
equal deleted inserted replaced
29373:481ec7d852d7 32367:57b77b20301a
227 { 227 {
228 purple_request_field_bool_set_value(field, 228 purple_request_field_bool_set_value(field,
229 gtk_toggle_button_get_active(button)); 229 gtk_toggle_button_get_active(button));
230 } 230 }
231 231
232 #if GTK_CHECK_VERSION(2,4,0)
233 static void
234 field_choice_menu_cb(GtkComboBox *menu, PurpleRequestField *field)
235 {
236 purple_request_field_choice_set_value(field,
237 gtk_combo_box_get_active(menu));
238 }
239 #else
232 static void 240 static void
233 field_choice_menu_cb(GtkOptionMenu *menu, PurpleRequestField *field) 241 field_choice_menu_cb(GtkOptionMenu *menu, PurpleRequestField *field)
234 { 242 {
235 purple_request_field_choice_set_value(field, 243 purple_request_field_choice_set_value(field,
236 gtk_option_menu_get_history(menu)); 244 gtk_option_menu_get_history(menu));
237 } 245 }
246 #endif
238 247
239 static void 248 static void
240 field_choice_option_cb(GtkRadioButton *button, PurpleRequestField *field) 249 field_choice_option_cb(GtkRadioButton *button, PurpleRequestField *field)
241 { 250 {
242 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button))) 251 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)))
928 int num_labels = g_list_length(labels); 937 int num_labels = g_list_length(labels);
929 GList *l; 938 GList *l;
930 939
931 if (num_labels > 5) 940 if (num_labels > 5)
932 { 941 {
942 #if GTK_CHECK_VERSION(2,4,0)
943 widget = gtk_combo_box_new_text();
944
945 for (l = labels; l != NULL; l = l->next)
946 {
947 const char *text = l->data;
948 gtk_combo_box_append_text(GTK_COMBO_BOX(widget), text);
949 }
950
951 gtk_combo_box_set_active(GTK_COMBO_BOX(widget),
952 purple_request_field_choice_get_default_value(field));
953
954 g_signal_connect(G_OBJECT(widget), "changed",
955 G_CALLBACK(field_choice_menu_cb), field);
956 #else
933 GtkWidget *menu; 957 GtkWidget *menu;
934 GtkWidget *item; 958 GtkWidget *item;
935 959
936 widget = gtk_option_menu_new(); 960 widget = gtk_option_menu_new();
937 961
952 gtk_option_menu_set_history(GTK_OPTION_MENU(widget), 976 gtk_option_menu_set_history(GTK_OPTION_MENU(widget),
953 purple_request_field_choice_get_default_value(field)); 977 purple_request_field_choice_get_default_value(field));
954 978
955 g_signal_connect(G_OBJECT(widget), "changed", 979 g_signal_connect(G_OBJECT(widget), "changed",
956 G_CALLBACK(field_choice_menu_cb), field); 980 G_CALLBACK(field_choice_menu_cb), field);
981 #endif
957 } 982 }
958 else 983 else
959 { 984 {
960 GtkWidget *box; 985 GtkWidget *box;
961 GtkWidget *first_radio = NULL; 986 GtkWidget *first_radio = NULL;

mercurial