static void setLabelFromRatio (GtkWidget * w, double d) { char buf[128]; tr_strlratio (buf, d, sizeof (buf)); setLabel (w, buf); }
static void setLabelFromRatio (GtkLabel * l, double d) { char buf[128]; tr_strlratio (buf, d, sizeof (buf)); setLabel (l, buf); }
static char* getShortStatusString( const tr_torrent * tor, const tr_stat * st, double uploadSpeed_KBps, double downloadSpeed_KBps ) { GString * gstr = g_string_new( NULL ); switch( st->activity ) { case TR_STATUS_STOPPED: if( st->finished ) g_string_assign( gstr, _( "Finished" ) ); else g_string_assign( gstr, _( "Paused" ) ); break; case TR_STATUS_CHECK_WAIT: g_string_assign( gstr, _( "Waiting to verify local data" ) ); break; case TR_STATUS_CHECK: g_string_append_printf( gstr, _( "Verifying local data (%.1f%% tested)" ), tr_truncd( st->recheckProgress * 100.0, 1 ) ); break; case TR_STATUS_DOWNLOAD: case TR_STATUS_SEED: { char buf[512]; if( st->activity != TR_STATUS_DOWNLOAD ) { tr_strlratio( buf, st->ratio, sizeof( buf ) ); g_string_append_printf( gstr, _( "Ratio %s" ), buf ); g_string_append( gstr, ", " ); } getShortTransferString( tor, st, uploadSpeed_KBps, downloadSpeed_KBps, buf, sizeof( buf ) ); g_string_append( gstr, buf ); break; } default: break; } return g_string_free( gstr, FALSE ); }
static void getShortStatusString( GString * gstr, const tr_torrent * tor, const tr_stat * st, double uploadSpeed_KBps, double downloadSpeed_KBps ) { switch( st->activity ) { case TR_STATUS_STOPPED: g_string_append( gstr, st->finished ? _( "Finished" ) : _( "Paused" ) ); break; case TR_STATUS_CHECK_WAIT: g_string_append( gstr, _( "Queued for verification" ) ); break; case TR_STATUS_DOWNLOAD_WAIT: g_string_append( gstr, _( "Queued for download" ) ); break; case TR_STATUS_SEED_WAIT: g_string_append( gstr, _( "Queued for seeding" ) ); break; case TR_STATUS_CHECK: g_string_append_printf( gstr, _( "Verifying local data (%.1f%% tested)" ), tr_truncd( st->recheckProgress * 100.0, 1 ) ); break; case TR_STATUS_DOWNLOAD: case TR_STATUS_SEED: { char buf[512]; if( st->activity != TR_STATUS_DOWNLOAD ) { tr_strlratio( buf, st->ratio, sizeof( buf ) ); g_string_append_printf( gstr, _( "Ratio %s" ), buf ); g_string_append( gstr, ", " ); } getShortTransferString( tor, st, uploadSpeed_KBps, downloadSpeed_KBps, buf, sizeof( buf ) ); g_string_append( gstr, buf ); break; } default: break; } }
static void getShortStatusString (GString * gstr, const tr_torrent * tor, const tr_stat * st, double uploadSpeed_KBps, double downloadSpeed_KBps) { switch (st->activity) { case TR_STATUS_STOPPED: g_string_append (gstr, st->finished ? _("Finished") : _("Paused")); break; case TR_STATUS_CHECK_WAIT: g_string_append (gstr, _("Queued for verification")); break; case TR_STATUS_DOWNLOAD_WAIT: g_string_append (gstr, _("Queued for download")); break; case TR_STATUS_SEED_WAIT: g_string_append (gstr, _("Queued for seeding")); break; case TR_STATUS_CHECK: g_string_append_printf (gstr, _("Verifying local data (%.1f%% tested)"), tr_truncd (st->recheckProgress * 100.0, 1)); break; case TR_STATUS_DOWNLOAD: case TR_STATUS_SEED: { char speedStr[64]; char ratioStr[64]; tr_strlratio (ratioStr, st->ratio, sizeof (ratioStr)); getShortTransferString (tor, st, uploadSpeed_KBps, downloadSpeed_KBps, speedStr, sizeof (speedStr)); /* download/upload speed, ratio */ g_string_append_printf (gstr, "%1$s Ratio: %2$s", speedStr, ratioStr); break; } default: break; } }
static char* getShortStatusString( const tr_stat * torStat ) { GString * gstr = g_string_new( NULL ); switch( torStat->activity ) { case TR_STATUS_STOPPED: g_string_assign( gstr, _( "Paused" ) ); break; case TR_STATUS_CHECK_WAIT: g_string_assign( gstr, _( "Waiting to verify local data" ) ); break; case TR_STATUS_CHECK: g_string_append_printf( gstr, _( "Verifying local data (%.1f%% tested)" ), torStat->recheckProgress * 100.0 ); break; case TR_STATUS_DOWNLOAD: case TR_STATUS_SEED: { char buf[128]; if( torStat->activity != TR_STATUS_DOWNLOAD ) { tr_strlratio( buf, torStat->ratio, sizeof( buf ) ); g_string_append_printf( gstr, _( "Ratio: %s" ), buf ); g_string_append( gstr, ", " ); } getShortTransferString( torStat, buf, sizeof( buf ) ); g_string_append( gstr, buf ); break; } default: break; } return g_string_free( gstr, FALSE ); }
static void getProgressString( GString * gstr, const tr_torrent * tor, const tr_info * info, const tr_stat * st ) { const int isDone = st->leftUntilDone == 0; const uint64_t haveTotal = st->haveUnchecked + st->haveValid; const int isSeed = st->haveValid >= info->totalSize; char buf1[32], buf2[32], buf3[32], buf4[32], buf5[32], buf6[32]; double seedRatio; const gboolean hasSeedRatio = tr_torrentGetSeedRatio( tor, &seedRatio ); if( !isDone ) /* downloading */ { g_string_append_printf( gstr, /* %1$s is how much we've got, %2$s is how much we'll have when done, %3$s%% is a percentage of the two */ _( "%1$s of %2$s (%3$s%%)" ), tr_strlsize( buf1, haveTotal, sizeof( buf1 ) ), tr_strlsize( buf2, st->sizeWhenDone, sizeof( buf2 ) ), tr_strlpercent( buf3, st->percentDone * 100.0, sizeof( buf3 ) ) ); } else if( !isSeed ) /* partial seeds */ { if( hasSeedRatio ) { g_string_append_printf( gstr, /* %1$s is how much we've got, %2$s is the torrent's total size, %3$s%% is a percentage of the two, %4$s is how much we've uploaded, %5$s is our upload-to-download ratio, %6$s is the ratio we want to reach before we stop uploading */ _( "%1$s of %2$s (%3$s%%), uploaded %4$s (Ratio: %5$s Goal: %6$s)" ), tr_strlsize( buf1, haveTotal, sizeof( buf1 ) ), tr_strlsize( buf2, info->totalSize, sizeof( buf2 ) ), tr_strlpercent( buf3, st->percentComplete * 100.0, sizeof( buf3 ) ), tr_strlsize( buf4, st->uploadedEver, sizeof( buf4 ) ), tr_strlratio( buf5, st->ratio, sizeof( buf5 ) ), tr_strlratio( buf6, seedRatio, sizeof( buf6 ) ) ); } else { g_string_append_printf( gstr, /* %1$s is how much we've got, %2$s is the torrent's total size, %3$s%% is a percentage of the two, %4$s is how much we've uploaded, %5$s is our upload-to-download ratio */ _( "%1$s of %2$s (%3$s%%), uploaded %4$s (Ratio: %5$s)" ), tr_strlsize( buf1, haveTotal, sizeof( buf1 ) ), tr_strlsize( buf2, info->totalSize, sizeof( buf2 ) ), tr_strlpercent( buf3, st->percentComplete * 100.0, sizeof( buf3 ) ), tr_strlsize( buf4, st->uploadedEver, sizeof( buf4 ) ), tr_strlratio( buf5, st->ratio, sizeof( buf5 ) ) ); } } else /* seeding */ { if( hasSeedRatio ) { g_string_append_printf( gstr, /* %1$s is the torrent's total size, %2$s is how much we've uploaded, %3$s is our upload-to-download ratio, %4$s is the ratio we want to reach before we stop uploading */ _( "%1$s, uploaded %2$s (Ratio: %3$s Goal: %4$s)" ), tr_strlsize( buf1, info->totalSize, sizeof( buf1 ) ), tr_strlsize( buf2, st->uploadedEver, sizeof( buf2 ) ), tr_strlratio( buf3, st->ratio, sizeof( buf3 ) ), tr_strlratio( buf4, seedRatio, sizeof( buf4 ) ) ); } else /* seeding w/o a ratio */ { g_string_append_printf( gstr, /* %1$s is the torrent's total size, %2$s is how much we've uploaded, %3$s is our upload-to-download ratio */ _( "%1$s, uploaded %2$s (Ratio: %3$s)" ), tr_strlsize( buf1, info->totalSize, sizeof( buf1 ) ), tr_strlsize( buf2, st->uploadedEver, sizeof( buf2 ) ), tr_strlratio( buf3, st->ratio, sizeof( buf3 ) ) ); } } /* add time when downloading */ if( ( st->activity == TR_STATUS_DOWNLOAD ) || ( hasSeedRatio && ( st->activity == TR_STATUS_SEED ) ) ) { const int eta = st->eta; g_string_append( gstr, " - " ); if( eta < 0 ) g_string_append( gstr, _( "Remaining time unknown" ) ); else { char timestr[128]; tr_strltime( timestr, eta, sizeof( timestr ) ); /* time remaining */ g_string_append_printf( gstr, _( "%s remaining" ), timestr ); } } }
static char* getProgressString( const tr_info * info, const tr_stat * torStat ) { const int isDone = torStat->leftUntilDone == 0; const uint64_t haveTotal = torStat->haveUnchecked + torStat->haveValid; const int isSeed = torStat->haveValid >= info->totalSize; char buf1[32], buf2[32], buf3[32], buf4[32]; char * str; if( !isDone ) str = g_strdup_printf( /* %1$s is how much we've got, %2$s is how much we'll have when done, %3$.2f%% is a percentage of the two */ _( "%1$s of %2$s (%3$.2f%%)" ), tr_strlsize( buf1, haveTotal, sizeof( buf1 ) ), tr_strlsize( buf2, torStat->sizeWhenDone, sizeof( buf2 ) ), torStat->percentDone * 100.0 ); else if( !isSeed ) str = g_strdup_printf( /* %1$s is how much we've got, %2$s is the torrent's total size, %3$.2f%% is a percentage of the two, %4$s is how much we've uploaded, %5$s is our upload-to-download ratio */ _( "%1$s of %2$s (%3$.2f%%), uploaded %4$s (Ratio: %5$s)" ), tr_strlsize( buf1, haveTotal, sizeof( buf1 ) ), tr_strlsize( buf2, info->totalSize, sizeof( buf2 ) ), torStat->percentComplete * 100.0, tr_strlsize( buf3, torStat->uploadedEver, sizeof( buf3 ) ), tr_strlratio( buf4, torStat->ratio, sizeof( buf4 ) ) ); else str = g_strdup_printf( /* %1$s is the torrent's total size, %2$s is how much we've uploaded, %3$s is our upload-to-download ratio */ _( "%1$s, uploaded %2$s (Ratio: %3$s)" ), tr_strlsize( buf1, info->totalSize, sizeof( buf1 ) ), tr_strlsize( buf2, torStat->uploadedEver, sizeof( buf2 ) ), tr_strlratio( buf3, torStat->ratio, sizeof( buf3 ) ) ); /* add time when downloading */ if( torStat->activity == TR_STATUS_DOWNLOAD ) { const int eta = torStat->eta; GString * gstr = g_string_new( str ); g_string_append( gstr, " - " ); if( eta < 0 ) g_string_append( gstr, _( "Remaining time unknown" ) ); else { char timestr[128]; tr_strltime( timestr, eta, sizeof( timestr ) ); /* time remaining */ g_string_append_printf( gstr, _( "%s remaining" ), timestr ); } g_free( str ); str = g_string_free( gstr, FALSE ); } return str; }