Changeset 5066
- Timestamp:
- Feb 19, 2008, 5:03:56 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gtk/tr_core.c
r5064 r5066 609 609 610 610 /* delete the torrent */ 611 tr_torrent RemoveSaved( tr_torrent_handle( gtor ));611 tr_torrent_set_delete_flag( gtor, TRUE ); 612 612 g_object_unref( G_OBJECT( gtor ) ); 613 613 } -
trunk/gtk/tr_torrent.c
r5065 r5066 40 40 { 41 41 tr_torrent * handle; 42 gboolean do_delete; 42 43 gboolean seeding_cap_enabled; 43 44 gdouble seeding_cap; /* ratio to stop seeding at */ … … 77 78 { 78 79 if( self->priv->handle ) 79 tr_torrentClose( self->priv->handle ); 80 { 81 if( self->priv->do_delete ) 82 tr_torrentDelete( self->priv->handle ); 83 else 84 tr_torrentClose( self->priv->handle ); 85 } 86 80 87 self->priv = NULL; 81 88 } … … 289 296 290 297 void 298 tr_torrent_set_delete_flag( TrTorrent * gtor, gboolean do_delete ) 299 { 300 if( !isDisposed( gtor ) ) 301 gtor->priv->do_delete = do_delete; 302 } 303 304 void 291 305 tr_torrent_delete_files( TrTorrent * gtor ) 292 306 { -
trunk/gtk/tr_torrent.h
r5064 r5066 93 93 tr_torrent_new_ctor( tr_handle * handle, tr_ctor * ctor, char ** err ); 94 94 95 void 96 tr_torrent_set_delete_flag( TrTorrent *, gboolean ); 97 95 98 #endif -
trunk/libtransmission/fastresume.c
r5065 r5066 710 710 return ret; 711 711 } 712 713 void 714 tr_fastResumeRemove( const tr_torrent * tor ) 715 { 716 char path[MAX_PATH_LENGTH]; 717 const char * cacheDir = tr_getCacheDirectory (); 718 const char * hash = tor->info.hashString; 719 720 if( tor->handle->tag ) 721 { 722 char base[1024]; 723 snprintf( base, sizeof(base), "%s-%s", hash, tor->handle->tag ); 724 tr_buildPath( path, sizeof(path), cacheDir, base, NULL ); 725 unlink( path ); 726 } 727 else 728 { 729 tr_buildPath( path, sizeof(path), cacheDir, hash, NULL ); 730 unlink( path ); 731 } 732 } -
trunk/libtransmission/fastresume.h
r4813 r5066 49 49 const tr_ctor * ctor ); 50 50 51 void tr_fastResumeRemove( const tr_torrent * tor ); 52 51 53 #endif -
trunk/libtransmission/torrent.c
r5042 r5066 827 827 } 828 828 829 void tr_torrentRemoveSaved( tr_torrent * tor ) 829 void 830 tr_torrentRemoveSaved( tr_torrent * tor ) 830 831 { 831 832 tr_metainfoRemoveSaved( tor->info.hashString, tor->handle->tag ); 833 834 tr_fastResumeRemove( tor ); 832 835 } 833 836 … … 1004 1007 tr_globalLock( tor->handle ); 1005 1008 1006 saveFastResumeNow( tor ); 1009 if( !tor->isDeleting ) 1010 saveFastResumeNow( tor ); 1007 1011 tor->isRunning = 0; 1008 1012 tr_runInEventThread( tor->handle, stopTorrent, tor ); … … 1018 1022 tor->isRunning = 0; 1019 1023 stopTorrent( tor ); 1024 if( tor->isDeleting ) 1025 tr_torrentRemoveSaved( tor ); 1020 1026 freeTorrent( tor ); 1021 1027 } … … 1035 1041 } 1036 1042 } 1043 1044 void 1045 tr_torrentDelete( tr_torrent * tor ) 1046 { 1047 tor->isDeleting = 1; 1048 tr_torrentClose( tor ); 1049 } 1050 1037 1051 1038 1052 /** -
trunk/libtransmission/torrent.h
r5042 r5066 154 154 unsigned int statCur : 1; 155 155 unsigned int isRunning : 1; 156 unsigned int isDeleting : 1; 156 157 157 158 uint16_t maxConnectedPeers; -
trunk/libtransmission/transmission.h
r5034 r5066 588 588 */ 589 589 void tr_torrentClose( tr_torrent * ); 590 591 /** 592 * Like tr_torrentClose() but also deletes 593 * the fastresume file and our copy of the 594 * torrent file 595 */ 596 void tr_torrentDelete( tr_torrent * ); 590 597 591 598 /***********************************************************************
Note: See TracChangeset
for help on using the changeset viewer.