Changeset 5265


Ignore:
Timestamp:
Mar 16, 2008, 9:26:05 PM (14 years ago)
Author:
charles
Message:

(gtk) more cleanup in the mesage log window.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gtk/msgwin.c

    r5262 r5265  
    88 * the Transmission project.
    99 *
    10  * $Id:$
     10 * $Id$
    1111 */
    1212
     
    2929enum
    3030{
    31     COL_LEVEL,
    32     COL_LINE,
    33     COL_FILE,
    34     COL_TIME,
     31    COL_SEQUENCE,
    3532    COL_CATEGORY,
    3633    COL_MESSAGE,
    37     COL_SEQUENCE,
     34    COL_TR_MSG,
    3835    N_COLUMNS
    3936};
     
    9390        if( gtk_tree_model_iter_children( model, &iter, NULL ) ) do
    9491        {
    95             int level;
    96             uint64_t time;
    97             char * category;
    98             char * message;
    9992            char * date;
    10093            const char * levelStr;
     94            const struct tr_msg_list * node;
    10195
    10296            gtk_tree_model_get( model, &iter,
    103                                 COL_LEVEL, &level,
    104                                 COL_TIME, &time,
    105                                 COL_CATEGORY, &category,
    106                                 COL_MESSAGE, &message,
     97                                COL_TR_MSG, &node,
    10798                                -1 );
    108             date = rfc822date( time*1000u );
    109             switch( level ) {
     99            date = rfc822date( node->when*1000u );
     100            switch( node->level ) {
    110101                case TR_MSG_DBG: levelStr = "debug"; break;
    111102                case TR_MSG_ERR: levelStr = "error"; break;
    112103                default:         levelStr = "     "; break;
    113104            }
    114             fprintf( fp, "%s\t%s\t%s\t%s\n", date, levelStr, category, message );
    115 
    116             /* cleanup */
     105            fprintf( fp, "%s\t%s\t%s\t%s\n", date, levelStr, node->name, node->message );
     106
    117107            g_free( date );
    118             g_free( message );
    119             g_free( category );
    120108        }
    121109        while( gtk_tree_model_iter_next( model, &iter ) );
     
    194182            gpointer             gcol )
    195183{
    196     int col = GPOINTER_TO_INT( gcol );
    197     int level;
     184    const int col = GPOINTER_TO_INT( gcol );
    198185    char * str = NULL;
    199     gtk_tree_model_get( tree_model, iter, col, &str, COL_LEVEL, &level, -1 );
     186    const struct tr_msg_list * node;
     187    gtk_tree_model_get( tree_model, iter, col, &str, COL_TR_MSG, &node, -1 );
    200188    g_object_set( renderer, "text", str,
    201                             "foreground", getForegroundColor( level ),
     189                            "foreground", getForegroundColor( node->level ),
    202190                            "ellipsize", PANGO_ELLIPSIZE_END,
    203191                            NULL );
    204     g_free( str );
    205192}
    206193
     
    212199            gpointer             data UNUSED )
    213200{
    214     int level;
    215     uint64_t tmp;
    216     time_t time;
    217201    struct tm tm;
    218202    char buf[16];
    219 
    220     gtk_tree_model_get(tree_model, iter, COL_TIME, &tmp, COL_LEVEL, &level, -1 );
    221     time = tmp;
    222     tm = *localtime( &time );
     203    const struct tr_msg_list * node;
     204
     205    gtk_tree_model_get(tree_model, iter, COL_TR_MSG, &node, -1 );
     206    tm = *localtime( &node->when );
    223207    g_snprintf( buf, sizeof( buf ), "%02d:%02d:%02d", tm.tm_hour, tm.tm_min, tm.tm_sec );
    224208    g_object_set (renderer, "text", buf,
    225                             "foreground", getForegroundColor( level ),
     209                            "foreground", getForegroundColor( node->level ),
    226210                            NULL );
    227211}
     
    232216    GtkCellRenderer * r;
    233217    GtkTreeViewColumn * c;
    234     int sort_col = col;
    235218    const char * title = NULL;
    236219
    237220    switch( col ) {
    238         case COL_LEVEL:    title = NULL; break;
    239         case COL_LINE:     title = NULL; break;
    240         case COL_FILE:     title = _( "Filename" ); break;
    241         case COL_TIME:     title = _( "Time" ); break;
     221        case COL_SEQUENCE: title = _( "Time" ); break;
    242222        case COL_CATEGORY: title = _( "Name"); break;
    243223        case COL_MESSAGE:  title = _( "Message" ); break;
     
    247227    switch( col )
    248228    {
    249         case COL_LINE:
    250             r = gtk_cell_renderer_text_new( );
    251             c = gtk_tree_view_column_new_with_attributes( title, r, "text", col, NULL );
    252             gtk_tree_view_column_set_resizable( c, FALSE );
    253             break;
    254 
    255         case COL_FILE:
    256229        case COL_CATEGORY:
    257230            r = gtk_cell_renderer_text_new( );
     
    272245            break;
    273246
    274         case COL_TIME:
     247        case COL_SEQUENCE:
    275248            r = gtk_cell_renderer_text_new( );
    276249            c = gtk_tree_view_column_new_with_attributes( title, r, NULL );
    277250            gtk_tree_view_column_set_cell_data_func( c, r, renderTime, NULL, NULL );
    278251            gtk_tree_view_column_set_resizable( c, TRUE );
    279             sort_col = COL_SEQUENCE;
    280252            break;
    281253
     
    285257    }
    286258
    287     gtk_tree_view_column_set_sort_column_id( c, sort_col );
     259    gtk_tree_view_column_set_sort_column_id( c, col );
    288260    gtk_tree_view_append_column( view, c );
    289261}
     
    292264isRowVisible( GtkTreeModel * model, GtkTreeIter * iter, gpointer gdata )
    293265{
    294     struct MsgData * data = gdata;
    295     int level;
    296     gtk_tree_model_get( model, iter, COL_LEVEL, &level, -1 );
    297     return level <= data->maxLevel;
     266    const struct MsgData * data = gdata;
     267    const struct tr_msg_list * node;
     268    gtk_tree_model_get( model, iter, COL_TR_MSG, &node, -1 );
     269    return node->level <= data->maxLevel;
    298270}
    299271
     
    318290
    319291        gtk_list_store_insert_with_values( store, &unused, 0,
    320                                            COL_LEVEL, (int)i->level,
    321                                            COL_LINE, i->line,
    322                                            COL_FILE, i->file,
    323                                            COL_TIME, (uint64_t)i->when,
     292                                           COL_TR_MSG, i,
    324293                                           COL_CATEGORY, ( i->name ? i->name : default_category ),
    325294                                           COL_MESSAGE, i->message,
     
    449418
    450419    data->store = gtk_list_store_new( N_COLUMNS,
    451                                       G_TYPE_INT,       /* level */
    452                                       G_TYPE_INT,       /* line number */
    453                                       G_TYPE_STRING,    /* file */
    454                                       G_TYPE_UINT64,    /* time */
    455                                       G_TYPE_STRING,    /* category */
    456                                       G_TYPE_STRING,    /* message */
    457                                       G_TYPE_INT );     /* sequence */
     420                                      G_TYPE_INT,        /* sequence */
     421                                      G_TYPE_POINTER,    /* category */
     422                                      G_TYPE_POINTER,    /* message */
     423                                      G_TYPE_POINTER);   /* struct tr_msg_list */
     424
    458425    addMessages( data->store, myHead );
    459426    onRefresh( data ); /* much faster to populate *before* it has listeners */
     
    469436    data->view = GTK_TREE_VIEW( view );
    470437    gtk_tree_view_set_rules_hint( data->view, TRUE );
    471     appendColumn( data->view, COL_TIME );
     438    appendColumn( data->view, COL_SEQUENCE );
    472439    appendColumn( data->view, COL_CATEGORY );
    473440    appendColumn( data->view, COL_MESSAGE );
Note: See TracChangeset for help on using the changeset viewer.