Changeset 7951


Ignore:
Timestamp:
Feb 26, 2009, 5:53:55 PM (13 years ago)
Author:
charles
Message:

(trunk gtk) #1871: webseed peer list in transmission gtk does not scroll, but instead resizes the window to fit it.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gtk/details.c

    r7888 r7951  
    298298        GtkTreeIter iter;
    299299        gtk_list_store_append( store, &iter );
    300         gtk_list_store_set( store, &iter, WEBSEED_COL_URL, inf->webseeds[i],
     300        gtk_list_store_set( store, &iter,
     301                            WEBSEED_COL_URL, inf->webseeds[i],
    301302                            WEBSEED_COL_DOWNLOAD_RATE, speeds[i],
    302303                            -1 );
     
    704705        GtkCellRenderer *   r;
    705706        const char *        t;
    706         GtkWidget *         fr;
     707        GtkWidget *         w;
     708        GtkWidget *         v;
    707709
    708710        m = webseed_model_new( tr_torrent_handle( gtor ) );
    709         webtree = gtk_tree_view_new_with_model( m );
    710         g_signal_connect( webtree, "button-release-event",
    711                           G_CALLBACK( on_tree_view_button_released ), NULL );
    712         gtk_tree_view_set_rules_hint( GTK_TREE_VIEW( webtree ), TRUE );
     711        v = gtk_tree_view_new_with_model( m );
     712        g_signal_connect( v, "button-release-event", G_CALLBACK( on_tree_view_button_released ), NULL );
     713        gtk_tree_view_set_rules_hint( GTK_TREE_VIEW( v ), TRUE );
    713714        p->webseeds = GTK_LIST_STORE( m );
    714715        g_object_unref( G_OBJECT( m ) );
     
    717718        r = gtk_cell_renderer_text_new ( );
    718719        g_object_set( G_OBJECT( r ), "ellipsize", PANGO_ELLIPSIZE_END, NULL );
    719         c =
    720             gtk_tree_view_column_new_with_attributes( t, r, "text",
    721                                                       WEBSEED_COL_URL,
    722                                                       NULL );
     720        c = gtk_tree_view_column_new_with_attributes( t, r, "text", WEBSEED_COL_URL, NULL );
    723721        g_object_set( G_OBJECT( c ), "expand", TRUE, NULL );
    724722        gtk_tree_view_column_set_sort_column_id( c, WEBSEED_COL_URL );
    725         gtk_tree_view_append_column( GTK_TREE_VIEW( webtree ), c );
     723        gtk_tree_view_append_column( GTK_TREE_VIEW( v ), c );
    726724
    727725        t = _( webseed_column_names[WEBSEED_COL_DOWNLOAD_RATE] );
    728726        r = gtk_cell_renderer_text_new ( );
    729         c = gtk_tree_view_column_new_with_attributes (
    730             t, r, "text", WEBSEED_COL_DOWNLOAD_RATE, NULL );
    731         gtk_tree_view_column_set_cell_data_func ( c, r, render_dl_rate,
    732                                                   NULL, NULL );
    733         gtk_tree_view_column_set_sort_column_id( c,
    734                                                  WEBSEED_COL_DOWNLOAD_RATE );
    735         gtk_tree_view_append_column( GTK_TREE_VIEW( webtree ), c );
    736 
    737         fr = gtk_frame_new( NULL );
    738         gtk_frame_set_shadow_type( GTK_FRAME( fr ), GTK_SHADOW_IN );
    739         gtk_container_add( GTK_CONTAINER( fr ), webtree );
    740         webtree = fr;
     727        c = gtk_tree_view_column_new_with_attributes ( t, r, "text", WEBSEED_COL_DOWNLOAD_RATE, NULL );
     728        gtk_tree_view_column_set_cell_data_func ( c, r, render_dl_rate, NULL, NULL );
     729        gtk_tree_view_column_set_sort_column_id( c, WEBSEED_COL_DOWNLOAD_RATE );
     730        gtk_tree_view_append_column( GTK_TREE_VIEW( v ), c );
     731
     732        w = gtk_scrolled_window_new ( NULL, NULL );
     733        gtk_scrolled_window_set_policy ( GTK_SCROLLED_WINDOW( w ),
     734                                         GTK_POLICY_AUTOMATIC,
     735                                         GTK_POLICY_AUTOMATIC );
     736        gtk_scrolled_window_set_shadow_type ( GTK_SCROLLED_WINDOW( w ),
     737                                              GTK_SHADOW_IN );
     738        gtk_container_add ( GTK_CONTAINER( w ), v );
     739
     740        webtree = w;
    741741    }
    742742
     
    842842    gtk_container_set_border_width ( GTK_CONTAINER( vbox ), GUI_PAD_BIG );
    843843
    844     if( webtree )
    845         gtk_box_pack_start( GTK_BOX( vbox ), webtree, FALSE, FALSE, 0 );
    846 
    847     /* h = gtk_hbox_new (FALSE, GUI_PAD); */
    848     /* gtk_box_pack_start_defaults (GTK_BOX(h), sw); */
    849     gtk_box_pack_start( GTK_BOX( vbox ), sw, TRUE, TRUE, 0 );
     844    if( webtree == NULL )
     845        gtk_box_pack_start( GTK_BOX( vbox ), sw, TRUE, TRUE, 0 );
     846    else {
     847        GtkWidget * vpaned = gtk_vpaned_new( );
     848        gtk_paned_pack1( GTK_PANED( vpaned ), webtree, FALSE, TRUE );
     849        gtk_paned_pack2( GTK_PANED( vpaned ), sw, TRUE, TRUE );
     850        gtk_box_pack_start( GTK_BOX( vbox ), vpaned, TRUE, TRUE, 0 );
     851    }
    850852
    851853    hbox = gtk_hbox_new ( FALSE, GUI_PAD );
Note: See TracChangeset for help on using the changeset viewer.