pidgin/gtkrequest.c

changeset 34495
641bff383b0a
parent 34494
eee5ad689415
child 34501
cb22f5baa4f6
child 35047
cf8ca70094ff
equal deleted inserted replaced
34494:eee5ad689415 34495:641bff383b0a
1085 1085
1086 it = purple_request_fields_get_autosensitive(fields); 1086 it = purple_request_fields_get_autosensitive(fields);
1087 for (; it != NULL; it = g_list_next(it)) { 1087 for (; it != NULL; it = g_list_next(it)) {
1088 PurpleRequestField *field = it->data; 1088 PurpleRequestField *field = it->data;
1089 GtkWidget *widget = purple_request_field_get_ui_data(field); 1089 GtkWidget *widget = purple_request_field_get_ui_data(field);
1090 1090 gboolean sensitive;
1091 gtk_widget_set_sensitive(widget, 1091
1092 purple_request_field_is_sensitive(field)); 1092 sensitive = purple_request_field_is_sensitive(field);
1093 /* TODO: string fields and set_editable */ 1093 gtk_widget_set_sensitive(widget, sensitive);
1094
1095 /* XXX: and what about multiline? */
1096 if (GTK_IS_EDITABLE(widget))
1097 gtk_editable_set_editable(GTK_EDITABLE(widget), sensitive);
1094 } 1098 }
1095 } 1099 }
1096 1100
1097 static void 1101 static void
1098 setup_entry_field(GtkWidget *entry, PurpleRequestField *field) 1102 setup_entry_field(GtkWidget *entry, PurpleRequestField *field)
1147 const char *value; 1151 const char *value;
1148 GtkWidget *widget; 1152 GtkWidget *widget;
1149 gboolean is_editable; 1153 gboolean is_editable;
1150 1154
1151 value = purple_request_field_string_get_default_value(field); 1155 value = purple_request_field_string_get_default_value(field);
1152 is_editable = purple_request_field_string_is_editable(field); 1156 is_editable = purple_request_field_is_sensitive(field);
1153 1157
1154 if (purple_request_field_string_is_multiline(field)) 1158 if (purple_request_field_string_is_multiline(field))
1155 { 1159 {
1156 GtkWidget *textview; 1160 GtkWidget *textview;
1157 1161
1176 } 1180 }
1177 1181
1178 gtk_widget_set_tooltip_text(textview, purple_request_field_get_tooltip(field)); 1182 gtk_widget_set_tooltip_text(textview, purple_request_field_get_tooltip(field));
1179 1183
1180 gtk_text_view_set_editable(GTK_TEXT_VIEW(textview), is_editable); 1184 gtk_text_view_set_editable(GTK_TEXT_VIEW(textview), is_editable);
1181 gtk_widget_set_sensitive(textview, is_editable);
1182 1185
1183 g_signal_connect(G_OBJECT(textview), "focus-out-event", 1186 g_signal_connect(G_OBJECT(textview), "focus-out-event",
1184 G_CALLBACK(field_string_focus_out_cb), field); 1187 G_CALLBACK(field_string_focus_out_cb), field);
1185 1188
1186 if (purple_request_field_is_required(field)) 1189 if (purple_request_field_is_required(field))
1207 { 1210 {
1208 gtk_entry_set_visibility(GTK_ENTRY(widget), FALSE); 1211 gtk_entry_set_visibility(GTK_ENTRY(widget), FALSE);
1209 } 1212 }
1210 1213
1211 gtk_editable_set_editable(GTK_EDITABLE(widget), is_editable); 1214 gtk_editable_set_editable(GTK_EDITABLE(widget), is_editable);
1212 gtk_widget_set_sensitive(widget, is_editable);
1213 1215
1214 g_signal_connect(G_OBJECT(widget), "focus-out-event", 1216 g_signal_connect(G_OBJECT(widget), "focus-out-event",
1215 G_CALLBACK(field_string_focus_out_cb), field); 1217 G_CALLBACK(field_string_focus_out_cb), field);
1216 } 1218 }
1217 1219

mercurial