| 1071 req_field_changed_cb(GtkWidget *widget, PurpleRequestField *field) |
1071 req_field_changed_cb(GtkWidget *widget, PurpleRequestField *field) |
| 1072 { |
1072 { |
| 1073 PurpleRequestFieldGroup *group; |
1073 PurpleRequestFieldGroup *group; |
| 1074 PurpleRequestFields *fields; |
1074 PurpleRequestFields *fields; |
| 1075 PidginRequestData *req_data; |
1075 PidginRequestData *req_data; |
| |
1076 const GList *it; |
| 1076 |
1077 |
| 1077 group = purple_request_field_get_group(field); |
1078 group = purple_request_field_get_group(field); |
| 1078 fields = purple_request_field_group_get_fields_list(group); |
1079 fields = purple_request_field_group_get_fields_list(group); |
| 1079 req_data = purple_request_fields_get_ui_data(fields); |
1080 req_data = purple_request_fields_get_ui_data(fields); |
| 1080 |
1081 |
| 1081 gtk_widget_set_sensitive(req_data->ok_button, |
1082 gtk_widget_set_sensitive(req_data->ok_button, |
| 1082 purple_request_fields_all_required_filled(fields) && |
1083 purple_request_fields_all_required_filled(fields) && |
| 1083 purple_request_fields_all_valid(fields)); |
1084 purple_request_fields_all_valid(fields)); |
| |
1085 |
| |
1086 it = purple_request_fields_get_autosensitive(fields); |
| |
1087 for (; it != NULL; it = g_list_next(it)) { |
| |
1088 PurpleRequestField *field = it->data; |
| |
1089 GtkWidget *widget = purple_request_field_get_ui_data(field); |
| |
1090 |
| |
1091 gtk_widget_set_sensitive(widget, |
| |
1092 purple_request_field_is_sensitive(field)); |
| |
1093 /* TODO: string fields and set_editable */ |
| |
1094 } |
| 1084 } |
1095 } |
| 1085 |
1096 |
| 1086 static void |
1097 static void |
| 1087 setup_entry_field(GtkWidget *entry, PurpleRequestField *field) |
1098 setup_entry_field(GtkWidget *entry, PurpleRequestField *field) |
| 1088 { |
1099 { |
| 1873 else if (type == PURPLE_REQUEST_FIELD_CERTIFICATE) |
1884 else if (type == PURPLE_REQUEST_FIELD_CERTIFICATE) |
| 1874 widget = create_certificate_field(field); |
1885 widget = create_certificate_field(field); |
| 1875 else |
1886 else |
| 1876 continue; |
1887 continue; |
| 1877 } |
1888 } |
| |
1889 |
| |
1890 gtk_widget_set_sensitive(widget, |
| |
1891 purple_request_field_is_sensitive(field)); |
| 1878 |
1892 |
| 1879 if (label) |
1893 if (label) |
| 1880 gtk_label_set_mnemonic_widget(GTK_LABEL(label), widget); |
1894 gtk_label_set_mnemonic_widget(GTK_LABEL(label), widget); |
| 1881 |
1895 |
| 1882 if (type == PURPLE_REQUEST_FIELD_STRING && |
1896 if (type == PURPLE_REQUEST_FIELD_STRING && |