mirror of
https://github.com/transmission/transmission
synced 2025-03-03 18:25:35 +00:00
add a menu item in the context menu to only check selected (and uncheck others)
This commit is contained in:
parent
e161544761
commit
f1a2fe0218
5 changed files with 34 additions and 11 deletions
1
macosx/English.lproj/InfoWindow.nib/classes.nib
generated
1
macosx/English.lproj/InfoWindow.nib/classes.nib
generated
|
@ -9,6 +9,7 @@
|
|||
revealTorrentFile = id;
|
||||
setCheck = id;
|
||||
setLimitSetting = id;
|
||||
setOnlySelectedCheck = id;
|
||||
setPex = id;
|
||||
setPiecesView = id;
|
||||
setPriority = id;
|
||||
|
|
1
macosx/English.lproj/InfoWindow.nib/info.nib
generated
1
macosx/English.lproj/InfoWindow.nib/info.nib
generated
|
@ -21,6 +21,7 @@
|
|||
</array>
|
||||
<key>IBOpenObjects</key>
|
||||
<array>
|
||||
<integer>549</integer>
|
||||
<integer>5</integer>
|
||||
</array>
|
||||
<key>IBSystem Version</key>
|
||||
|
|
BIN
macosx/English.lproj/InfoWindow.nib/keyedobjects.nib
generated
BIN
macosx/English.lproj/InfoWindow.nib/keyedobjects.nib
generated
Binary file not shown.
|
@ -79,6 +79,7 @@
|
|||
- (void) revealFile: (id) sender;
|
||||
|
||||
- (void) setCheck: (id) sender;
|
||||
- (void) setOnlySelectedCheck: (id) sender;
|
||||
- (void) setPriority: (id) sender;
|
||||
|
||||
- (void) setLimitSetting: (id) sender;
|
||||
|
|
|
@ -600,6 +600,9 @@
|
|||
|
||||
- (BOOL) validateMenuItem: (NSMenuItem *) menuItem
|
||||
{
|
||||
if ([fTorrents count] != 1)
|
||||
return NO;
|
||||
|
||||
SEL action = [menuItem action];
|
||||
|
||||
if (action == @selector(revealFile:))
|
||||
|
@ -626,6 +629,9 @@
|
|||
return NO;
|
||||
}
|
||||
|
||||
if (action == @selector(setOnlySelectedCheck:))
|
||||
return [fFileOutline selectedRow] != -1;
|
||||
|
||||
if (action == @selector(setPriority:))
|
||||
{
|
||||
if ([fFileOutline numberOfSelectedRows] <= 0)
|
||||
|
@ -1022,18 +1028,30 @@
|
|||
int state = sender == fFileCheckItem ? NSOnState : NSOffState;
|
||||
|
||||
Torrent * torrent = [fTorrents objectAtIndex: 0];
|
||||
NSIndexSet * indexSet = [fFileOutline selectedRowIndexes], * itemIndexes;
|
||||
NSMutableIndexSet * usedIndexes = [NSMutableIndexSet indexSet];
|
||||
NSIndexSet * indexSet = [fFileOutline selectedRowIndexes];
|
||||
NSMutableIndexSet * itemIndexes = [NSMutableIndexSet indexSet];
|
||||
int i;
|
||||
for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i])
|
||||
{
|
||||
itemIndexes = [[fFileOutline itemAtRow: i] objectForKey: @"Indexes"];
|
||||
if (![usedIndexes containsIndexes: itemIndexes])
|
||||
{
|
||||
[torrent setFileCheckState: state forIndexes: itemIndexes];
|
||||
[usedIndexes addIndexes: itemIndexes];
|
||||
}
|
||||
}
|
||||
[itemIndexes addIndexes: [[fFileOutline itemAtRow: i] objectForKey: @"Indexes"]];
|
||||
|
||||
[torrent setFileCheckState: state forIndexes: itemIndexes];
|
||||
[fFileOutline reloadData];
|
||||
}
|
||||
|
||||
- (void) setOnlySelectedCheck: (id) sender
|
||||
{
|
||||
Torrent * torrent = [fTorrents objectAtIndex: 0];
|
||||
NSIndexSet * indexSet = [fFileOutline selectedRowIndexes];
|
||||
NSMutableIndexSet * itemIndexes = [NSMutableIndexSet indexSet];
|
||||
int i;
|
||||
for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i])
|
||||
[itemIndexes addIndexes: [[fFileOutline itemAtRow: i] objectForKey: @"Indexes"]];
|
||||
|
||||
[torrent setFileCheckState: NSOnState forIndexes: itemIndexes];
|
||||
|
||||
NSMutableIndexSet * remainingItemIndexes = [NSMutableIndexSet indexSetWithIndexesInRange: NSMakeRange(0, [torrent fileCount])];
|
||||
[remainingItemIndexes removeIndexes: indexSet];
|
||||
[torrent setFileCheckState: NSOffState forIndexes: remainingItemIndexes];
|
||||
|
||||
[fFileOutline reloadData];
|
||||
}
|
||||
|
@ -1050,10 +1068,12 @@
|
|||
|
||||
Torrent * torrent = [fTorrents objectAtIndex: 0];
|
||||
NSIndexSet * indexSet = [fFileOutline selectedRowIndexes];
|
||||
NSMutableIndexSet * itemIndexes = [NSMutableIndexSet indexSet];
|
||||
int i;
|
||||
for (i = [indexSet firstIndex]; i != NSNotFound; i = [indexSet indexGreaterThanIndex: i])
|
||||
[torrent setFilePriority: priority forIndexes: [[fFileOutline itemAtRow: i] objectForKey: @"Indexes"]];
|
||||
[itemIndexes addIndexes: [[fFileOutline itemAtRow: i] objectForKey: @"Indexes"]];
|
||||
|
||||
[torrent setFilePriority: priority forIndexes: itemIndexes];
|
||||
[fFileOutline reloadData];
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue