the progress bar color gradients are now all generated by a single color fed into a method to generate the gradient (more consistent gradient between colors and easier to adjust the gradient look in the future)

This commit is contained in:
Mitchell Livingston 2008-06-24 03:59:34 +00:00
parent cd6ff83415
commit 94f08e3074
6 changed files with 60 additions and 331 deletions

View File

@ -25,6 +25,9 @@
#import "CTGradient.h"
@interface CTGradient (ProgressBar)
+ (CTGradient *) progressGradientForColor: (NSColor *) color;
+ (CTGradient *)progressWhiteGradient;
+ (CTGradient *)progressGrayGradient;
+ (CTGradient *)progressLightGrayGradient;
@ -35,4 +38,5 @@
+ (CTGradient *)progressDarkGreenGradient;
+ (CTGradient *)progressRedGradient;
+ (CTGradient *)progressYellowGradient;
@end

View File

@ -26,30 +26,41 @@
@implementation CTGradient (ProgressBar)
+ (CTGradient *)progressWhiteGradient
+ (CTGradient *) progressGradientForColor: (NSColor *) color
{
CTGradient *newInstance = [[[self class] alloc] init];
float redComponent = [color redComponent],
greenComponent = [color greenComponent],
blueComponent = [color blueComponent];
CTGradientElement color1;
color1.red = color1.green = color1.blue = 0.95;
color1.alpha = 1.00;
color1.position = 0;
color1.red = redComponent;
color1.green = greenComponent;
color1.blue = blueComponent;
color1.alpha = 1.0;
color1.position = 0.0;
CTGradientElement color2;
color2.red = color2.green = color2.blue = 0.83;
color2.alpha = 1.00;
color2.red = redComponent * 0.8736;
color2.green = greenComponent * 0.8736;
color2.blue = blueComponent * 0.8736;
color2.alpha = 1.0;
color2.position = 0.5;
CTGradientElement color3;
color3.red = color3.green = color3.blue = 0.95;
color3.alpha = 1.00;
color3.red = redComponent;
color3.green = greenComponent;
color3.blue = blueComponent;
color3.alpha = 1.0;
color3.position = 0.5;
CTGradientElement color4;
color4.red = color4.green = color4.blue = 0.92;
color4.alpha = 1.00;
color4.position = 1;
color4.red = redComponent * 0.9684;
color4.green = greenComponent * 0.9684;
color4.blue = blueComponent * 0.9684;
color4.alpha = 1.0;
color4.position = 1.0;
CTGradient * newInstance = [[[self class] alloc] init];
[newInstance addElement:&color1];
[newInstance addElement:&color2];
[newInstance addElement:&color3];
@ -58,345 +69,54 @@
return [newInstance autorelease];
}
+ (CTGradient *)progressWhiteGradient
{
return [[self class] progressGradientForColor: [NSColor colorWithCalibratedRed: 0.95 green: 0.95 blue: 0.95 alpha: 1.0]];
}
+ (CTGradient *)progressGrayGradient
{
CTGradient *newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = color1.green = color1.blue = 0.7;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = color2.green = color2.blue = 0.6;
color2.alpha = 1.00;
color2.position = 0.5;
CTGradientElement color3;
color3.red = color3.green = color3.blue = 0.7;
color3.alpha = 1.00;
color3.position = 0.5;
CTGradientElement color4;
color4.red = color4.green = color4.blue = 0.7;
color4.alpha = 1.00;
color4.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
[newInstance addElement:&color3];
[newInstance addElement:&color4];
return [newInstance autorelease];
return [[self class] progressGradientForColor: [NSColor colorWithCalibratedRed: 0.7 green: 0.7 blue: 0.7 alpha: 1.0]];
}
+ (CTGradient *)progressLightGrayGradient
{
CTGradient *newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = color1.green = color1.blue = 0.87;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = color2.green = color2.blue = 0.754;
color2.alpha = 1.00;
color2.position = 0.5;
CTGradientElement color3;
color3.red = color3.green = color3.blue = 0.87;
color3.alpha = 1.00;
color3.position = 0.5;
CTGradientElement color4;
color4.red = color4.green = color4.blue = 0.87;
color4.alpha = 1.00;
color4.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
[newInstance addElement:&color3];
[newInstance addElement:&color4];
return [newInstance autorelease];
return [[self class] progressGradientForColor: [NSColor colorWithCalibratedRed: 0.87 green: 0.87 blue: 0.87 alpha: 1.0]];
}
+ (CTGradient *)progressBlueGradient
{
CTGradient *newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = 0.416;
color1.green = 0.788;
color1.blue = 0.97;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = 0.274;
color2.green = 0.52;
color2.blue = 0.94;
color2.alpha = 1.00;
color2.position = 0.5;
CTGradientElement color3;
color3.red = 0.372;
color3.green = 0.635;
color3.blue = 0.98;
color3.alpha = 1.00;
color3.position = 0.5;
CTGradientElement color4;
color4.red = 0.396;
color4.green = 0.66;
color4.blue = 1.00;
color4.alpha = 1.00;
color4.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
[newInstance addElement:&color3];
[newInstance addElement:&color4];
return [newInstance autorelease];
return [[self class] progressGradientForColor: [NSColor colorWithCalibratedRed: 0.373 green: 0.698 blue: 0.972 alpha: 1.0]];
}
+ (CTGradient *)progressDarkBlueGradient
{
CTGradient *newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = 0.616;
color1.green = 0.722;
color1.blue = 0.776;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = 0.525;
color2.green = 0.631;
color2.blue = 0.737;
color2.alpha = 1.00;
color2.position = 0.5;
CTGradientElement color3;
color3.red = 0.651;
color3.green = 0.725;
color3.blue = 0.804;
color3.alpha = 1.00;
color3.position = 0.5;
CTGradientElement color4;
color4.red = 0.659;
color4.green = 0.733;
color4.blue = 0.800;
color4.alpha = 1.00;
color4.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
[newInstance addElement:&color3];
[newInstance addElement:&color4];
return [newInstance autorelease];
return [[self class] progressGradientForColor: [NSColor colorWithCalibratedRed: 0.616 green: 0.722 blue: 0.776 alpha: 1.0]];
}
+ (CTGradient *)progressGreenGradient
{
CTGradient *newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = 0.270;
color1.green = 0.89;
color1.blue = 0.35;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = 0.180;
color2.green = 0.71;
color2.blue = 0.23;
color2.alpha = 1.00;
color2.position = 0.5;
CTGradientElement color3;
color3.red = 0.420;
color3.green = 0.86;
color3.blue = 0.32;
color3.alpha = 1.00;
color3.position = 0.5;
CTGradientElement color4;
color4.red = 0.466;
color4.green = 0.89;
color4.blue = 0.34;
color4.alpha = 1.00;
color4.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
[newInstance addElement:&color3];
[newInstance addElement:&color4];
return [newInstance autorelease];
return [[self class] progressGradientForColor: [NSColor colorWithCalibratedRed: 0.384 green: 0.847 blue: 0.310 alpha: 1.0]];
}
+ (CTGradient *)progressLightGreenGradient
{
CTGradient *newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = 0.522;
color1.green = 0.894;
color1.blue = 0.565;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = 0.373;
color2.green = 0.780;
color2.blue = 0.408;
color2.alpha = 1.00;
color2.position = 0.5;
CTGradientElement color3;
color3.red = 0.659;
color3.green = 0.918;
color3.blue = 0.604;
color3.alpha = 1.00;
color3.position = 0.5;
CTGradientElement color4;
color4.red = 0.678;
color4.green = 0.929;
color4.blue = 0.608;
color4.alpha = 1.00;
color4.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
[newInstance addElement:&color3];
[newInstance addElement:&color4];
return [newInstance autorelease];
return [[self class] progressGradientForColor: [NSColor colorWithCalibratedRed: 0.780 green: 0.894 blue: 0.729 alpha: 1.0]];
}
+ (CTGradient *)progressDarkGreenGradient
{
CTGradient *newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = 0.627;
color1.green = 0.714;
color1.blue = 0.639;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = 0.545;
color2.green = 0.635;
color2.blue = 0.561;
color2.alpha = 1.00;
color2.position = 0.5;
CTGradientElement color3;
color3.red = 0.690;
color3.green = 0.745;
color3.blue = 0.675;
color3.alpha = 1.00;
color3.position = 0.5;
CTGradientElement color4;
color4.red = 0.694;
color4.green = 0.741;
color4.blue = 0.678;
color4.alpha = 1.00;
color4.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
[newInstance addElement:&color3];
[newInstance addElement:&color4];
return [newInstance autorelease];
return [[self class] progressGradientForColor: [NSColor colorWithCalibratedRed: 0.627 green: 0.714 blue: 0.639 alpha: 1.0]];
}
+ (CTGradient *)progressRedGradient
{
CTGradient *newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = 0.9;
color1.green = color1.blue = 0.5;
color1.alpha = 1.00;
color1.position = 0;
CTGradientElement color2;
color2.red = 0.9;
color2.green = color2.blue = 0.4;
color2.alpha = 1.00;
color2.position = 0.5;
CTGradientElement color3;
color3.red = 0.9;
color3.green = color3.blue = 0.5;
color3.alpha = 1.00;
color3.position = 0.5;
CTGradientElement color4;
color4.red = 0.9;
color4.green = color4.blue = 0.5;
color4.alpha = 1.00;
color4.position = 1;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
[newInstance addElement:&color3];
[newInstance addElement:&color4];
return [newInstance autorelease];
return [[self class] progressGradientForColor: [NSColor colorWithCalibratedRed: 0.902 green: 0.439 blue: 0.451 alpha: 1.0]];
}
+ (CTGradient *)progressYellowGradient
{
CTGradient *newInstance = [[[self class] alloc] init];
CTGradientElement color1;
color1.red = 0.933;
color1.green = 0.831;
color1.blue = 0.227;
color1.alpha = 1.00;
color1.position = 1;
CTGradientElement color2;
color2.red = 0.965;
color2.green = 0.737;
color2.blue = 0.086;
color2.alpha = 1.00;
color2.position = 0.5;
CTGradientElement color3;
color3.red = 0.965;
color3.green = 0.831;
color3.blue = 0.169;
color3.alpha = 1.00;
color3.position = 0.5;
CTGradientElement color4;
color4.red = 0.965;
color4.green = 0.831;
color4.blue = 0.169;
color4.alpha = 1.00;
color4.position = 0;
[newInstance addElement:&color1];
[newInstance addElement:&color2];
[newInstance addElement:&color3];
[newInstance addElement:&color4];
return [newInstance autorelease];
return [[self class] progressGradientForColor: [NSColor colorWithCalibratedRed: 0.933 green: 0.890 blue: 0.243 alpha: 1.0]];
}
@end

View File

@ -119,7 +119,7 @@
[fDefaults removeObjectForKey: @"CreatorTracker"];
[fDefaults setObject: fTrackers forKey: @"CreatorTrackers"];
}
}NSLog([fTrackers description]);
}
}
return self;
}

View File

@ -3,13 +3,14 @@
<data>
<int key="IBDocument.SystemTarget">1050</int>
<string key="IBDocument.SystemVersion">9D34</string>
<string key="IBDocument.InterfaceBuilderVersion">667</string>
<string key="IBDocument.InterfaceBuilderVersion">670</string>
<string key="IBDocument.AppKitVersion">949.33</string>
<string key="IBDocument.HIToolboxVersion">352.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="2"/>
<integer value="81"/>
<integer value="1603"/>
<integer value="1480"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -91,7 +92,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
<object class="NSMenuItem" key="NSMenuItem" id="824838798">
<reference key="NSMenu" ref="97165992"/>
<bool key="NSIsHidden">YES</bool>
<string key="NSTitle">Action Menu</string>
<string key="NSTitle"/>
<string key="NSKeyEquiv"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
@ -3406,7 +3407,7 @@ zJLMsszTzPPNFM00zVXNdc2GzabNx83nzgjOKM5JzmnOis6qzrrO2877zxzPPM9dz33Pns++z9/P79AA
<string key="NSName"/>
</object>
<object class="NSCustomView" id="492482618">
<nil key="NSNextResponder"/>
<reference key="NSNextResponder"/>
<int key="NSvFlags">266</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -3641,11 +3642,12 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
</object>
</object>
<string key="NSFrameSize">{400, 21}</string>
<reference key="NSSuperview"/>
<string key="NSClassName">StatusBarView</string>
<string key="NSExtension">NSView</string>
</object>
<object class="NSCustomView" id="793806362">
<nil key="NSNextResponder"/>
<reference key="NSNextResponder"/>
<int key="NSvFlags">266</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -3930,6 +3932,7 @@ ARcABAAAAAEAAAACARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAIAAQABAAAAAA</bytes>
</object>
</object>
<string key="NSFrameSize">{457, 23}</string>
<reference key="NSSuperview"/>
<string key="NSClassName">StatusBarView</string>
<string key="NSExtension">NSView</string>
</object>

View File

@ -436,15 +436,17 @@ typedef enum
[fCreatorField setStringValue: creatorString];
[fDateCreatedField setObjectValue: [torrent dateCreated]];
BOOL publicTorrent = [torrent publicTorrent];
[fTorrentLocationField setStringValue: publicTorrent
? [[torrent publicTorrentLocation] stringByAbbreviatingWithTildeInPath]
: NSLocalizedString(@"Transmission Support Folder", "Torrent -> location when deleting original")];
if (publicTorrent)
[fTorrentLocationField setToolTip: [[torrent publicTorrentLocation] stringByAppendingFormat: @"\n\n%@",
[torrent torrentLocation]]];
if ([torrent publicTorrent])
{
NSString * location = [torrent publicTorrentLocation];
[fTorrentLocationField setStringValue: [location stringByAbbreviatingWithTildeInPath]];
[fTorrentLocationField setToolTip: [location stringByAppendingFormat: @"\n\n%@", [torrent torrentLocation]]];
}
else
{
[fTorrentLocationField setStringValue: NSLocalizedString(@"Transmission Support Folder", "Inspector -> torrent location")];
[fTorrentLocationField setToolTip: [torrent torrentLocation]];
}
[fDateAddedField setObjectValue: [torrent dateAdded]];

View File

@ -382,7 +382,7 @@ void completenessChangeCallback(tr_torrent * torrent, cp_status_t status, void *
}
- (float) progressStopRatio
{
{return 0.5;
float stopRatio, ratio;
if ((stopRatio = [self actualStopRatio]) == INVALID || (ratio = [self ratio]) >= stopRatio)
return 1.0;