GtkWidget * filter;
GtkWidget * status;
GtkWidget * status_menu;
+ GtkWidget * ul_hbox;
+ GtkWidget * dl_hbox;
GtkWidget * ul_lb;
+ GtkWidget * ul_image;
GtkWidget * dl_lb;
+ GtkWidget * dl_image;
GtkWidget * stats_lb;
GtkWidget * gutter_lb;
GtkWidget * alt_speed_image[2]; /* 0==off, 1==on */
const char * pch;
PrivateData * p;
GtkWidget *mainmenu, *toolbar, *filter, *list, *status;
- GtkWidget * vbox, *w, *self, *h, *c, *s, *image, *menu;
+ GtkWidget * vbox, *w, *self, *h, *c, *s, *hbox, *image, *menu;
GtkWindow * win;
GSList * l;
w = p->gutter_lb = gtk_label_new( "N Torrents" );
gtk_box_pack_start( GTK_BOX( h ), w, 1, 1, GUI_PAD_BIG );
- w = p->ul_lb = gtk_label_new( NULL );
- gtk_box_pack_end( GTK_BOX( h ), w, FALSE, FALSE, 0 );
- w = gtk_image_new_from_stock( GTK_STOCK_GO_UP, GTK_ICON_SIZE_MENU );
- gtk_box_pack_end( GTK_BOX( h ), w, FALSE, FALSE, 0 );
-
- w = gtk_alignment_new( 0.0f, 0.0f, 0.0f, 0.0f );
- gtk_widget_set_size_request( w, GUI_PAD, 0u );
- gtk_box_pack_end( GTK_BOX( h ), w, FALSE, FALSE, 0 );
- w = p->dl_lb = gtk_label_new( NULL );
- gtk_box_pack_end( GTK_BOX( h ), w, FALSE, FALSE, 0 );
-
- w = gtk_image_new_from_stock( GTK_STOCK_GO_DOWN, GTK_ICON_SIZE_MENU );
- gtk_box_pack_end( GTK_BOX( h ), w, FALSE, FALSE, 0 );
- w = gtk_alignment_new( 0.0f, 0.0f, 0.0f, 0.0f );
- gtk_widget_set_size_request( w, GUI_PAD, 0u );
- gtk_box_pack_end( GTK_BOX( h ), w, FALSE, FALSE, 0 );
- w = p->stats_lb = gtk_label_new( NULL );
- gtk_box_pack_end( GTK_BOX( h ), w, FALSE, FALSE, 0 );
-
- w = gtk_image_new_from_stock( GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU );
- c = gtk_event_box_new( );
- gtk_container_add( GTK_CONTAINER( c ), w );
- w = c;
- gtk_box_pack_end( GTK_BOX( h ), w, FALSE, FALSE, 0 );
- g_signal_connect( w, "button-release-event", G_CALLBACK( onYinYangReleased ), p );
+ hbox = p->dl_hbox = gtk_hbox_new( FALSE, GUI_PAD_SMALL );
+ w = gtk_alignment_new( 0.0f, 0.0f, 0.0f, 0.0f );
+ gtk_widget_set_size_request( w, GUI_PAD, 0u );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 );
+ w = p->dl_image = gtk_image_new_from_stock( GTK_STOCK_GO_DOWN, GTK_ICON_SIZE_MENU );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 );
+ w = p->dl_lb = gtk_label_new( NULL );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 );
+ gtk_box_pack_end( GTK_BOX( h ), hbox, FALSE, FALSE, 0 );
+
+ hbox = p->ul_hbox = gtk_hbox_new( FALSE, GUI_PAD_SMALL );
+ w = gtk_alignment_new( 0.0f, 0.0f, 0.0f, 0.0f );
+ gtk_widget_set_size_request( w, GUI_PAD, 0u );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 );
+ w = p->ul_image = gtk_image_new_from_stock( GTK_STOCK_GO_UP, GTK_ICON_SIZE_MENU );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 );
+ w = p->ul_lb = gtk_label_new( NULL );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 );
+ gtk_box_pack_end( GTK_BOX( h ), hbox, FALSE, FALSE, 0 );
+
+ hbox = gtk_hbox_new( FALSE, GUI_PAD_SMALL );
+ w = gtk_alignment_new( 0.0f, 0.0f, 0.0f, 0.0f );
+ gtk_widget_set_size_request( w, GUI_PAD, 0u );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 );
+ w = gtk_image_new_from_stock( GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU );
+ c = gtk_event_box_new( );
+ gtk_container_add( GTK_CONTAINER( c ), w );
+ w = c;
+ g_signal_connect( w, "button-release-event", G_CALLBACK( onYinYangReleased ), p );
+ gtk_box_pack_start( GTK_BOX( hbox ), w, FALSE, FALSE, 0 );
+ w = p->stats_lb = gtk_label_new( NULL );
+ gtk_box_pack_end( GTK_BOX( h ), w, FALSE, FALSE, 0 );
+ gtk_box_pack_end( GTK_BOX( h ), hbox, FALSE, FALSE, 0 );
+
menu = gtk_menu_new( );
l = NULL;
const int visibleCount = gtk_tree_model_iter_n_children(
p->filter_model, NULL );
- if( torrentCount != visibleCount )
+ if( !torrentCount )
+ *buf = '\0';
+ else if( torrentCount != visibleCount )
g_snprintf( buf, sizeof( buf ),
ngettext( "%1$'d of %2$'d Torrent",
"%1$'d of %2$'d Torrents",
torrentCount ),
visibleCount, torrentCount );
else
- g_snprintf( buf, sizeof( buf ), ngettext( "%'d Torrent",
- "%'d Torrents",
- torrentCount ),
+ g_snprintf( buf, sizeof( buf ),
+ ngettext( "%'d Torrent", "%'d Torrents", torrentCount ),
torrentCount );
gtk_label_set_text( GTK_LABEL( p->gutter_lb ), buf );
}
d = tr_sessionGetPieceSpeed( session, TR_DOWN );
tr_strlspeed( buf, d, sizeof( buf ) );
gtk_label_set_text( GTK_LABEL( p->dl_lb ), buf );
+ g_object_set( p->dl_hbox, "visible", d>=0.01, NULL );
d = tr_sessionGetPieceSpeed( session, TR_UP );
tr_strlspeed( buf, d, sizeof( buf ) );
gtk_label_set_text( GTK_LABEL( p->ul_lb ), buf );
+ g_object_set( p->ul_hbox, "visible", d>=0.01, NULL );
}
}