comparison src/dialogs.c @ 2612:7938953630fa

[gaim-migrate @ 2625] I forgot about this. Don't show empty conversations. committer: Tailor Script <tailor@pidgin.im>
author Rob Flynn <gaim@robflynn.com>
date Thu, 25 Oct 2001 20:09:36 +0000
parents e0d4a23aac89
children 6f7e1fc3e132
comparison
equal deleted inserted replaced
2611:d324478ee203 2612:7938953630fa
3476 GtkWidget *layout; 3476 GtkWidget *layout;
3477 GtkWidget *close_button; 3477 GtkWidget *close_button;
3478 GtkWidget *clear_button; 3478 GtkWidget *clear_button;
3479 GtkWidget *save_button; 3479 GtkWidget *save_button;
3480 GtkWidget *list = NULL; 3480 GtkWidget *list = NULL;
3481 GtkWidget *item; 3481 GList *item_list = NULL;
3482 GtkWidget *item = NULL;
3483 GtkWidget *last = NULL;
3482 GtkWidget *frame; 3484 GtkWidget *frame;
3483 3485
3484 int options; 3486 int options;
3485 guint block; 3487 guint block;
3486 char convo_start[32]; 3488 char convo_start[32];
3487 long offset = 0; 3489 long offset = 0;
3490 unsigned int i = 0;
3488 3491
3489 3492
3490 options = GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_TITLE | GTK_IMHTML_NO_SCROLL; 3493 options = GTK_IMHTML_NO_COMMENTS | GTK_IMHTML_NO_TITLE | GTK_IMHTML_NO_SCROLL;
3491 if (convo_options & OPT_CONVO_IGNORE_COLOUR) 3494 if (convo_options & OPT_CONVO_IGNORE_COLOUR)
3492 options ^= GTK_IMHTML_NO_COLOURS; 3495 options ^= GTK_IMHTML_NO_COLOURS;
3545 3548
3546 while (fgets(buf, BUF_LONG, fp)) { 3549 while (fgets(buf, BUF_LONG, fp)) {
3547 if (strstr(buf, "---- New C")) { 3550 if (strstr(buf, "---- New C")) {
3548 int length; 3551 int length;
3549 char *temp = strchr(buf, '@'); 3552 char *temp = strchr(buf, '@');
3553
3550 if (temp == NULL || strlen(temp) < 2) 3554 if (temp == NULL || strlen(temp) < 2)
3551 continue; 3555 continue;
3556
3557 if (i == 1) {
3558 if (item_list) {
3559 item_list = g_list_remove(item_list, last);
3560 last = NULL;
3561 }
3562 }
3563
3564
3565 i = 0;
3566
3552 temp++; 3567 temp++;
3553 length = strcspn(temp, "-"); 3568 length = strcspn(temp, "-");
3554 if (length > 31) length = 31; 3569 if (length > 31) length = 31;
3555 3570
3556 offset = ftell(fp); 3571 offset = ftell(fp);
3560 gtk_object_set_data(GTK_OBJECT(item), "options", (gpointer)options); 3575 gtk_object_set_data(GTK_OBJECT(item), "options", (gpointer)options);
3561 gtk_object_set_data(GTK_OBJECT(item), "name", (gpointer)name); 3576 gtk_object_set_data(GTK_OBJECT(item), "name", (gpointer)name);
3562 gtk_object_set_data(GTK_OBJECT(item), "box", (gpointer)bbox); 3577 gtk_object_set_data(GTK_OBJECT(item), "box", (gpointer)bbox);
3563 gtk_object_set_data(GTK_OBJECT(item), "window", (gpointer)window); 3578 gtk_object_set_data(GTK_OBJECT(item), "window", (gpointer)window);
3564 gtk_signal_connect(GTK_OBJECT(item), "select", GTK_SIGNAL_FUNC(log_show_convo), layout); 3579 gtk_signal_connect(GTK_OBJECT(item), "select", GTK_SIGNAL_FUNC(log_show_convo), layout);
3565 gtk_container_add(GTK_CONTAINER(list), item); 3580 last = item;
3581 item_list = g_list_append(item_list, item);
3582
3566 gtk_widget_show(item); 3583 gtk_widget_show(item);
3567 } 3584 }
3585 i++;
3568 } 3586 }
3569 fclose(fp); 3587 fclose(fp);
3570 } 3588 }
3589
3590 if (i == 1) {
3591 if (item_list)
3592 item_list = g_list_remove(item_list, item);
3593 }
3594
3595 gtk_list_insert_items(GTK_LIST(list), item_list, 0 );
3571 3596
3572 gtk_signal_disconnect(GTK_OBJECT(window), block); 3597 gtk_signal_disconnect(GTK_OBJECT(window), block);
3573 gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(destroy_dialog), window); 3598 gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(destroy_dialog), window);
3574 3599
3575 frame = gtk_frame_new(_("Conversation")); 3600 frame = gtk_frame_new(_("Conversation"));