WEBSEED_COL_KEY,
WEBSEED_COL_WAS_UPDATED,
WEBSEED_COL_URL,
- WEBSEED_COL_DOWNLOAD_RATE,
+ WEBSEED_COL_DOWNLOAD_RATE_DOUBLE,
+ WEBSEED_COL_DOWNLOAD_RATE_STRING,
N_WEBSEED_COLS
};
switch( column )
{
case WEBSEED_COL_URL: return _( "Webseeds" );
- case WEBSEED_COL_DOWNLOAD_RATE: return _( "Down" );
+ case WEBSEED_COL_DOWNLOAD_RATE_DOUBLE:
+ case WEBSEED_COL_DOWNLOAD_RATE_STRING: return _( "Down" );
default: return "";
}
}
G_TYPE_STRING, /* key */
G_TYPE_BOOLEAN, /* was-updated */
G_TYPE_STRING, /* url */
- G_TYPE_FLOAT); /* download rate */
+ G_TYPE_DOUBLE, /* download rate double */
+ G_TYPE_STRING ); /* download rate string */
}
enum
GtkListStore * store = di->webseed_store;
GtkTreeModel * model = GTK_TREE_MODEL( store );
-
/* step 1: mark all webseeds as not-updated */
if( gtk_tree_model_get_iter_first( model, &iter ) ) do
gtk_list_store_set( store, &iter, WEBSEED_COL_WAS_UPDATED, FALSE, -1 );
if( g_hash_table_lookup( hash, key ) == NULL ) {
GtkTreePath * p;
gtk_list_store_append( store, &iter );
- gtk_list_store_set( store, &iter, WEBSEED_COL_URL, url, -1 );
+ gtk_list_store_set( store, &iter, WEBSEED_COL_URL, url,
+ WEBSEED_COL_KEY, key,
+ -1 );
p = gtk_tree_model_get_path( model, &iter );
g_hash_table_insert( hash, g_strdup( key ),
gtk_tree_row_reference_new( model, p ) );
const tr_info * inf = tr_torrentInfo( tor );
float * speeds = tr_torrentWebSpeeds( tor );
for( j=0; j<inf->webseedCount; ++j ) {
+ char buf[128];
char key[256];
const char * url = inf->webseeds[j];
GtkTreePath * p;
ref = g_hash_table_lookup( hash, key );
p = gtk_tree_row_reference_get_path( ref );
gtk_tree_model_get_iter( model, &iter, p );
- gtk_list_store_set( store, &iter, WEBSEED_COL_DOWNLOAD_RATE, (int)speeds[j], -1 );
+ if( speeds[j] > 0.01 )
+ tr_strlspeed( buf, speeds[j], sizeof( buf ) );
+ else
+ *buf = '\0';
+ gtk_list_store_set( store, &iter, WEBSEED_COL_DOWNLOAD_RATE_DOUBLE, (double)speeds[j],
+ WEBSEED_COL_DOWNLOAD_RATE_STRING, buf,
+ WEBSEED_COL_WAS_UPDATED, TRUE,
+ -1 );
gtk_tree_path_free( p );
}
tr_free( speeds );
gtk_tree_view_column_set_sort_column_id( c, WEBSEED_COL_URL );
gtk_tree_view_append_column( GTK_TREE_VIEW( v ), c );
- str = getWebseedColumnNames( WEBSEED_COL_DOWNLOAD_RATE );
+ str = getWebseedColumnNames( WEBSEED_COL_DOWNLOAD_RATE_STRING );
r = gtk_cell_renderer_text_new( );
- c = gtk_tree_view_column_new_with_attributes( str, r, "text", WEBSEED_COL_DOWNLOAD_RATE, NULL );
- gtk_tree_view_column_set_sort_column_id( c, WEBSEED_COL_DOWNLOAD_RATE );
+ c = gtk_tree_view_column_new_with_attributes( str, r, "text", WEBSEED_COL_DOWNLOAD_RATE_STRING, NULL );
+ gtk_tree_view_column_set_sort_column_id( c, WEBSEED_COL_DOWNLOAD_RATE_DOUBLE );
gtk_tree_view_append_column( GTK_TREE_VIEW( v ), c );
w = gtk_scrolled_window_new( NULL, NULL );