mirror of
https://github.com/transmission/transmission
synced 2024-12-23 00:04:06 +00:00
missed these files in the last commit
This commit is contained in:
parent
0558f0b05f
commit
03292f0bd8
3 changed files with 136 additions and 2 deletions
|
@ -2134,7 +2134,7 @@ AAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAA</bytes>
|
|||
</object>
|
||||
</object>
|
||||
<double key="NSRowHeight">1.400000e+01</double>
|
||||
<int key="NSTvFlags">314572800</int>
|
||||
<int key="NSTvFlags">306184192</int>
|
||||
<int key="NSColumnAutoresizingStyle">4</int>
|
||||
<int key="NSDraggingSourceMaskForLocal">15</int>
|
||||
<int key="NSDraggingSourceMaskForNonLocal">0</int>
|
||||
|
@ -8921,7 +8921,7 @@ zijOSc5pzorOqs66ztvO+88czzzPXc99z57Pvs/fz+/QANAg0EHQYdCC0KLQw9Dj0PPRFNE00VXRddGW
|
|||
<string>NSMatrix</string>
|
||||
<string>NSTextField</string>
|
||||
<string>NSTextField</string>
|
||||
<string>NSTableView</string>
|
||||
<string>TrackerTableView</string>
|
||||
<string>NSView</string>
|
||||
<string>NSTextField</string>
|
||||
<string>NSTextField</string>
|
||||
|
|
34
macosx/TrackerTableView.h
Normal file
34
macosx/TrackerTableView.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
/******************************************************************************
|
||||
* $Id$
|
||||
*
|
||||
* Copyright (c) 2008 Transmission authors and contributors
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*****************************************************************************/
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
@interface TrackerTableView : NSTableView
|
||||
{
|
||||
NSArray * fTrackers;
|
||||
}
|
||||
|
||||
- (void) setTrackers: (NSArray *) trackers;
|
||||
|
||||
@end
|
100
macosx/TrackerTableView.m
Normal file
100
macosx/TrackerTableView.m
Normal file
|
@ -0,0 +1,100 @@
|
|||
/******************************************************************************
|
||||
* $Id$
|
||||
*
|
||||
* Copyright (c) 2008 Transmission authors and contributors
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*****************************************************************************/
|
||||
|
||||
#import "TrackerTableView.h"
|
||||
|
||||
@implementation TrackerTableView
|
||||
|
||||
- (void) setTrackers: (NSArray *) trackers
|
||||
{
|
||||
fTrackers = trackers;
|
||||
}
|
||||
|
||||
//alternating rows - first row after group row is white
|
||||
- (void) highlightSelectionInClipRect: (NSRect) clipRect
|
||||
{
|
||||
NSArray * colors = [NSColor controlAlternatingRowBackgroundColors];
|
||||
|
||||
NSRect visibleRect = clipRect;
|
||||
NSRange rows = [self rowsInRect: visibleRect];
|
||||
BOOL start = YES;
|
||||
|
||||
if (rows.length > 0)
|
||||
{
|
||||
int i;
|
||||
|
||||
//determine what the first row color should be
|
||||
if (![[fTrackers objectAtIndex: rows.location] isKindOfClass: [NSNumber class]])
|
||||
{
|
||||
for (i = rows.location-1; i>=0; i--)
|
||||
{
|
||||
if ([[fTrackers objectAtIndex: i] isKindOfClass: [NSNumber class]])
|
||||
break;
|
||||
start = !start;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
rows.location++;
|
||||
rows.length--;
|
||||
}
|
||||
|
||||
for (i = rows.location; i < NSMaxRange(rows); i++)
|
||||
{
|
||||
if ([[fTrackers objectAtIndex: i] isKindOfClass: [NSNumber class]])
|
||||
{
|
||||
start = YES;
|
||||
continue;
|
||||
}
|
||||
|
||||
NSColor * color = start ? [colors objectAtIndex: 0] : [colors objectAtIndex: 1];
|
||||
[color set];
|
||||
NSRectFill([self rectOfRow: i]);
|
||||
|
||||
start = !start;
|
||||
}
|
||||
|
||||
float newY = NSMaxY([self rectOfRow: i-1]);
|
||||
visibleRect.size.height -= newY - visibleRect.origin.y;
|
||||
visibleRect.origin.y = newY;
|
||||
}
|
||||
|
||||
//remaining visible rows continue alternating
|
||||
NSRect rowRect = visibleRect;
|
||||
rowRect.size.height = [self rowHeight] + [self intercellSpacing].height;
|
||||
|
||||
while (rowRect.origin.y < NSMaxY(visibleRect))
|
||||
{
|
||||
NSColor * color = start ? [colors objectAtIndex: 0] : [colors objectAtIndex: 1];
|
||||
[color set];
|
||||
NSRectFill(rowRect);
|
||||
|
||||
start = !start;
|
||||
rowRect.origin.y += rowRect.size.height;
|
||||
}
|
||||
|
||||
[super highlightSelectionInClipRect: clipRect];
|
||||
}
|
||||
|
||||
@end
|
Loading…
Reference in a new issue