mirror of
https://github.com/transmission/transmission
synced 2024-12-24 16:52:39 +00:00
don't select the row if pushing a button
This commit is contained in:
parent
0a7d8cd3a5
commit
9685e9563b
2 changed files with 19 additions and 5 deletions
|
@ -39,6 +39,7 @@
|
||||||
|
|
||||||
int fMouseRow;
|
int fMouseRow;
|
||||||
TorrentCell * fMouseCell;
|
TorrentCell * fMouseCell;
|
||||||
|
NSIndexSet * fSelectedIndexes;
|
||||||
|
|
||||||
NSMutableArray * fKeyStrokes;
|
NSMutableArray * fKeyStrokes;
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,8 @@
|
||||||
|
|
||||||
@interface TorrentTableView (Private)
|
@interface TorrentTableView (Private)
|
||||||
|
|
||||||
/*- (BOOL) pointInControlRect: (NSPoint) point;
|
- (BOOL) pointInControlRect: (NSPoint) point;
|
||||||
- (BOOL) pointInRevealRect: (NSPoint) point;*/
|
- (BOOL) pointInRevealRect: (NSPoint) point;
|
||||||
- (BOOL) pointInActionRect: (NSPoint) point;
|
- (BOOL) pointInActionRect: (NSPoint) point;
|
||||||
|
|
||||||
- (BOOL) pointInIconRect: (NSPoint) point;
|
- (BOOL) pointInIconRect: (NSPoint) point;
|
||||||
|
@ -65,6 +65,7 @@
|
||||||
- (void) dealloc
|
- (void) dealloc
|
||||||
{
|
{
|
||||||
[fMouseCell release];
|
[fMouseCell release];
|
||||||
|
[fSelectedIndexes release];
|
||||||
|
|
||||||
[fKeyStrokes release];
|
[fKeyStrokes release];
|
||||||
[fMenuTorrent release];
|
[fMenuTorrent release];
|
||||||
|
@ -170,11 +171,23 @@
|
||||||
[super updateCell: cell];
|
[super updateCell: cell];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (NSIndexSet *)tableView:(NSTableView *)tableView selectionIndexesForProposedSelection:(NSIndexSet *)proposedSelectionIndexes
|
||||||
|
{
|
||||||
|
return fSelectedIndexes ? fSelectedIndexes : proposedSelectionIndexes;
|
||||||
|
}
|
||||||
|
|
||||||
- (void) mouseDown: (NSEvent *) event
|
- (void) mouseDown: (NSEvent *) event
|
||||||
{
|
{
|
||||||
|
NSPoint point = [self convertPoint: [event locationInWindow] fromView: nil];
|
||||||
|
|
||||||
|
//if pushing a button, don't change the selected rows
|
||||||
|
if ([self pointInControlRect: point] || [self pointInRevealRect: point] || [self pointInActionRect: point])
|
||||||
|
fSelectedIndexes = [[self selectedRowIndexes] retain];
|
||||||
|
|
||||||
[super mouseDown: event];
|
[super mouseDown: event];
|
||||||
|
|
||||||
NSPoint point = [self convertPoint: [event locationInWindow] fromView: nil];
|
[fSelectedIndexes release];
|
||||||
|
fSelectedIndexes = nil;
|
||||||
|
|
||||||
if ([self pointInActionRect: point])
|
if ([self pointInActionRect: point])
|
||||||
{
|
{
|
||||||
|
@ -560,7 +573,7 @@
|
||||||
|
|
||||||
@implementation TorrentTableView (Private)
|
@implementation TorrentTableView (Private)
|
||||||
|
|
||||||
/*- (BOOL) pointInControlRect: (NSPoint) point
|
- (BOOL) pointInControlRect: (NSPoint) point
|
||||||
{
|
{
|
||||||
int row = [self rowAtPoint: point];
|
int row = [self rowAtPoint: point];
|
||||||
if (row < 0)
|
if (row < 0)
|
||||||
|
@ -578,7 +591,7 @@
|
||||||
|
|
||||||
TorrentCell * cell = [[self tableColumnWithIdentifier: @"Torrent"] dataCell];
|
TorrentCell * cell = [[self tableColumnWithIdentifier: @"Torrent"] dataCell];
|
||||||
return NSPointInRect(point, [cell revealButtonRectForBounds: [self frameOfCellAtColumn: 0 row: row]]);
|
return NSPointInRect(point, [cell revealButtonRectForBounds: [self frameOfCellAtColumn: 0 row: row]]);
|
||||||
}*/
|
}
|
||||||
|
|
||||||
- (BOOL) pointInActionRect: (NSPoint) point
|
- (BOOL) pointInActionRect: (NSPoint) point
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue