Changeset 8258


Ignore:
Timestamp:
Apr 19, 2009, 5:00:28 PM (12 years ago)
Author:
charles
Message:

(trunk gtk) tweak the encryption ui in the details dialog

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gtk/details.c

    r8249 r8258  
    979979}
    980980
     981static void
     982onIntComboChanged( GtkComboBox * w, tr_torrent * tor )
     983{
     984    GtkTreeIter iter;
     985
     986    if( gtk_combo_box_get_active_iter( w, &iter ) )
     987    {
     988        int val = 0;
     989        gtk_tree_model_get( gtk_combo_box_get_model( w ), &iter, 0, &val, -1 );
     990        tr_torrentSetPriority( tor, val );
     991    }
     992}
     993
     994static GtkWidget*
     995new_bandwidth_combo( tr_torrent * tor )
     996{
     997    int i;
     998    int selIndex;
     999    GtkWidget * w;
     1000    GtkCellRenderer * r;
     1001    GtkListStore * store;
     1002    const tr_priority_t currentValue = tr_torrentGetPriority( tor );
     1003    const struct {
     1004        int value;
     1005        const char * text;
     1006    } items[] = {
     1007        { TR_PRI_LOW,    N_( "Low" )  },
     1008        { TR_PRI_NORMAL, N_( "Normal" ) },
     1009        { TR_PRI_HIGH,   N_( "High" )  }
     1010    };
     1011
     1012    /* build a store for encryption */
     1013    selIndex = -1;
     1014    store = gtk_list_store_new( 2, G_TYPE_INT, G_TYPE_STRING );
     1015    for( i=0; i<(int)G_N_ELEMENTS(items); ++i ) {
     1016        GtkTreeIter iter;
     1017        gtk_list_store_append( store, &iter );
     1018        gtk_list_store_set( store, &iter, 0, items[i].value, 1, _( items[i].text ), -1 );
     1019        if( items[i].value == currentValue )
     1020            selIndex = i;
     1021    }
     1022
     1023    /* build the widget */
     1024    w = gtk_combo_box_new_with_model( GTK_TREE_MODEL( store ) );
     1025    r = gtk_cell_renderer_text_new( );
     1026    gtk_cell_layout_pack_start( GTK_CELL_LAYOUT( w ), r, TRUE );
     1027    gtk_cell_layout_set_attributes( GTK_CELL_LAYOUT( w ), r, "text", 1, NULL );
     1028    if( selIndex >= 0 )
     1029        gtk_combo_box_set_active( GTK_COMBO_BOX( w ), selIndex );
     1030    g_signal_connect( w, "changed", G_CALLBACK( onIntComboChanged ), tor );
     1031
     1032    /* cleanup */
     1033    g_object_unref( G_OBJECT( store ) );
     1034    return w;
     1035}
     1036
     1037
    9811038static GtkWidget*
    9821039options_page_new( struct ResponseData * data )
     
    10271084        sensitize_from_check_cb( GTK_TOGGLE_BUTTON( tb ), w );
    10281085        hig_workarea_add_row_w( t, &row, tb, w, NULL );
     1086
     1087        w = new_bandwidth_combo( tor );
     1088        hig_workarea_add_row( t, &row, _( "_Bandwidth priority:" ), w, NULL );
    10291089
    10301090    hig_workarea_add_section_divider( t, &row );
Note: See TracChangeset for help on using the changeset viewer.