Missed a small subtlety when selecting torrents when filtering.

This commit is contained in:
Mitchell Livingston 2006-07-13 00:58:17 +00:00
parent 3a1621cf84
commit 18ba17aced
2 changed files with 9 additions and 12 deletions

View File

@ -77,9 +77,8 @@
NSTimer * fAutoImportTimer;
NSArray * fAutoImportedNames;
BOOL fHasGrowl;
BOOL fHasGrowl, fUpdateInProgress;
Badger * fBadger;
BOOL fUpdateInProgress;
}
- (void) openShowSheet: (id) sender;
@ -113,7 +112,7 @@
- (void) copyTorrentFile: (id) sender;
- (void) copyTorrentFileForTorrents: (NSMutableArray *) torrents;
- (void) saveTorrentCopySheetClosed: (NSSavePanel *) panel returnCode: (int) code
contextInfo: (NSMutableArray *) torrents;
contextInfo: (NSMutableArray *) torrents;
- (void) revealFile: (id) sender;
@ -126,7 +125,7 @@
- (void) updateTorrentHistory;
- (void) sortTorrents;
- (void) sortTorrentsChangeSelected: (BOOL) changeSelected;
- (void) sortTorrentsRememberSelected: (BOOL) changeSelected;
- (void) setSort: (id) sender;
- (void) applyFilter;
- (void) setFilter: (id) sender;

View File

@ -856,10 +856,10 @@ static void sleepCallBack(void * controller, io_service_t y,
- (void) sortTorrents
{
[self sortTorrentsChangeSelected: YES];
[self sortTorrentsRememberSelected: YES];
}
- (void) sortTorrentsChangeSelected: (BOOL) changeSelected
- (void) sortTorrentsRememberSelected: (BOOL) changeSelected
{
//remember selected rows if needed
NSArray * selectedTorrents = nil;
@ -965,10 +965,8 @@ static void sleepCallBack(void * controller, io_service_t y,
- (void) applyFilter
{
//remember selected rows if needed
NSArray * selectedTorrents = nil;
int numSelected = [fTableView numberOfSelectedRows];
if (numSelected > 0 && numSelected < [fFilteredTorrents count])
selectedTorrents = [self torrentsAtIndexes: [fTableView selectedRowIndexes]];
NSArray * selectedTorrents = [fTableView numberOfSelectedRows] > 0
? [self torrentsAtIndexes: [fTableView selectedRowIndexes]] : nil;
NSMutableArray * tempTorrents = [[NSMutableArray alloc] initWithCapacity: [fTorrents count]];
@ -1002,9 +1000,9 @@ static void sleepCallBack(void * controller, io_service_t y,
[fFilteredTorrents setArray: tempTorrents];
[tempTorrents release];
[self sortTorrentsChangeSelected: NO];
[self sortTorrentsRememberSelected: NO];
//set selected rows if needed...this selecting is more accurate than sort's
//set selected rows if needed
if (selectedTorrents)
{
Torrent * torrent;