Mercurial > pidgin.yaz
diff 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 |
line wrap: on
line diff
--- a/src/dialogs.c Thu Feb 21 12:59:25 2002 +0000 +++ b/src/dialogs.c Fri Feb 22 23:47:55 2002 +0000 @@ -4355,7 +4355,7 @@ GSList *found; MultiEntryData *data; - if((found = g_slist_find_custom(*list, label, multi_entry_data_label_compare)) == NULL) { + if((found = g_slist_find_custom(*list, (void *)label, multi_entry_data_label_compare)) == NULL) { if(add_it) { data = (MultiEntryData *) g_slist_last(*list = g_slist_append(*list, g_malloc(sizeof(MultiEntryData))))->data; @@ -4408,7 +4408,7 @@ GSList *found; MultiTextData *data; - if((found = g_slist_find_custom(*list, label, multi_text_data_label_compare)) == NULL) { + if((found = g_slist_find_custom(*list, (void *)label, multi_text_data_label_compare)) == NULL) { if(add_it) { data = (MultiTextData *) g_slist_last(*list = g_slist_append(*list, g_malloc(sizeof(MultiTextData))))->data; @@ -4443,6 +4443,7 @@ multi_text_items_free_all(&(b->multi_text_items)); g_free(b->instructions->text); g_free(b->instructions); + g_free(b->entries_title); g_free(b); } @@ -4485,45 +4486,52 @@ GtkWidget *label; GSList *multi_entry; MultiEntryData *med; - int rows = 0; - int rowNum; + int rows, row_num, col_num, col_offset; + int cols = 1; /* Figure-out number of rows needed for table */ - rows = g_slist_length(multi_entry_items); + if((rows = g_slist_length(multi_entry_items)) > 9) { + rows /= 2; + ++cols; + } if(*entries_table != NULL) { gtk_widget_destroy(GTK_WIDGET (*entries_table)); } - *entries_table = gtk_table_new(rows, 3, FALSE); - gtk_table_set_col_spacings(GTK_TABLE(*entries_table), 5); - gtk_table_set_row_spacings(GTK_TABLE(*entries_table), 5); - gtk_container_set_border_width(GTK_CONTAINER(*entries_table), 5); + *entries_table = gtk_table_new(rows, 3 * cols, FALSE); gtk_container_add(GTK_CONTAINER (entries_frame), *entries_table); - for(rowNum = 0, multi_entry = multi_entry_items; - multi_entry != NULL; ++rowNum, multi_entry = multi_entry->next) { - - med = (MultiEntryData *) multi_entry->data; - - label = gtk_label_new(med->label); - gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 1.0, (gfloat) 0.5); - gtk_table_attach_defaults(GTK_TABLE (*entries_table), label, 0, 1, rowNum, rowNum +1); - gtk_widget_show(label); - - label = gtk_label_new(": "); - gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 0.0, (gfloat) 0.5); - gtk_table_attach_defaults(GTK_TABLE (*entries_table), label, 1, 2, rowNum, rowNum +1); - gtk_widget_show(label); - - med->widget = gtk_entry_new_with_max_length(50); - if(med->text != NULL) { - gtk_entry_set_text(GTK_ENTRY (med->widget), med->text); + for(col_num = 0, multi_entry = multi_entry_items; col_num < cols && multi_entry != NULL; + ++col_num) { + col_offset = col_num * 3; + for(row_num = 0; row_num < rows && multi_entry != NULL; + ++row_num, multi_entry = multi_entry->next) { + + med = (MultiEntryData *) multi_entry->data; + + label = gtk_label_new(med->label); + gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 1.0, (gfloat) 0.5); + gtk_table_attach_defaults(GTK_TABLE (*entries_table), label, + col_offset, 1 + col_offset, row_num, row_num +1); + gtk_widget_show(label); + + label = gtk_label_new(": "); + gtk_misc_set_alignment(GTK_MISC(label), (gfloat) 0.0, (gfloat) 0.5); + gtk_table_attach_defaults(GTK_TABLE (*entries_table), label, + 1 + col_offset, 2 + col_offset, row_num, row_num +1); + gtk_widget_show(label); + + med->widget = gtk_entry_new_with_max_length(50); + if(med->text != NULL) { + gtk_entry_set_text(GTK_ENTRY (med->widget), med->text); + } + gtk_entry_set_visibility(GTK_ENTRY (med->widget), med->visible); + gtk_entry_set_editable(GTK_ENTRY (med->widget), med->editable); + gtk_table_attach(GTK_TABLE (*entries_table), med->widget, + 2 + col_offset, 3 + col_offset, row_num, row_num +1, + GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 5, 0); + gtk_widget_show(med->widget); } - gtk_entry_set_visibility(GTK_ENTRY (med->widget), med->visible); - gtk_entry_set_editable(GTK_ENTRY (med->widget), med->editable); - gtk_table_attach_defaults(GTK_TABLE (*entries_table), - med->widget, 2, 3, rowNum, rowNum +1); - gtk_widget_show(med->widget); } gtk_widget_show(*entries_table); @@ -4628,7 +4636,7 @@ gtk_box_pack_start(GTK_BOX (vbox), b->instructions->label, TRUE, TRUE, 5); re_show_multi_entry_instr(b->instructions); - b->entries_frame = gtk_frame_new(NULL); + b->entries_frame = gtk_frame_new(b->entries_title); gtk_box_pack_start(GTK_BOX (vbox), b->entries_frame, TRUE, TRUE, 5); gtk_widget_show(b->entries_frame); b->entries_table = NULL;