mirror of
https://github.com/transmission/transmission
synced 2025-03-04 10:38:13 +00:00
Add option to remove completed transfers
This commit is contained in:
parent
59e8348b15
commit
9348605f03
3 changed files with 93 additions and 12 deletions
|
@ -156,6 +156,8 @@ typedef enum
|
||||||
- (void) removeNoDelete: (id) sender;
|
- (void) removeNoDelete: (id) sender;
|
||||||
- (void) removeDeleteData: (id) sender;
|
- (void) removeDeleteData: (id) sender;
|
||||||
|
|
||||||
|
- (void) clearCompleted: (id) sender;
|
||||||
|
|
||||||
- (void) moveDataFilesSelected: (id) sender;
|
- (void) moveDataFilesSelected: (id) sender;
|
||||||
- (void) moveDataFiles: (NSArray *) torrents;
|
- (void) moveDataFiles: (NSArray *) torrents;
|
||||||
- (void) moveDataFileChoiceClosed: (NSOpenPanel *) panel returnCode: (NSInteger) code contextInfo: (NSArray *) torrents;
|
- (void) moveDataFileChoiceClosed: (NSOpenPanel *) panel returnCode: (NSInteger) code contextInfo: (NSArray *) torrents;
|
||||||
|
|
|
@ -1324,10 +1324,10 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
|
||||||
- (void) removeTorrents: (NSArray *) torrents deleteData: (BOOL) deleteData
|
- (void) removeTorrents: (NSArray *) torrents deleteData: (BOOL) deleteData
|
||||||
{
|
{
|
||||||
[torrents retain];
|
[torrents retain];
|
||||||
NSInteger active = 0, downloading = 0;
|
|
||||||
|
|
||||||
if ([fDefaults boolForKey: @"CheckRemove"])
|
if ([fDefaults boolForKey: @"CheckRemove"])
|
||||||
{
|
{
|
||||||
|
NSInteger active = 0, downloading = 0;
|
||||||
for (Torrent * torrent in torrents)
|
for (Torrent * torrent in torrents)
|
||||||
if ([torrent isActive])
|
if ([torrent isActive])
|
||||||
{
|
{
|
||||||
|
@ -1433,6 +1433,7 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
|
||||||
[torrent closeRemoveTorrent: deleteData];
|
[torrent closeRemoveTorrent: deleteData];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#warning why do we need them retained?
|
||||||
[torrents release];
|
[torrents release];
|
||||||
|
|
||||||
[fTableView deselectAll: nil];
|
[fTableView deselectAll: nil];
|
||||||
|
@ -1450,6 +1451,17 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
|
||||||
[self removeTorrents: [fTableView selectedTorrents] deleteData: YES];
|
[self removeTorrents: [fTableView selectedTorrents] deleteData: YES];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void) clearCompleted: (id) sender
|
||||||
|
{
|
||||||
|
NSMutableArray * torrents = [[NSMutableArray alloc] init];
|
||||||
|
|
||||||
|
for (Torrent * torrent in fTorrents)
|
||||||
|
if ([torrent isFinishedSeeding])
|
||||||
|
[torrents addObject: torrent];
|
||||||
|
|
||||||
|
[self confirmRemoveTorrents: torrents deleteData: NO];
|
||||||
|
}
|
||||||
|
|
||||||
- (void) moveDataFilesSelected: (id) sender
|
- (void) moveDataFilesSelected: (id) sender
|
||||||
{
|
{
|
||||||
[self moveDataFiles: [fTableView selectedTorrents]];
|
[self moveDataFiles: [fTableView selectedTorrents]];
|
||||||
|
@ -3902,6 +3914,15 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
|
||||||
|
|
||||||
return canUseTable && [fTableView numberOfSelectedRows] > 0;
|
return canUseTable && [fTableView numberOfSelectedRows] > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//clear completed transfers item
|
||||||
|
if (action == @selector(clearCompleted:))
|
||||||
|
{
|
||||||
|
for (Torrent * torrent in fTorrents)
|
||||||
|
if ([torrent isFinishedSeeding])
|
||||||
|
return YES;
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
//enable pause all item
|
//enable pause all item
|
||||||
if (action == @selector(stopAllTorrents:))
|
if (action == @selector(stopAllTorrents:))
|
||||||
|
|
|
@ -12,6 +12,9 @@
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
<integer value="21"/>
|
||||||
|
<integer value="589"/>
|
||||||
|
<integer value="1400"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
@ -45,7 +48,7 @@
|
||||||
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
|
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
|
||||||
<string key="NSWindowContentMinSize">{350, 5}</string>
|
<string key="NSWindowContentMinSize">{350, 5}</string>
|
||||||
<object class="NSView" key="NSWindowView" id="303120456">
|
<object class="NSView" key="NSWindowView" id="303120456">
|
||||||
<nil key="NSNextResponder"/>
|
<reference key="NSNextResponder"/>
|
||||||
<int key="NSvFlags">256</int>
|
<int key="NSvFlags">256</int>
|
||||||
<object class="NSMutableArray" key="NSSubviews">
|
<object class="NSMutableArray" key="NSSubviews">
|
||||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||||
|
@ -738,6 +741,7 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSFrameSize">{515, 248}</string>
|
<string key="NSFrameSize">{515, 248}</string>
|
||||||
|
<reference key="NSSuperview"/>
|
||||||
</object>
|
</object>
|
||||||
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
|
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
|
||||||
<string key="NSMinSize">{350, 27}</string>
|
<string key="NSMinSize">{350, 27}</string>
|
||||||
|
@ -1611,7 +1615,7 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMenuItem" id="250837515">
|
<object class="NSMenuItem" id="349340971">
|
||||||
<reference key="NSMenu" ref="335948734"/>
|
<reference key="NSMenu" ref="335948734"/>
|
||||||
<bool key="NSIsDisabled">YES</bool>
|
<bool key="NSIsDisabled">YES</bool>
|
||||||
<bool key="NSIsSeparator">YES</bool>
|
<bool key="NSIsSeparator">YES</bool>
|
||||||
|
@ -1640,6 +1644,25 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
<reference key="NSOnImage" ref="322614661"/>
|
<reference key="NSOnImage" ref="322614661"/>
|
||||||
<reference key="NSMixedImage" ref="3851078"/>
|
<reference key="NSMixedImage" ref="3851078"/>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="NSMenuItem" id="250837515">
|
||||||
|
<reference key="NSMenu" ref="335948734"/>
|
||||||
|
<bool key="NSIsDisabled">YES</bool>
|
||||||
|
<bool key="NSIsSeparator">YES</bool>
|
||||||
|
<string key="NSTitle"/>
|
||||||
|
<string key="NSKeyEquiv"/>
|
||||||
|
<int key="NSKeyEquivModMask">1048576</int>
|
||||||
|
<int key="NSMnemonicLoc">2147483647</int>
|
||||||
|
<reference key="NSOnImage" ref="322614661"/>
|
||||||
|
<reference key="NSMixedImage" ref="3851078"/>
|
||||||
|
</object>
|
||||||
|
<object class="NSMenuItem" id="96633809">
|
||||||
|
<reference key="NSMenu" ref="335948734"/>
|
||||||
|
<string key="NSTitle">Clear Completed</string>
|
||||||
|
<string key="NSKeyEquiv"/>
|
||||||
|
<int key="NSMnemonicLoc">2147483647</int>
|
||||||
|
<reference key="NSOnImage" ref="322614661"/>
|
||||||
|
<reference key="NSMixedImage" ref="3851078"/>
|
||||||
|
</object>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
@ -4870,6 +4893,14 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
</object>
|
</object>
|
||||||
<int key="connectionID">3406</int>
|
<int key="connectionID">3406</int>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="IBConnectionRecord">
|
||||||
|
<object class="IBActionConnection" key="connection">
|
||||||
|
<string key="label">clearCompleted:</string>
|
||||||
|
<reference key="source" ref="30116300"/>
|
||||||
|
<reference key="destination" ref="96633809"/>
|
||||||
|
</object>
|
||||||
|
<int key="connectionID">3409</int>
|
||||||
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||||
<object class="NSArray" key="orderedObjects">
|
<object class="NSArray" key="orderedObjects">
|
||||||
|
@ -5442,12 +5473,14 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
<reference ref="117698132"/>
|
<reference ref="117698132"/>
|
||||||
<reference ref="522160989"/>
|
<reference ref="522160989"/>
|
||||||
<reference ref="765645684"/>
|
<reference ref="765645684"/>
|
||||||
<reference ref="245039314"/>
|
|
||||||
<reference ref="219482367"/>
|
<reference ref="219482367"/>
|
||||||
<reference ref="321002146"/>
|
<reference ref="321002146"/>
|
||||||
<reference ref="562631300"/>
|
<reference ref="562631300"/>
|
||||||
<reference ref="1063637453"/>
|
<reference ref="1063637453"/>
|
||||||
|
<reference ref="349340971"/>
|
||||||
|
<reference ref="245039314"/>
|
||||||
<reference ref="250837515"/>
|
<reference ref="250837515"/>
|
||||||
|
<reference ref="96633809"/>
|
||||||
</object>
|
</object>
|
||||||
<reference key="parent" ref="249425108"/>
|
<reference key="parent" ref="249425108"/>
|
||||||
</object>
|
</object>
|
||||||
|
@ -5521,11 +5554,6 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
<reference key="object" ref="765645684"/>
|
<reference key="object" ref="765645684"/>
|
||||||
<reference key="parent" ref="335948734"/>
|
<reference key="parent" ref="335948734"/>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBObjectRecord">
|
|
||||||
<int key="objectID">1805</int>
|
|
||||||
<reference key="object" ref="245039314"/>
|
|
||||||
<reference key="parent" ref="335948734"/>
|
|
||||||
</object>
|
|
||||||
<object class="IBObjectRecord">
|
<object class="IBObjectRecord">
|
||||||
<int key="objectID">1860</int>
|
<int key="objectID">1860</int>
|
||||||
<reference key="object" ref="219482367"/>
|
<reference key="object" ref="219482367"/>
|
||||||
|
@ -6877,6 +6905,21 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
<reference key="object" ref="254573946"/>
|
<reference key="object" ref="254573946"/>
|
||||||
<reference key="parent" ref="188604546"/>
|
<reference key="parent" ref="188604546"/>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">3407</int>
|
||||||
|
<reference key="object" ref="96633809"/>
|
||||||
|
<reference key="parent" ref="335948734"/>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">3408</int>
|
||||||
|
<reference key="object" ref="349340971"/>
|
||||||
|
<reference key="parent" ref="335948734"/>
|
||||||
|
</object>
|
||||||
|
<object class="IBObjectRecord">
|
||||||
|
<int key="objectID">1805</int>
|
||||||
|
<reference key="object" ref="245039314"/>
|
||||||
|
<reference key="parent" ref="335948734"/>
|
||||||
|
</object>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||||
|
@ -7424,6 +7467,9 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
<string>3403.ImportedFromIB2</string>
|
<string>3403.ImportedFromIB2</string>
|
||||||
<string>3405.IBPluginDependency</string>
|
<string>3405.IBPluginDependency</string>
|
||||||
<string>3405.ImportedFromIB2</string>
|
<string>3405.ImportedFromIB2</string>
|
||||||
|
<string>3407.IBPluginDependency</string>
|
||||||
|
<string>3408.IBPluginDependency</string>
|
||||||
|
<string>3408.ImportedFromIB2</string>
|
||||||
<string>418.IBPluginDependency</string>
|
<string>418.IBPluginDependency</string>
|
||||||
<string>418.ImportedFromIB2</string>
|
<string>418.ImportedFromIB2</string>
|
||||||
<string>456.IBEditorWindowLastContentRect</string>
|
<string>456.IBEditorWindowLastContentRect</string>
|
||||||
|
@ -7453,6 +7499,7 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
<string>582.ImportedFromIB2</string>
|
<string>582.ImportedFromIB2</string>
|
||||||
<string>583.IBPluginDependency</string>
|
<string>583.IBPluginDependency</string>
|
||||||
<string>583.ImportedFromIB2</string>
|
<string>583.ImportedFromIB2</string>
|
||||||
|
<string>589.IBEditorWindowLastContentRect</string>
|
||||||
<string>589.IBPluginDependency</string>
|
<string>589.IBPluginDependency</string>
|
||||||
<string>589.ImportedFromIB2</string>
|
<string>589.ImportedFromIB2</string>
|
||||||
<string>589.editorWindowContentRectSynchronizationRect</string>
|
<string>589.editorWindowContentRectSynchronizationRect</string>
|
||||||
|
@ -7554,7 +7601,7 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>{{637, 548}, {290, 333}}</string>
|
<string>{{468, 378}, {290, 363}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>{{446, 528}, {293, 373}}</string>
|
<string>{{446, 528}, {293, 373}}</string>
|
||||||
|
@ -7908,7 +7955,7 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>{{71, 664}, {479, 20}}</string>
|
<string>{{203, 741}, {479, 20}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>{{468, 888}, {479, 20}}</string>
|
<string>{{468, 888}, {479, 20}}</string>
|
||||||
|
@ -8023,6 +8070,9 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
<integer value="1"/>
|
||||||
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>{{586, 242}, {291, 313}}</string>
|
<string>{{586, 242}, {291, 313}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
|
@ -8051,6 +8101,7 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
|
<string>{{0, 902}, {231, 93}}</string>
|
||||||
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
|
||||||
<integer value="1"/>
|
<integer value="1"/>
|
||||||
<string>{{0, 902}, {234, 93}}</string>
|
<string>{{0, 902}, {234, 93}}</string>
|
||||||
|
@ -8092,7 +8143,7 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<nil key="sourceID"/>
|
<nil key="sourceID"/>
|
||||||
<int key="maxID">3406</int>
|
<int key="maxID">3409</int>
|
||||||
</object>
|
</object>
|
||||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||||
|
@ -8107,6 +8158,7 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
<string>allToolbarClicked:</string>
|
<string>allToolbarClicked:</string>
|
||||||
<string>announceSelectedTorrents:</string>
|
<string>announceSelectedTorrents:</string>
|
||||||
<string>applyFilter:</string>
|
<string>applyFilter:</string>
|
||||||
|
<string>clearCompleted:</string>
|
||||||
<string>copyMagnetLinks:</string>
|
<string>copyMagnetLinks:</string>
|
||||||
<string>copyTorrentFiles:</string>
|
<string>copyTorrentFiles:</string>
|
||||||
<string>createFile:</string>
|
<string>createFile:</string>
|
||||||
|
@ -8213,6 +8265,7 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
<string>id</string>
|
<string>id</string>
|
||||||
<string>id</string>
|
<string>id</string>
|
||||||
<string>id</string>
|
<string>id</string>
|
||||||
|
<string>id</string>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||||
|
@ -8222,6 +8275,7 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
<string>allToolbarClicked:</string>
|
<string>allToolbarClicked:</string>
|
||||||
<string>announceSelectedTorrents:</string>
|
<string>announceSelectedTorrents:</string>
|
||||||
<string>applyFilter:</string>
|
<string>applyFilter:</string>
|
||||||
|
<string>clearCompleted:</string>
|
||||||
<string>copyMagnetLinks:</string>
|
<string>copyMagnetLinks:</string>
|
||||||
<string>copyTorrentFiles:</string>
|
<string>copyTorrentFiles:</string>
|
||||||
<string>createFile:</string>
|
<string>createFile:</string>
|
||||||
|
@ -8287,6 +8341,10 @@ AAAAAAAAAAAAAAAAA</bytes>
|
||||||
<string key="name">applyFilter:</string>
|
<string key="name">applyFilter:</string>
|
||||||
<string key="candidateClassName">id</string>
|
<string key="candidateClassName">id</string>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="IBActionInfo">
|
||||||
|
<string key="name">clearCompleted:</string>
|
||||||
|
<string key="candidateClassName">id</string>
|
||||||
|
</object>
|
||||||
<object class="IBActionInfo">
|
<object class="IBActionInfo">
|
||||||
<string key="name">copyMagnetLinks:</string>
|
<string key="name">copyMagnetLinks:</string>
|
||||||
<string key="candidateClassName">id</string>
|
<string key="candidateClassName">id</string>
|
||||||
|
|
Loading…
Add table
Reference in a new issue