1
0
Fork 0
mirror of https://github.com/transmission/transmission synced 2025-03-16 16:55:36 +00:00

(trunk) #1869 "New status for torrents that reached the seed ratio" -- implemented for GTK+, Qt, and transmission-remote by Longinus00's patch

This commit is contained in:
Charles Kerr 2010-04-06 02:34:45 +00:00
parent e2bf25720b
commit 1efe08d34d
7 changed files with 16 additions and 71 deletions

View file

@ -337,6 +337,7 @@ static const char * details_keys[] = {
"haveValid",
"honorsSessionLimits",
"id",
"isFinished",
"isPrivate",
"leftUntilDone",
"name",
@ -369,6 +370,7 @@ static const char * list_keys[] = {
"errorString",
"eta",
"id",
"isFinished",
"leftUntilDone",
"name",
"peersGettingFromUs",
@ -1008,6 +1010,7 @@ static char*
getStatusString( tr_benc * t, char * buf, size_t buflen )
{
int64_t status;
tr_bool boolVal;
if( !tr_bencDictFindInt( t, "status", &status ) )
{
@ -1016,7 +1019,10 @@ getStatusString( tr_benc * t, char * buf, size_t buflen )
else switch( status )
{
case TR_STATUS_STOPPED:
tr_strlcpy( buf, "Stopped", buflen );
if( tr_bencDictFindBool( t, "isFinished", &boolVal ) && boolVal )
tr_strlcpy( buf, "Finished", buflen );
else
tr_strlcpy( buf, "Stopped", buflen );
break;
case TR_STATUS_CHECK_WAIT:

View file

@ -202,7 +202,10 @@ getShortStatusString( const tr_torrent * tor,
switch( torStat->activity )
{
case TR_STATUS_STOPPED:
g_string_assign( gstr, _( "Paused" ) );
if( torStat->finished )
g_string_assign( gstr, _( "Finished" ) );
else
g_string_assign( gstr, _( "Paused" ) );
break;
case TR_STATUS_CHECK_WAIT:

View file

@ -215,64 +215,6 @@ tr_torrent_new_ctor( tr_session * session,
return tor ? maketorrent( tor ) : NULL;
}
char *
tr_torrent_status_str( TrTorrent * gtor )
{
char * top = NULL;
const tr_stat * st = tr_torrent_stat( gtor );
const int tpeers = MAX ( st->peersConnected, 0 );
const int upeers = MAX ( st->peersGettingFromUs, 0 );
const int eta = st->eta;
switch( st->activity )
{
case TR_STATUS_CHECK_WAIT:
top =
g_strdup_printf( _( "Waiting to verify local data (%.1f%% tested)" ),
tr_truncd( 100 * st->recheckProgress, 1 ) );
break;
case TR_STATUS_CHECK:
top =
g_strdup_printf( _( "Verifying local data (%.1f%% tested)" ),
tr_truncd( 100 * st->recheckProgress, 1 ) );
break;
case TR_STATUS_DOWNLOAD:
if( eta < 0 )
top = g_strdup_printf( _( "Remaining time unknown" ) );
else
{
char timestr[128];
tr_strltime( timestr, eta, sizeof( timestr ) );
/* %s is # of minutes */
top = g_strdup_printf( _( "%1$s remaining" ), timestr );
}
break;
case TR_STATUS_SEED:
top = g_strdup_printf(
ngettext( "Seeding to %1$'d of %2$'d connected peer",
"Seeding to %1$'d of %2$'d connected peers",
tpeers ),
upeers, tpeers );
break;
case TR_STATUS_STOPPED:
top = g_strdup( _( "Stopped" ) );
break;
default:
top = g_strdup( "???" );
break;
}
return top;
}
void
tr_torrent_set_remove_flag( TrTorrent * gtor,
gboolean do_remove )

View file

@ -65,8 +65,6 @@ const tr_stat *tr_torrent_stat( TrTorrent *tor );
const tr_info *tr_torrent_info( TrTorrent *tor );
char* tr_torrent_status_str( TrTorrent * tor );
void tr_torrent_delete_files( TrTorrent * tor );
void tr_torrent_open_folder( TrTorrent * tor );

View file

@ -182,14 +182,6 @@ TorrentDelegate :: shortStatusString( const Torrent& tor ) const
switch( tor.getActivity( ) )
{
case TR_STATUS_STOPPED:
str = tr( "Paused" );
break;
case TR_STATUS_CHECK_WAIT:
str = tr( "Waiting to verify local data" );
break;
case TR_STATUS_CHECK:
str = tr( "Verifying local data (%1% tested)" ).arg( tor.getVerifyProgress()*100.0, 0, 'f', 1 );
break;
@ -202,6 +194,7 @@ TorrentDelegate :: shortStatusString( const Torrent& tor ) const
break;
default:
str = tor.activityString( );
break;
}

View file

@ -96,6 +96,7 @@ Torrent :: myProperties[] =
{ HONORS_SESSION_LIMITS, "honorsSessionLimits", QVariant::Bool, STAT_EXTRA },
{ PEER_LIMIT, "peer-limit", QVariant::Int, STAT_EXTRA },
{ HASH_STRING, "hashString", QVariant::String, INFO },
{ IS_FINISHED, "isFinished", QVariant::Bool, STAT },
{ IS_PRIVATE, "isPrivate", QVariant::Bool, INFO },
{ COMMENT, "comment", QVariant::String, INFO },
{ CREATOR, "creator", QVariant::String, INFO },
@ -675,7 +676,7 @@ Torrent :: activityString( ) const
case TR_STATUS_CHECK: str = tr( "Verifying local data" ); break;
case TR_STATUS_DOWNLOAD: str = tr( "Downloading" ); break;
case TR_STATUS_SEED: str = tr( "Seeding" ); break;
case TR_STATUS_STOPPED: str = tr( "Paused" ); break;
case TR_STATUS_STOPPED: str = isFinished() ? tr( "Finished" ): tr( "Paused" ); break;
}
return str;

View file

@ -159,6 +159,7 @@ class Torrent: public QObject
HONORS_SESSION_LIMITS,
PEER_LIMIT,
HASH_STRING,
IS_FINISHED,
IS_PRIVATE,
COMMENT,
CREATOR,
@ -293,6 +294,7 @@ class Torrent: public QObject
public:
QString activityString( ) const;
tr_torrent_activity getActivity( ) const { return (tr_torrent_activity) getInt( ACTIVITY ); }
bool isFinished( ) const { return getBool( IS_FINISHED ); }
bool isPaused( ) const { return getActivity( ) == TR_STATUS_STOPPED; }
bool isVerifying( ) const { return getActivity( ) == TR_STATUS_CHECK; }
bool isDownloading( ) const { return getActivity( ) == TR_STATUS_DOWNLOAD; }