mirror of
https://github.com/transmission/transmission
synced 2025-02-25 07:22:38 +00:00
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:
parent
cd6ff83415
commit
94f08e3074
6 changed files with 60 additions and 331 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -119,7 +119,7 @@
|
|||
[fDefaults removeObjectForKey: @"CreatorTracker"];
|
||||
[fDefaults setObject: fTrackers forKey: @"CreatorTrackers"];
|
||||
}
|
||||
}NSLog([fTrackers description]);
|
||||
}
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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]];
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue