Mercurial > pidgin.yaz
comparison src/dialogs.c @ 2975:626729653436
[gaim-migrate @ 2988]
I think I'm alone now ...
committer: Tailor Script <tailor@pidgin.im>
author | Rob Flynn <gaim@robflynn.com> |
---|---|
date | Fri, 22 Feb 2002 23:47:55 +0000 |
parents | a67cae459b01 |
children | 1c6a3516e1ff |
comparison
equal
deleted
inserted
replaced
2974:11f563b4153a | 2975:626729653436 |
---|---|
4353 MultiEntryData *multi_entry_list_update(GSList **list, const char *label, const char *text, int add_it) | 4353 MultiEntryData *multi_entry_list_update(GSList **list, const char *label, const char *text, int add_it) |
4354 { | 4354 { |
4355 GSList *found; | 4355 GSList *found; |
4356 MultiEntryData *data; | 4356 MultiEntryData *data; |
4357 | 4357 |
4358 if((found = g_slist_find_custom(*list, label, multi_entry_data_label_compare)) == NULL) { | 4358 if((found = g_slist_find_custom(*list, (void *)label, multi_entry_data_label_compare)) == NULL) { |
4359 if(add_it) { | 4359 if(add_it) { |
4360 data = (MultiEntryData *) g_slist_last(*list = | 4360 data = (MultiEntryData *) g_slist_last(*list = |
4361 g_slist_append(*list, g_malloc(sizeof(MultiEntryData))))->data; | 4361 g_slist_append(*list, g_malloc(sizeof(MultiEntryData))))->data; |
4362 data->label = strcpy(g_malloc(strlen(label) +1), label); | 4362 data->label = strcpy(g_malloc(strlen(label) +1), label); |
4363 data->text = NULL; | 4363 data->text = NULL; |
4406 MultiTextData *multi_text_list_update(GSList **list, const char *label, const char *text, int add_it) | 4406 MultiTextData *multi_text_list_update(GSList **list, const char *label, const char *text, int add_it) |
4407 { | 4407 { |
4408 GSList *found; | 4408 GSList *found; |
4409 MultiTextData *data; | 4409 MultiTextData *data; |
4410 | 4410 |
4411 if((found = g_slist_find_custom(*list, label, multi_text_data_label_compare)) == NULL) { | 4411 if((found = g_slist_find_custom(*list, (void *)label, multi_text_data_label_compare)) == NULL) { |
4412 if(add_it) { | 4412 if(add_it) { |
4413 data = (MultiTextData *) g_slist_last(*list = | 4413 data = (MultiTextData *) g_slist_last(*list = |
4414 g_slist_append(*list, g_malloc(sizeof(MultiTextData))))->data; | 4414 g_slist_append(*list, g_malloc(sizeof(MultiTextData))))->data; |
4415 data->label = strcpy(g_malloc(strlen(label) +1), label); | 4415 data->label = strcpy(g_malloc(strlen(label) +1), label); |
4416 data->text = NULL; | 4416 data->text = NULL; |
4441 { | 4441 { |
4442 multi_entry_items_free_all(&(b->multi_entry_items)); | 4442 multi_entry_items_free_all(&(b->multi_entry_items)); |
4443 multi_text_items_free_all(&(b->multi_text_items)); | 4443 multi_text_items_free_all(&(b->multi_text_items)); |
4444 g_free(b->instructions->text); | 4444 g_free(b->instructions->text); |
4445 g_free(b->instructions); | 4445 g_free(b->instructions); |
4446 g_free(b->entries_title); | |
4446 g_free(b); | 4447 g_free(b); |
4447 } | 4448 } |
4448 | 4449 |
4449 /* | 4450 /* |
4450 * Multi-Entry dialog "destroyed" catcher | 4451 * Multi-Entry dialog "destroyed" catcher |
4483 GSList *multi_entry_items) | 4484 GSList *multi_entry_items) |
4484 { | 4485 { |
4485 GtkWidget *label; | 4486 GtkWidget *label; |
4486 GSList *multi_entry; | 4487 GSList *multi_entry; |
4487 MultiEntryData *med; | 4488 MultiEntryData *med; |
4488 int rows = 0; | 4489 int rows, row_num, col_num, col_offset; |
4489 int rowNum; | 4490 int cols = 1; |
4490 | 4491 |
4491 /* Figure-out number of rows needed for table */ | 4492 /* Figure-out number of rows needed for table */ |
4492 rows = g_slist_length(multi_entry_items); | 4493 if((rows = g_slist_length(multi_entry_items)) > 9) { |
4494 rows /= 2; | |
4495 ++cols; | |
4496 } | |
4493 | 4497 |
4494 if(*entries_table != NULL) { | 4498 if(*entries_table != NULL) { |
4495 gtk_widget_destroy(GTK_WIDGET (*entries_table)); | 4499 gtk_widget_destroy(GTK_WIDGET (*entries_table)); |
4496 } | 4500 } |
4497 *entries_table = gtk_table_new(rows, 3, FALSE); | 4501 *entries_table = gtk_table_new(rows, 3 * cols, FALSE); |
4498 gtk_table_set_col_spacings(GTK_TABLE(*entries_table), 5); | |
4499 gtk_table_set_row_spacings(GTK_TABLE(*entries_table), 5); | |
4500 gtk_container_set_border_width(GTK_CONTAINER(*entries_table), 5); | |
4501 gtk_container_add(GTK_CONTAINER (entries_frame), *entries_table); | 4502 gtk_container_add(GTK_CONTAINER (entries_frame), *entries_table); |
4502 | 4503 |
4503 for(rowNum = 0, multi_entry = multi_entry_items; | 4504 for(col_num = 0, multi_entry = multi_entry_items; col_num < cols && multi_entry != NULL; |
4504 multi_entry != NULL; ++rowNum, multi_entry = multi_entry->next) { | 4505 ++col_num) { |
4505 | 4506 col_offset = col_num * 3; |
4506 med = (MultiEntryData *) multi_entry->data; | 4507 for(row_num = 0; row_num < rows && multi_entry != NULL; |
4507 | 4508 ++row_num, multi_entry = multi_entry->next) { |
4508 label = gtk_label_new(med->label); | 4509 |
4509 gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 1.0, (gfloat) 0.5); | 4510 med = (MultiEntryData *) multi_entry->data; |
4510 gtk_table_attach_defaults(GTK_TABLE (*entries_table), label, 0, 1, rowNum, rowNum +1); | 4511 |
4511 gtk_widget_show(label); | 4512 label = gtk_label_new(med->label); |
4512 | 4513 gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 1.0, (gfloat) 0.5); |
4513 label = gtk_label_new(": "); | 4514 gtk_table_attach_defaults(GTK_TABLE (*entries_table), label, |
4514 gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 0.0, (gfloat) 0.5); | 4515 col_offset, 1 + col_offset, row_num, row_num +1); |
4515 gtk_table_attach_defaults(GTK_TABLE (*entries_table), label, 1, 2, rowNum, rowNum +1); | 4516 gtk_widget_show(label); |
4516 gtk_widget_show(label); | 4517 |
4517 | 4518 label = gtk_label_new(": "); |
4518 med->widget = gtk_entry_new_with_max_length(50); | 4519 gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 0.0, (gfloat) 0.5); |
4519 if(med->text != NULL) { | 4520 gtk_table_attach_defaults(GTK_TABLE (*entries_table), label, |
4520 gtk_entry_set_text(GTK_ENTRY (med->widget), med->text); | 4521 1 + col_offset, 2 + col_offset, row_num, row_num +1); |
4522 gtk_widget_show(label); | |
4523 | |
4524 med->widget = gtk_entry_new_with_max_length(50); | |
4525 if(med->text != NULL) { | |
4526 gtk_entry_set_text(GTK_ENTRY (med->widget), med->text); | |
4527 } | |
4528 gtk_entry_set_visibility(GTK_ENTRY (med->widget), med->visible); | |
4529 gtk_entry_set_editable(GTK_ENTRY (med->widget), med->editable); | |
4530 gtk_table_attach(GTK_TABLE (*entries_table), med->widget, | |
4531 2 + col_offset, 3 + col_offset, row_num, row_num +1, | |
4532 GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 5, 0); | |
4533 gtk_widget_show(med->widget); | |
4521 } | 4534 } |
4522 gtk_entry_set_visibility(GTK_ENTRY (med->widget), med->visible); | |
4523 gtk_entry_set_editable(GTK_ENTRY (med->widget), med->editable); | |
4524 gtk_table_attach_defaults(GTK_TABLE (*entries_table), | |
4525 med->widget, 2, 3, rowNum, rowNum +1); | |
4526 gtk_widget_show(med->widget); | |
4527 } | 4535 } |
4528 | 4536 |
4529 gtk_widget_show(*entries_table); | 4537 gtk_widget_show(*entries_table); |
4530 } | 4538 } |
4531 | 4539 |
4626 b->instructions->label = gtk_label_new(NULL); | 4634 b->instructions->label = gtk_label_new(NULL); |
4627 gtk_label_set_line_wrap(GTK_LABEL (b->instructions->label), TRUE); | 4635 gtk_label_set_line_wrap(GTK_LABEL (b->instructions->label), TRUE); |
4628 gtk_box_pack_start(GTK_BOX (vbox), b->instructions->label, TRUE, TRUE, 5); | 4636 gtk_box_pack_start(GTK_BOX (vbox), b->instructions->label, TRUE, TRUE, 5); |
4629 re_show_multi_entry_instr(b->instructions); | 4637 re_show_multi_entry_instr(b->instructions); |
4630 | 4638 |
4631 b->entries_frame = gtk_frame_new(NULL); | 4639 b->entries_frame = gtk_frame_new(b->entries_title); |
4632 gtk_box_pack_start(GTK_BOX (vbox), b->entries_frame, TRUE, TRUE, 5); | 4640 gtk_box_pack_start(GTK_BOX (vbox), b->entries_frame, TRUE, TRUE, 5); |
4633 gtk_widget_show(b->entries_frame); | 4641 gtk_widget_show(b->entries_frame); |
4634 b->entries_table = NULL; | 4642 b->entries_table = NULL; |
4635 re_show_multi_entry_entries(&(b->entries_table), b->entries_frame, b->multi_entry_items); | 4643 re_show_multi_entry_entries(&(b->entries_table), b->entries_frame, b->multi_entry_items); |
4636 | 4644 |