buttons.c:                       EZ_CALLBACK, summary->callback, summary,
buttons.c:   summary->set_tree( summary, summary->thread_tree,
buttons.c:                      tree->group_list[ summary->group ].group,
buttons.c:                      tree->group_list[ summary->group ].total,
buttons.c:                      summary->group );
buttons.c:   EZ_ListTreeWidgetSelectNode( summary->thread_tree, summary->node_list[ i ],
buttons.c:   if ( summary->contents[ i ].is_article )
buttons.c:      (( np_newsreader_object *)summary->parent )->tree_object;
buttons.c:   if ( summary->contents[ i ].is_article )
buttons.c:   if ( ln_toggle_request( summary->group_name,
buttons.c:                           summary->contents[ i ].offset, 
buttons.c:   if ( ( summary->contents[ i ].is_requested ^= 1 ) )
buttons.c:      summary->stats.requests++;
buttons.c:      summary->stats.requests--;
buttons.c:   EZ_ConfigureItem( EZ_TreeNodeGetItem( summary->node_list[ i ] ),
buttons.c:                     (( summary->contents[ i ].is_requested ) ? 
buttons.c:                      summary->requested_colour :
buttons.c:                      summary->header_colour ),
buttons.c:   if ( summary->summary_onscreen )
buttons.c:      for( k = 0; k < summary->stats.total; ++k )
buttons.c:         if ( summary->positions[ k ] == l )
buttons.c:      EZ_FancyListBoxSelectItemUsingIdx( summary->summary_list, ++k, 0, NULL );
buttons.c:         EZ_GetRadioButtonGroupVariableValue( summary->subject_button );
buttons.c:      items = EZ_GetFancyListBoxSelection( summary->summary_list );
buttons.c:                        (( summary->contents[ i ].is_requested ) ?
buttons.c:                         summary->requested_colour : summary->header_colour ),
buttons.c:   if ( summary->contents[ j ].is_article )
buttons.c:      for( l = 0; l < summary->stats.total; ++l )
buttons.c:         if ( !strcmp( summary->contents[ l ].message_id, pointer ))
buttons.c:      if (( result = ln_toggle_reference( summary->group_name, folder,
buttons.c:                                          summary->contents[ j ].message_id, 
buttons.c:   tree->group_list[ i ].requests = summary->stats.requests = count;
buttons.c:   summary->contents[ j ].has_ref_requests = 1;
buttons.c:   summary->set_tree( summary, summary->thread_tree, 
buttons.c:   EZ_ListTreeWidgetSelectNode( summary->thread_tree, summary->node_list[ j ],
buttons.c:      if ( !summary->contents[ j ].is_unread )
buttons.c:      summary->contents[ j ].is_unread = 0;
buttons.c:      EZ_ConfigureItem( EZ_TreeNodeGetItem( summary->node_list[ j ] ),
buttons.c:      if ( summary->contents[ j ].is_unread )
buttons.c:      summary->contents[ j ].is_unread = 1;
buttons.c:      summary->stats.unread++;
buttons.c:      EZ_ConfigureItem( EZ_TreeNodeGetItem( summary->node_list[ j ] ),
buttons.c:   for( j = 0; j < summary->stats.total; ++j )
buttons.c:                              summary->contents[ j ].subject, 0, NULL, 0 )))
buttons.c:   if ( !summary->stats.total )
buttons.c:   if ( ( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
buttons.c:         if ( summary->contents[ j ].is_article )
buttons.c:         if ( selected == NULL || selected == summary->root )
buttons.c:         while( ( parent = EZ_TreeNodeGetParent( selected )) != summary->root )
buttons.c:         while( ( k < summary->stats.total ) && 
buttons.c:                summary->contents[ k ].threading );
buttons.c:         while( k < summary->stats.total )      
buttons.c:            if ( !buttons->compare_subjects( summary->contents[ j ].subject,
buttons.c:                                             summary->contents[ k ].subject ))                          
buttons.c:               if ( summary->contents[ k++ ].queue )                           
buttons.c:                  while( k < summary->stats.total &&                         
buttons.c:                        summary->contents[ k ].threading )                 
buttons.c:               if ( !buttons->compare_subjects( summary->contents[ j ].subject,
buttons.c:                                               summary->contents[ k ].subject ))
buttons.c:                  if( summary->contents[ k ].queue )
buttons.c:                     while( ++k < j && summary->contents[ k ].threading )
buttons.c:         if ( !summary->stats.total )
buttons.c:         for( j = 0; j < summary->stats.total; ++j )
buttons.c:            if ( !summary->contents[ j ].is_article )
buttons.c:            EZ_ListTreeWidgetSelectNode( summary->thread_tree, 
buttons.c:                                         summary->node_list[ j ], NULL ); 
buttons.c:   if ( summary->summary_onscreen )
buttons.c:      summary->show_stats( summary );
buttons.c:      for( j = 0; j < summary->stats.total; ++j )
buttons.c:         summary->contents[ j ].is_unread = 0;
buttons.c:      summary->stats.unread = 0;
buttons.c:      for( j = 0; j < summary->stats.total; ++j )
buttons.c:         summary->contents[ j ].is_unread = 1;
buttons.c:      summary->stats.unread = summary->stats.total;
buttons.c:   if (( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
buttons.c:         == NULL || selected == summary->root )
buttons.c:   while(( parent = EZ_TreeNodeGetParent( selected )) != summary->root )
buttons.c:   old = summary->stats.unread;
buttons.c:   while(( k < summary->stats.total ) && summary->contents[ k ].threading )
buttons.c:      summary->contents[ k ].is_unread ^= 1;
buttons.c:   while( k < summary->stats.total )
buttons.c:      if ( !buttons->compare_subjects( summary->contents[ j ].subject,
buttons.c:                                       summary->contents[ k ].subject ))
buttons.c:         summary->contents[ k ].is_unread ^= 1;
buttons.c:         if ( summary->contents[ k++ ].queue )
buttons.c:            while( k < summary->stats.total &&
buttons.c:                   summary->contents[ k ].threading )
buttons.c:               summary->contents[ k ].is_unread ^= 1;
buttons.c:         if ( !buttons->compare_subjects( summary->contents[ j ].subject,
buttons.c:                                          summary->contents[ k ].subject ))
buttons.c:            summary->contents[ k ].is_unread ^= 1;
buttons.c:            if ( summary->contents[ k++ ].queue )
buttons.c:               while( k < j && summary->contents[ k ].threading )
buttons.c:                  summary->contents[ k ].is_unread ^= 1;
buttons.c:      if ( !( tree->group_list[ i ].unread = summary->stats.unread -= count ))
buttons.c:      tree->group_list[ i ].unread = summary->stats.unread += count;
buttons.c:      if ((( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
buttons.c:         if ( !summary->contents[ j ].is_unread )
buttons.c:            summary->contents[ j ].is_unread = 1;
buttons.c:            old = summary->stats.unread++;
buttons.c:   summary_node = EZ_GetListTreeWidgetSelection( summary->thread_tree );
buttons.c:      EZ_ListTreeWidgetSelectNode( summary->thread_tree, summary_node, NULL );
buttons.c:   if (( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
buttons.c:         EZ_ListTreeWidgetSelectNode( summary->thread_tree, 
buttons.c:                                      summary->node_list[ k ], NULL );
buttons.c:   if ( ( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
buttons.c:   if ( summary->contents[ i ].is_article )
buttons.c:    selected = EZ_GetListTreeWidgetSelection( summary->thread_tree );
buttons.c:    strncpy( buffer, summary->contents[ i ].subject, 35 );
buttons.c:    if (( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
buttons.c:    EZ_FreezeWidget( summary->thread_tree );
buttons.c:            if (( temp = summary->stats.total ))
buttons.c:                while( --temp && summary->node_list[ temp ] == NULL );
buttons.c:                if ( summary->node_list[ temp ] != NULL )
buttons.c:                    EZ_ListTreeWidgetSelectNode( summary->thread_tree,
buttons.c:                                                 summary->node_list[ temp ], 
buttons.c:            while( --temp && summary->node_list[ temp ] == NULL );
buttons.c:            if ( summary->node_list[ temp ] != NULL )
buttons.c:                EZ_ListTreeWidgetSelectNode( summary->thread_tree, 
buttons.c:                                             summary->node_list[ temp ], 
buttons.c:                temp = summary->stats.total;
buttons.c:                while( summary->node_list[ --temp ] == NULL ); 
buttons.c:                EZ_ListTreeWidgetSelectNode( summary->thread_tree, 
buttons.c:                                             summary->node_list[ temp ],
buttons.c:        if ( summary->stats.unread )
buttons.c:                temp = summary->stats.total;
buttons.c:                while( !summary->contents[ --temp ].is_unread );
buttons.c:                EZ_ListTreeWidgetSelectNode( summary->thread_tree, 
buttons.c:                                             summary->node_list[ temp ], 
buttons.c:            while( temp && !summary->contents[ --temp ].is_unread );
buttons.c:            if ( summary->contents[ temp ].is_unread )
buttons.c:                EZ_ListTreeWidgetSelectNode( summary->thread_tree, 
buttons.c:                                             summary->node_list[ temp ], 
buttons.c:            temp = summary->stats.total;
buttons.c:            while( !summary->contents[ --temp ].is_unread );
buttons.c:            EZ_ListTreeWidgetSelectNode( summary->thread_tree,
buttons.c:                                         summary->node_list[ temp ], 
buttons.c:        if ( summary->stats.unread )
buttons.c:                while( !summary->contents[ ++temp ].is_unread );
buttons.c:                EZ_ListTreeWidgetSelectNode( summary->thread_tree,
buttons.c:                                             summary->node_list[ temp ], 
buttons.c:            while( temp < summary->stats.total - 1 && 
buttons.c:                   !summary->contents[ ++temp ].is_unread );
buttons.c:            if ( summary->contents[ temp ].is_unread )
buttons.c:                EZ_ListTreeWidgetSelectNode( summary->thread_tree,
buttons.c:                                             summary->node_list[ temp ],
buttons.c:            while( !summary->contents[ ++temp ].is_unread );
buttons.c:            EZ_ListTreeWidgetSelectNode( summary->thread_tree,
buttons.c:                                         summary->node_list[ temp ], 
buttons.c:            if ( summary->stats.total )
buttons.c:                while( summary->node_list[ ++temp ] == NULL );
buttons.c:                EZ_ListTreeWidgetSelectNode( summary->thread_tree,
buttons.c:                                             summary->node_list[ temp ], 
buttons.c:        if ( summary->stats.total )
buttons.c:            if ( article < summary->stats.total - 1 )
buttons.c:                while( temp < summary->stats.total - 1 &&
buttons.c:                       summary->node_list[ ++temp ] == NULL );
buttons.c:                if ( summary->node_list[ temp ] != NULL )
buttons.c:                    EZ_ListTreeWidgetSelectNode( summary->thread_tree,
buttons.c:                                                 summary->node_list[ temp ],
buttons.c:                while( summary->node_list[ ++temp ] == NULL );
buttons.c:                EZ_ListTreeWidgetSelectNode( summary->thread_tree,
buttons.c:                                             summary->node_list[ temp ],
buttons.c:   EZ_UnFreezeWidget( summary->thread_tree );
buttons.c:   if ( EZ_GetListTreeWidgetSelection( summary->thread_tree ) == NULL )
buttons.c:   if (( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
buttons.c:   if ( !summary->contents[ i ].is_article )
buttons.c:                                 summary->contents[ i ].subject, 
buttons.c:                     summary->contents[ i ].subject + matches[ 1 ].rm_so,
buttons.c:         if ( !strncmp( tree->group_list[ summary->group ].server,
buttons.c:               !strncmp( tree->group_list[ summary->group ].server,
buttons.c:            group = summary->group_name;
edit.c:      if (( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
edit.c:      if ( !summary->contents[ j ].is_article )
edit.c:      from = summary->contents[ j ].from;
edit.c:   if (( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
edit.c:   if (( article = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
edit.c:           EZ_ListTreeWidgetSelectNode( summary->thread_tree, 
edit.c:                                        summary->node_list[ j ],
edit.c:   if (( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
edit.c:      if ( summary->stats.total )
edit.c:         for( j = 0; j < summary->stats.total; ++j )
edit.c:            item = EZ_TreeNodeGetItem( summary->node_list [ j ] );
edit.c:            if ( summary->contents[ j ].delete )
edit.c:            summary->contents[ j ].delete ^= 1;
edit.c:      if ( summary->contents[ k ].delete )
edit.c:      if ( !( summary->contents[ k ].delete ^= 1 ))
edit.c:      EZ_ListTreeWidgetSelectNode( summary->thread_tree, 
edit.c:                                   summary->node_list[ k ], NULL );
edit.c:    * If we're being called by summary->set_tree, the selection has been
edit.c:    * changed in the group tree, so don't get it. Use summary->group
edit.c:      i = summary->group;
edit.c:      if ( summary->stats.total )
edit.c:                                           summary->contents, 
edit.c:                                           summary->stats.total,
edit.c:   if (( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
edit.c:   EZ_ListTreeWidgetSelectNode( summary->thread_tree, summary->node_list[ j ],
edit.c:  if (( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
edit.c:   if (( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
edit.c:   if ( !summary->contents[ i ].is_article )
edit.c:   if ( !strncmp( tree->group_list[ summary->group ].server, "Folders", 7 ) ||
edit.c:        !strncmp( tree->group_list[ summary->group ].server, "Virtual", 7 ))
edit.c:      server = tree->group_list[ summary->group ].server_idx;
folders.c:   if (( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
folders.c:           if ( -1 < j && j < summary->stats.total )
folders.c:               EZ_ListTreeWidgetSelectNode( summary->thread_tree,
folders.c:                                            summary->node_list[ j ], NULL );
newsrc.c:   if (( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
newsrc.c:           if ( -1 < j && j < summary->stats.total )
newsrc.c:               EZ_ListTreeWidgetSelectNode( summary->thread_tree, 
newsrc.c:                                            summary->node_list[ j ],
newsreader.c:      if (( selected = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
newsreader.c:         summary->tree_motion_callback( summary->thread_tree, summary );
search.c:   if ( summary->summary_onscreen )
search.c:      EZ_WaitCursor( summary->summary_frame, EZ_GetCursor( XC_watch ));
search.c:   if ( summary->summary_onscreen )
search.c:      EZ_NormalCursor( summary->summary_frame );
search.c:   if ( summary->node_state[ article ] == NP_INACTIVE )
search.c:      while( summary->node_state[ temp ] == NP_INACTIVE )
search.c:         summary->node_state[ temp-- ] = NP_ACTIVE;
search.c:      summary->update_tree( summary, summary->thread_tree );
search.c:   if ( EZ_GetListTreeWidgetSelection( summary->thread_tree )
search.c:         == summary->node_list[ article ] )
search.c:      summary->tree_motion_callback( summary->thread_tree, summary );
search.c:      EZ_ListTreeWidgetSelectNode( summary->thread_tree, 
search.c:                                   summary->node_list[ article ], NULL ); 
search.c:   if ( line > summary->contents[ article ].h_lines )
search.c:      line -= summary->contents[ article ].h_lines;
search.c:   if ( text == message->body_text || !summary->contents[ article ].is_article )
summary.c:   summary->parent = parent;
summary.c:   summary->update_summary = summary_update_summary;
summary.c:   summary->create_local_times = summary_create_local_times;
summary.c:   summary->contents_destroy = summary_contents_destroy;
summary.c:   summary->show_stats = summary_show_stats;
summary.c:   summary->clear_tree = summary_clear_tree;
summary.c:   summary->set_tree = summary_set_tree;
summary.c:   summary->tree_motion_callback = summary_tree_motion_callback;
summary.c:   summary->tree_normal_callback = summary_tree_normal_callback;
summary.c:   summary->update_tree = summary_update_tree;
summary.c:   summary->dive_for_the_unseen = summary_dive_for_the_unseen;
summary.c:   summary->recursively_descend_thread = summary_recursively_descend_thread;
summary.c:   summary->toplevel_stack = summary_toplevel_stack;
summary.c:   summary->create_missing_item = summary_create_missing_item;
summary.c:   summary->destroy = summary_destroy;
summary.c:   summary->callback  = summary_callback;
summary.c:   summary->subject_callback = summary_subject_callback;
summary.c:   summary->poster_callback = summary_poster_callback;
summary.c:   summary->date_callback = summary_date_callback;
summary.c:   summary->list_callback = summary_list_callback;
summary.c:   summary->reorder = summary_reorder;
summary.c:   summary->dnd_encoder = summary_dnd_encoder;
summary.c:   summary->done_callback = summary_done_callback;
summary.c:   summary->group_name = NULL;
summary.c:   summary->group = 0;
summary.c:   summary->contents = NULL;
summary.c:   summary->root = NULL;
summary.c:   summary->node_list = NULL;
summary.c:   summary->node_state = NULL;
summary.c:   summary->article_colour = "Black";
summary.c:   summary->header_colour = "DarkRed";
summary.c:   summary->requested_colour = "ForestGreen";
summary.c:   summary->local_times = NULL;
summary.c:   summary->positions = NULL;
summary.c:   summary->summary_onscreen = 0;
summary.c:   summary->stats.total = 0;
summary.c:   summary->stats.unread = 0;
summary.c:   summary->stats.requests = 0;
summary.c:   summary->stats.headers = 0;
summary.c:   summary->stats.articles = 0;
summary.c:   summary->thread_tree 
summary.c:   EZ_SetHScrollbarDiscreteSpeed( summary->thread_tree, 10 );
summary.c:   EZ_SetVScrollbarDiscreteSpeed( summary->thread_tree, 10 );
summary.c:   EZ_ConfigureWidget( summary->thread_tree,
summary.c:                       EZ_MOTION_CALLBACK, summary->tree_motion_callback,
summary.c:                       EZ_CALLBACK, summary->tree_normal_callback, 
summary.c:   newsreader = ( np_newsreader_object *)summary->parent;
summary.c:   snprintf( buffer, LN_BUFFER_SIZE, "%s:", summary->group_name );
summary.c:   EZ_ConfigureWidget( summary->group_label,
summary.c:             summary->stats.total, summary->stats.unread, 
summary.c:             summary->stats.articles, summary->stats.headers, 
summary.c:             summary->stats.requests );
summary.c:   EZ_ConfigureWidget( summary->message_label,
summary.c:   newsreader = ( np_newsreader_object *)summary->parent;
summary.c:   summary->root = EZ_CreateTreeNode( NULL, item );
summary.c:   EZ_SetListTreeWidgetTree( summary->thread_tree, summary->root );
summary.c:   EZ_DisplayWidget( summary->thread_tree );
summary.c:   newsreader = ( np_newsreader_object *)summary->parent;
summary.c:   if ( summary->group != group )
summary.c:      if ( !strncmp( tree_object->group_list[ summary->group ].group, 
summary.c:            !strncmp( tree_object->group_list[ summary->group ].group, 
summary.c:         if ( !( tree_object->group_list[ summary->group ].total ))
summary.c:                     tree_object->group_nodes[ summary->group ] );
summary.c:   summary->group = group;
summary.c:   if ( summary->group_name != NULL )
summary.c:      free( summary->group_name );
summary.c:   if (( summary->group_name = strdup( group_name )) == NULL )
summary.c:   if ( summary->contents != NULL )
summary.c:      summary->contents_destroy( summary->contents, summary->stats.total );
summary.c:      if (( summary->contents = calloc( total, sizeof *summary->contents ))
summary.c:   if ( summary->node_list != NULL )
summary.c:      free( summary->node_list );
summary.c:      summary->node_list = NULL;
summary.c:   if ( summary->node_state != NULL )
summary.c:      free( summary->node_state );
summary.c:      summary->node_state = NULL;
summary.c:   summary->old_total = summary->stats.total;
summary.c:                                 &summary->stats, 
summary.c:                                 &summary->contents ))
summary.c:         summary->clear_tree( summary  );
summary.c:         if ( summary->summary_onscreen )
summary.c:            summary->update_summary( summary );
summary.c:         if ( summary->summary_onscreen )
summary.c:            summary->update_summary( summary );
summary.c:            summary->show_stats( summary );
summary.c:            if ( summary->local_times != NULL )
summary.c:               if ( summary->positions != NULL )
summary.c:                  free( summary->positions );
summary.c:                  summary->positions = NULL;
summary.c:               for( i = 0; i < summary->old_total; ++i )
summary.c:                  if ( summary->local_times[ i ] != NULL )
summary.c:                     free( summary->local_times[ i ] );
summary.c:               free( summary->local_times );
summary.c:               summary->local_times = NULL;
summary.c:   if (( summary->node_list = calloc( summary->stats.total, 
summary.c:         sizeof *summary->node_list )) == NULL )
summary.c:   if (( summary->node_state = calloc( summary->stats.total,
summary.c:         sizeof *summary->node_state )) == NULL )
summary.c:                                  EZ_FOREGROUND, summary->article_colour,
summary.c:   item = EZ_CreateLabelItem( (( *summary->group_name == ':' ) ?
summary.c:                               summary->group_name + 1 : summary->group_name ),
summary.c:   summary->root = EZ_CreateTreeNode( NULL, item );
summary.c:   summary->update_tree( summary, tree );
summary.c:   newsreader = ( np_newsreader_object *)summary->parent;
summary.c:      summary->toplevel_stack( toplevel, NP_PUSH );
summary.c:                              summary->create_missing_item( newsreader ));
summary.c:      summary->recursively_descend_thread( summary, depth - 1, toplevel, item,
summary.c:    if ( summary->group_name != NULL )
summary.c:        free( summary->group_name );
summary.c:    if ( summary->contents != NULL )
summary.c:        summary->contents_destroy( summary->contents, summary->stats.total );
summary.c:    if ( summary->local_times != NULL )
summary.c:        for( i = 0; i < summary->stats.total; ++i )
summary.c:            if ( summary->local_times[ i ] != NULL )
summary.c:                free( summary->local_times[ i ] );
summary.c:        free( summary->local_times );
summary.c:    if ( summary->positions != NULL )
summary.c:        free( summary->positions );
summary.c:    if ( summary->node_list != NULL )
summary.c:        free( summary->node_list );
summary.c:    if ( summary->node_state != NULL )
summary.c:        free( summary->node_state );
summary.c:   newsreader = ( np_newsreader_object *)summary->parent;
summary.c:   if (( selected = EZ_GetListTreeWidgetSelection( tree )) == summary->root )
summary.c:   for( i = 0; i < summary->stats.total; ++i )
summary.c:      if ( selected == summary->node_list[ i ] )
summary.c:   if ( i == summary->stats.total )
summary.c:   if ( summary->summary_onscreen )
summary.c:      for( k = 0; k < summary->stats.total; ++k )
summary.c:         if ( summary->positions[ k ] == j )
summary.c:      EZ_FancyListBoxSelectItemUsingIdx( summary->summary_list, ++k, 0, NULL );
summary.c:   pointer = summary->contents;
summary.c:      if ( ln_mark_read( summary->group_name, pointer[ i ].ordinal ))
summary.c:      summary->stats.unread--;
summary.c:      if ( !summary->stats.unread )
summary.c:      tree_object->group_list[ summary->group ].unread--;
summary.c:   if ( !strncmp( summary->group_name, "Follow-ups", 10 ))
summary.c:                tree_object->group_list[ summary->group ].server );
summary.c:      if ( !strncmp( summary->group_name, "Posted", 6 ))
summary.c:                   tree_object->group_list[ summary->group ].server );
summary.c:         group = summary->group_name;
summary.c:   if ( summary->summary_onscreen )
summary.c:      summary->show_stats( summary );
summary.c:   EZ_FancyListBoxClear( summary->summary_list );
summary.c:   if ( summary->positions != NULL )
summary.c:      free( summary->positions );
summary.c:      summary->positions = NULL;
summary.c:   if ( summary->local_times != NULL )
summary.c:      for( i = 0; i < summary->old_total; ++i )
summary.c:         if ( summary->local_times[ i ] != NULL )
summary.c:             free( summary->local_times[ i ] );
summary.c:      free( summary->local_times );
summary.c:      summary->local_times = NULL;
summary.c:   if ( summary->stats.total )
summary.c:      summary->create_local_times( summary );
summary.c:      switch( EZ_GetRadioButtonGroupVariableValue( summary->subject_button ))
summary.c:            summary->reorder( NP_SUBJECT, summary );
summary.c:            summary->reorder( NP_POSTER, summary );
summary.c:            summary->reorder( NP_DATE, summary );
summary.c:    newsreader = ( np_newsreader_object *)summary->parent;
summary.c:    if ( summary->local_times != NULL )
summary.c:        for( i = 0; i < summary->old_total; ++i )
summary.c:            if ( summary->local_times[ i ] != NULL )
summary.c:                free( summary->local_times[ i ] );
summary.c:        free( summary->local_times );
summary.c:    if (( summary->local_times = calloc( summary->stats.total, 
summary.c:                                         sizeof *summary->local_times )) 
summary.c:    EZ_SetFancyListBoxHeader( summary->summary_list, items, 3 );
summary.c:    pointer = summary->contents;
summary.c:    for( i = 0; i < summary->stats.total; ++i )
summary.c:        if ( ln_convert_date( pointer[ i ].date, &summary->local_times[ i ] ))
summary.c:   if ( !( j = summary->contents[ i ].queue ))
summary.c:      if ( summary->contents[ i + j ].is_unread )
summary.c:   message = (( np_newsreader_object *)summary->parent )->message_object;
summary.c:   if (( selected = EZ_GetListTreeWidgetSelection( tree )) == summary->root )
summary.c:   if ( i < summary->stats.total - 1 && summary->contents[ i + 1 ].sibling )
summary.c:      while( j < summary->stats.total - 1 ) 
summary.c:         if ( summary->contents[ ++j ].sibling ||
summary.c:              summary->contents[ j ].threading )
summary.c:            if ( !( summary->node_state[ j ] ^= NP_ACTIVE ))
summary.c:               summary->node_list[ j ] = NULL;
summary.c:      summary->update_tree( summary, tree );
summary.c:      EZ_ListTreeWidgetSelectNode( tree, summary->node_list[ i ], pos );
summary.c:   if (( test = summary->contents[ i ].queue ))
summary.c:      if ( summary->node_state[ i + 1 ] == NP_ACTIVE )
summary.c:         summary->node_state[ ++i ] = what;
summary.c:            summary->node_list[ i ] = NULL;
summary.c:      if ( summary->node_state[ i ] == NP_INACTIVE )
summary.c:         EZ_TreeDestroyNodeDescendants( summary->node_list[ j ] );
summary.c:         item = EZ_TreeNodeGetItem( summary->node_list[ j ] );
summary.c:         if (( count = summary->dive_for_the_unseen( summary, j )))
summary.c:         if ( summary->contents[ j ].delete )
summary.c:         if ( j < summary->stats.total - 1 )
summary.c:            while( summary->contents[ ++k ].sibling )
summary.c:         strcat( buffer, summary->contents[ j ].subject );
summary.c:         summary->update_tree( summary, tree );
summary.c:         EZ_ListTreeWidgetSelectNode( tree, summary->node_list[ j ], pos );
summary.c:   newsreader = ( np_newsreader_object *)summary->parent;
summary.c:   toplevel.node = summary->root;
summary.c:   EZ_TreeDestroyNodeDescendants( summary->root );
summary.c:   pointer = summary->contents;
summary.c:   for( i = 0; i < summary->stats.total; ++i )
summary.c:         summary->node_state[ i ] = NP_ACTIVE;
summary.c:            summary->node_state[ j ] = NP_INACTIVE;
summary.c:         summary->node_state[ i ] 
summary.c:   for( i = 0; i < summary->stats.total; ++i )
summary.c:      if ( summary->node_state[ i ] == NP_INACTIVE )
summary.c:         foreground = summary->article_colour;
summary.c:            = (( pointer[ i ].is_requested ) ? summary->requested_colour :
summary.c:                 summary->header_colour );
summary.c:         if ( summary->node_state[ i + 1 ] == NP_INACTIVE )
summary.c:            int count = summary->dive_for_the_unseen( summary, i );
summary.c:      if ( i < summary->stats.total - 1 )
summary.c:                                summary->dnd_encoder, summary, NULL, NULL );
summary.c:         summary->node_list[ i ] = EZ_CreateTreeNode( summary->root, item );
summary.c:         toplevel.node = summary->node_list[ i ];
summary.c:               summary->toplevel_stack( &toplevel, NP_POP );
summary.c:               summary->toplevel_stack( &toplevel, NP_POP );
summary.c:            summary->node_list[ i ] = EZ_CreateTreeNode( toplevel.node, item );
summary.c:               summary->recursively_descend_thread( summary, test - 1,
summary.c:                                                    &summary->node_list[ i ] );
summary.c:                  summary->toplevel_stack( &toplevel, NP_POP );
summary.c:               summary->node_list[ i ] = EZ_CreateTreeNode( toplevel.node, 
summary.c:            summary->toplevel_stack( &toplevel, NP_PUSH );
summary.c:            toplevel.node = summary->node_list[ i ];
summary.c:   summary->toplevel_stack( NULL, NP_CLEAN );
summary.c:   EZ_SetListTreeWidgetTree( tree, summary->root );
summary.c:   EZ_DestroyWidget( summary->summary_frame );
summary.c:   if ( summary->positions != NULL )
summary.c:      free( summary->positions );
summary.c:      summary->positions = NULL;
summary.c:   summary->summary_onscreen = 0;
summary.c:   newsreader = ( np_newsreader_object *)summary->parent;
summary.c:   if ( !summary->stats.total )
summary.c:      if (( array = calloc( summary->stats.total, sizeof *array )) == NULL )
summary.c:      pointer = summary->contents;
summary.c:      for( i = 0; i < summary->stats.total; ++i )
summary.c:               if (( array[ i ].first = strdup( summary->local_times[ i ] ))
summary.c:               if (( array[ i ].second = strdup( summary->local_times[ i ] ))
summary.c:      qsort( array, summary->stats.total, sizeof *array, ln_compare );
summary.c:   items_size = summary->stats.total * 3;
summary.c:   EZ_SetFancyListBoxHeader( summary->summary_list, items, 3 );
summary.c:      for( i = 0; i < summary->stats.total; ++i )
summary.c:   if ( summary->positions != NULL )
summary.c:      free( summary->positions );
summary.c:   if (( summary->positions = calloc( summary->stats.total, 
summary.c:         sizeof *summary->positions ))
summary.c:   pointer = summary->contents;
summary.c:   for( i = 0; i < summary->stats.total; ++i )
summary.c:            foreground = summary->article_colour;
summary.c:               = (( pointer[ i ].is_requested ) ? summary->requested_colour :
summary.c:                     summary->header_colour );
summary.c:            foreground = summary->article_colour;
summary.c:               = (( array[ i ].is_requested ) ? summary->requested_colour :
summary.c:                     summary->header_colour );
summary.c:            if (( buffer = strdup( summary->local_times[ i ] )) == NULL )
summary.c:            summary->positions[ i ] = pointer[ i ].ordinal;
summary.c:         summary->positions[ i ] = array[ i ].position;
summary.c:   EZ_FreezeWidget( summary->summary_list );
summary.c:   EZ_SetFancyListBoxData( summary->summary_list, items, 
summary.c:                           summary->stats.total, 3 );
summary.c:   EZ_UnFreezeWidget( summary->summary_list );
summary.c:      for( i = 0; i < summary->stats.total; ++i )
summary.c:   newsreader = ( np_newsreader_object *)summary->parent;
summary.c:   EZ_GetFancyListBoxSelectionIdx( summary->summary_list, &r, &c );
summary.c:      = EZ_GetRadioButtonGroupVariableValue( summary->subject_button );
summary.c:      r = summary->positions[ r ] - 1;
summary.c:   pointer = summary->contents;
summary.c:      items = EZ_GetFancyListBoxSelection( summary->summary_list );
summary.c:      EZ_DisplayWidget( summary->summary_list );
summary.c:   if ( summary->node_state[ r ] == NP_NOT_SHOWN )
summary.c:      while( summary->node_state[ i ] == NP_NOT_SHOWN )
summary.c:         summary->node_state[ i-- ] = NP_SHOWN;
summary.c:      summary->update_tree( summary, summary->thread_tree );
summary.c:   EZ_ListTreeWidgetSelectNode( summary->thread_tree, 
summary.c:                                summary->node_list[ r ], NULL );
summary.c:   EZ_DisplayWidget( summary->thread_tree );
summary.c:   newsreader = ( np_newsreader_object *)summary->parent;
summary.c:   if ( summary->summary_onscreen || !summary->stats.total )
summary.c:   summary->summary_frame = EZ_CreateFrame( NULL, "Group Summary" );
summary.c:   EZ_ConfigureWidget( summary->summary_frame,
summary.c:   summary->group_label = EZ_CreateLabel( summary->summary_frame, NULL );
summary.c:   EZ_ConfigureWidget( summary->group_label,
summary.c:   summary->message_label = EZ_CreateLabel( summary->summary_frame, NULL );
summary.c:   EZ_ConfigureWidget( summary->message_label,
summary.c:   button_frame = EZ_CreateFrame( summary->summary_frame, "sort by:" );
summary.c:   summary->subject_button
summary.c:   EZ_ConfigureWidget( summary->subject_button,
summary.c:                       EZ_CALLBACK, summary->subject_callback, summary,
summary.c:                       EZ_CALLBACK, summary->poster_callback, summary,
summary.c:                       EZ_CALLBACK, summary->date_callback, summary,
summary.c:   summary->summary_list = EZ_CreateFancyListBox( summary->summary_frame,
summary.c:   EZ_SetHScrollbarDiscreteSpeed( summary->summary_list, 10 );
summary.c:   EZ_SetVScrollbarDiscreteSpeed( summary->summary_list, 10 );
summary.c:   EZ_ConfigureWidget( summary->summary_list,
summary.c:                       EZ_MOTION_CALLBACK, summary->list_callback, 
summary.c:   done_button = EZ_CreateButton( summary->summary_frame, "done", 0 );
summary.c:                       EZ_CALLBACK, summary->done_callback, summary,
summary.c:   summary->show_stats( summary );
summary.c:   EZ_DisplayWidget( summary->summary_frame );
summary.c:   summary->summary_onscreen = 1;
summary.c:   if ( strcmp( group, summary->group_name ) || summary->local_times == NULL )
summary.c:      strcpy( group, summary->group_name );
summary.c:      summary->create_local_times( summary );
summary.c:   summary->subject_callback( summary->subject_button, summary );
summary.c:   EZ_SetRadioButtonGroupVariableValue( summary->subject_button, 0 );
tree.c:      EZ_SetListTreeWidgetTree( summary->thread_tree, NULL );
tree.c:      if ( summary->summary_onscreen )
tree.c:         EZ_FancyListBoxClear( summary->summary_list );
tree.c:      EZ_SetListTreeWidgetTree( summary->thread_tree, NULL );
tree.c:      if ( summary->summary_onscreen )
tree.c:         EZ_FancyListBoxClear( summary->summary_list );
tree.c:   summary->set_tree( summary, summary->thread_tree,
tree.c:               EZ_SetListTreeWidgetTree( summary->thread_tree, NULL );
tree.c:   if ( ln_file_article( summary->group_name, 
tree.c:                         tree->group_list[ summary->group ].server,
update.c:   if ( ( subject = EZ_GetListTreeWidgetSelection( summary->thread_tree ))
update.c:   if ( summary->summary_onscreen )
update.c:      summary->done_callback( NULL, summary );
update.c:   if ( subject != NULL && summary->stats.total
update.c:        && idx <= summary->stats.total )
update.c:      EZ_ListTreeWidgetSelectNode( summary->thread_tree, 
update.c:                                   summary->node_list[ idx ], NULL );
update.c:   newsreader = ( np_newsreader_object *)summary->parent;
update.c:   if ( summary->local_times == NULL )
update.c:      if (( summary->local_times = calloc( summary->stats.total,
update.c:                                           sizeof *summary->local_times ))
update.c:      for( j = 0; j < summary->stats.total; ++j )
update.c:         if ( ln_convert_date( summary->contents[ j ].date, 
update.c:                               &summary->local_times[ j ] ) == -1 )
update.c:                         elapsed_time, summary->stats.total, 
update.c:                         summary->local_times, 
update.c:   for( j = 0; j < summary->stats.total; ++j )
update.c:      free( summary->local_times[ j ] );
update.c:   free( summary->local_times );
update.c:   summary->local_times = NULL;
update.c:   newsreader = ( np_newsreader_object *)summary->parent;
update.c:   if ( summary->local_times != NULL )
update.c:      for( i = 0; i < summary->stats.total; ++i )
update.c:         if ( summary->local_times[ i ] != NULL )
update.c:            free( summary->local_times[ i ] );
update.c:      free( summary->local_times );
update.c:      summary->local_times = NULL;
update.c:            summary->stats.articles = summary->stats.total -= count;
