Mercurial > pidgin
comparison src/gtkrequest.c @ 5510:da18a02c3705
[gaim-migrate @ 5909]
Request dialogs now have default buttons.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Sun, 25 May 2003 10:06:38 +0000 |
parents | cce2d7868c78 |
children | 5e93fc46d1af |
comparison
equal
deleted
inserted
replaced
5509:f6ef1871cfcc | 5510:da18a02c3705 |
---|---|
143 g_signal_connect(G_OBJECT(dialog), "response", | 143 g_signal_connect(G_OBJECT(dialog), "response", |
144 G_CALLBACK(__input_response_cb), data); | 144 G_CALLBACK(__input_response_cb), data); |
145 | 145 |
146 /* Setup the dialog */ | 146 /* Setup the dialog */ |
147 gtk_container_set_border_width(GTK_CONTAINER(dialog), 6); | 147 gtk_container_set_border_width(GTK_CONTAINER(dialog), 6); |
148 gtk_container_set_border_width(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), 6); | |
148 gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); | 149 gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); |
149 gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE); | 150 gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE); |
151 gtk_dialog_set_default_response(GTK_DIALOG(dialog), 0); | |
150 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog)->vbox), 12); | 152 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog)->vbox), 12); |
151 gtk_container_set_border_width(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), 6); | |
152 | 153 |
153 /* Setup the main horizontal box */ | 154 /* Setup the main horizontal box */ |
154 hbox = gtk_hbox_new(FALSE, 12); | 155 hbox = gtk_hbox_new(FALSE, 12); |
155 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), hbox); | 156 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), hbox); |
156 | 157 |
207 gtk_text_buffer_set_text(buffer, default_value, -1); | 208 gtk_text_buffer_set_text(buffer, default_value, -1); |
208 } | 209 } |
209 } | 210 } |
210 else { | 211 else { |
211 entry = gtk_entry_new(); | 212 entry = gtk_entry_new(); |
213 | |
214 gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE); | |
212 | 215 |
213 gtk_box_pack_start(GTK_BOX(vbox), entry, FALSE, FALSE, 0); | 216 gtk_box_pack_start(GTK_BOX(vbox), entry, FALSE, FALSE, 0); |
214 | 217 |
215 if (default_value != NULL) | 218 if (default_value != NULL) |
216 gtk_entry_set_text(GTK_ENTRY(entry), default_value); | 219 gtk_entry_set_text(GTK_ENTRY(entry), default_value); |
266 | 269 |
267 /* Create the dialog. */ | 270 /* Create the dialog. */ |
268 data->dialog = dialog = gtk_dialog_new(); | 271 data->dialog = dialog = gtk_dialog_new(); |
269 | 272 |
270 for (i = 0; i < action_count; i++) { | 273 for (i = 0; i < action_count; i++) { |
271 gaim_debug(GAIM_DEBUG_MISC, "gtkrequest", | |
272 "buttons[2 * %d] = '%s'\n", | |
273 i, buttons[2 * i]); | |
274 gtk_dialog_add_button(GTK_DIALOG(dialog), | 274 gtk_dialog_add_button(GTK_DIALOG(dialog), |
275 __text_to_stock(buttons[2 * i]), i); | 275 __text_to_stock(buttons[2 * i]), i); |
276 | 276 |
277 data->cbs[i] = buttons[2 * i + 1]; | 277 data->cbs[i] = buttons[2 * i + 1]; |
278 } | 278 } |
316 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | 316 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); |
317 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); | 317 gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 0); |
318 | 318 |
319 g_free(label_text); | 319 g_free(label_text); |
320 | 320 |
321 if (default_action != -1) | |
322 gtk_dialog_set_default_response(GTK_DIALOG(dialog), default_action); | |
323 | |
321 /* Show everything. */ | 324 /* Show everything. */ |
322 gtk_widget_show_all(dialog); | 325 gtk_widget_show_all(dialog); |
323 | 326 |
324 return data; | 327 return data; |
325 } | 328 } |