Add preference options for refreshing the view + controller automatically on windowDidBecomeMain.

Add preference for showing exact or relative dates. 
Make the showWhitespaceDifferences preference work.
Make the context slider in the diff views work. 

This is done with a minimal version of jQuery 1.3.2 being responsible for the animation and
a small cookie storing the last value between page refreshes so that it can be incremented by the HTML sliders
default value.
TODO: Maybe we can also make the default context value into a preference?
This commit is contained in:
André Berg
2010-03-24 09:14:52 +01:00
parent 45e8aabaf3
commit 5598eef737
9 changed files with 281 additions and 151 deletions
+161 -40
View File
@@ -14,6 +14,7 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="1"/>
<integer value="62"/>
<integer value="4"/>
<integer value="87"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
@@ -45,21 +46,70 @@
<int key="NSvFlags">268</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSButton" id="863978541">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{18, 173}, {144, 18}}</string>
<reference key="NSSuperview" ref="1005"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="145167696">
<int key="NSCellFlags">-2080244224</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Show relative dates</string>
<object class="NSFont" key="NSSupport" id="734450335">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
<reference key="NSControlView" ref="863978541"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage" id="712582888">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSSwitch</string>
</object>
<object class="NSButtonImageSource" key="NSAlternateImage" id="690089052">
<string key="NSImageName">NSSwitch</string>
</object>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="1023447188">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{18, 198}, {233, 18}}</string>
<reference key="NSSuperview" ref="1005"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="113310181">
<int key="NSCellFlags">-2080244224</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">Auto refresh on application focus</string>
<reference key="NSSupport" ref="734450335"/>
<reference key="NSControlView" ref="1023447188"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="712582888"/>
<reference key="NSAlternateImage" ref="690089052"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSTextField" id="25030403">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{248, 100}, {41, 22}}</string>
<string key="NSFrame">{{248, 122}, {41, 22}}</string>
<reference key="NSSuperview" ref="1005"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="1045854608">
<int key="NSCellFlags">-1804468671</int>
<int key="NSCellFlags2">272630784</int>
<string key="NSContents"/>
<object class="NSFont" key="NSSupport" id="734450335">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
<reference key="NSSupport" ref="734450335"/>
<reference key="NSControlView" ref="25030403"/>
<bool key="NSDrawsBackground">YES</bool>
<object class="NSColor" key="NSBackgroundColor">
@@ -85,7 +135,7 @@
<object class="NSTextField" id="258144035">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{121, 102}, {122, 17}}</string>
<string key="NSFrame">{{121, 124}, {122, 17}}</string>
<reference key="NSSuperview" ref="1005"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="1031567029">
@@ -114,7 +164,7 @@
<object class="NSButton" id="968361983">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{18, 125}, {273, 18}}</string>
<string key="NSFrame">{{18, 147}, {273, 18}}</string>
<reference key="NSSuperview" ref="1005"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="782438225">
@@ -125,13 +175,8 @@
<reference key="NSControlView" ref="968361983"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage" id="114317419">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">NSSwitch</string>
</object>
<object class="NSButtonImageSource" key="NSAlternateImage" id="690089052">
<string key="NSImageName">NSSwitch</string>
</object>
<reference key="NSNormalImage" ref="712582888"/>
<reference key="NSAlternateImage" ref="690089052"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
@@ -141,7 +186,7 @@
<object class="NSTextField" id="441589300">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 74}, {99, 17}}</string>
<string key="NSFrame">{{17, 96}, {99, 17}}</string>
<reference key="NSSuperview" ref="1005"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="31526941">
@@ -165,7 +210,7 @@
<string>NSFilenamesPboardType</string>
</object>
</object>
<string key="NSFrame">{{121, 70}, {179, 22}}</string>
<string key="NSFrame">{{121, 92}, {179, 22}}</string>
<reference key="NSSuperview" ref="1005"/>
<bool key="NSEnabled">YES</bool>
<object class="NSPathCell" key="NSCell" id="331807888">
@@ -187,7 +232,7 @@
<object class="NSTextField" id="617839596">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{118, 20}, {192, 42}}</string>
<string key="NSFrame">{{118, 42}, {192, 42}}</string>
<reference key="NSSuperview" ref="1005"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="453728129">
@@ -203,7 +248,7 @@
<object class="NSButton" id="1032928366">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{306, 74}, {54, 14}}</string>
<string key="NSFrame">{{306, 96}, {54, 14}}</string>
<reference key="NSSuperview" ref="1005"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="806993456">
@@ -228,7 +273,7 @@
<object class="NSButton" id="910887184">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{18, 150}, {203, 18}}</string>
<string key="NSFrame">{{18, 223}, {203, 18}}</string>
<reference key="NSSuperview" ref="1005"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="709654045">
@@ -239,7 +284,7 @@
<reference key="NSControlView" ref="910887184"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="114317419"/>
<reference key="NSNormalImage" ref="712582888"/>
<reference key="NSAlternateImage" ref="690089052"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
@@ -250,7 +295,7 @@
<object class="NSButton" id="160081910">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{18, 175}, {279, 18}}</string>
<string key="NSFrame">{{18, 248}, {279, 18}}</string>
<reference key="NSSuperview" ref="1005"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="876763316">
@@ -261,7 +306,7 @@
<reference key="NSControlView" ref="160081910"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="114317419"/>
<reference key="NSNormalImage" ref="712582888"/>
<reference key="NSAlternateImage" ref="690089052"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
@@ -272,7 +317,7 @@
<object class="NSButton" id="68472633">
<reference key="NSNextResponder" ref="1005"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{18, 200}, {207, 18}}</string>
<string key="NSFrame">{{18, 273}, {207, 18}}</string>
<reference key="NSSuperview" ref="1005"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="456188813">
@@ -283,7 +328,7 @@
<reference key="NSControlView" ref="68472633"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="114317419"/>
<reference key="NSNormalImage" ref="712582888"/>
<reference key="NSAlternateImage" ref="690089052"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
@@ -292,12 +337,12 @@
</object>
</object>
</object>
<string key="NSFrameSize">{400, 236}</string>
<string key="NSFrameSize">{397, 309}</string>
<reference key="NSSuperview"/>
<string key="NSClassName">NSView</string>
</object>
<object class="NSCustomView" id="970459672">
<nil key="NSNextResponder"/>
<reference key="NSNextResponder"/>
<int key="NSvFlags">268</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -331,7 +376,7 @@
<reference key="NSControlView" ref="250497668"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="114317419"/>
<reference key="NSNormalImage" ref="712582888"/>
<reference key="NSAlternateImage" ref="690089052"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
@@ -501,6 +546,7 @@
</object>
</object>
<string key="NSFrameSize">{400, 139}</string>
<reference key="NSSuperview"/>
<string key="NSClassName">NSView</string>
</object>
<object class="NSCustomView" id="351117501">
@@ -522,7 +568,7 @@
<reference key="NSControlView" ref="890810109"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="114317419"/>
<reference key="NSNormalImage" ref="712582888"/>
<reference key="NSAlternateImage" ref="690089052"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
@@ -539,6 +585,11 @@
<string key="NSClassName">SUUpdater</string>
</object>
<object class="NSUserDefaultsController" id="557723770">
<object class="NSMutableArray" key="NSDeclaredKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>PBRefreshAutomatically</string>
<string>PBShowRelativeDates</string>
</object>
<bool key="NSSharedInstance">YES</bool>
</object>
<object class="NSCustomView" id="263788152">
@@ -560,7 +611,7 @@
<reference key="NSControlView" ref="237556568"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="114317419"/>
<reference key="NSNormalImage" ref="712582888"/>
<reference key="NSAlternateImage" ref="690089052"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
@@ -582,7 +633,7 @@
<reference key="NSControlView" ref="485413225"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="114317419"/>
<reference key="NSNormalImage" ref="712582888"/>
<reference key="NSAlternateImage" ref="690089052"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
@@ -604,7 +655,7 @@
<reference key="NSControlView" ref="933582906"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="114317419"/>
<reference key="NSNormalImage" ref="712582888"/>
<reference key="NSAlternateImage" ref="690089052"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
@@ -626,7 +677,7 @@
<reference key="NSControlView" ref="766070942"/>
<int key="NSButtonFlags">1211912703</int>
<int key="NSButtonFlags2">2</int>
<reference key="NSNormalImage" ref="114317419"/>
<reference key="NSNormalImage" ref="712582888"/>
<reference key="NSAlternateImage" ref="690089052"/>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
@@ -1042,6 +1093,38 @@
</object>
<int key="connectionID">136</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: values.PBRefreshAutomatically</string>
<reference key="source" ref="1023447188"/>
<reference key="destination" ref="557723770"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="1023447188"/>
<reference key="NSDestination" ref="557723770"/>
<string key="NSLabel">value: values.PBRefreshAutomatically</string>
<string key="NSBinding">value</string>
<string key="NSKeyPath">values.PBRefreshAutomatically</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">143</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: values.PBShowRelativeDates</string>
<reference key="source" ref="863978541"/>
<reference key="destination" ref="557723770"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="863978541"/>
<reference key="NSDestination" ref="557723770"/>
<string key="NSLabel">value: values.PBShowRelativeDates</string>
<string key="NSBinding">value</string>
<string key="NSKeyPath">values.PBShowRelativeDates</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">147</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -1076,15 +1159,17 @@
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="910887184"/>
<reference ref="441589300"/>
<reference ref="525163949"/>
<reference ref="617839596"/>
<reference ref="1032928366"/>
<reference ref="68472633"/>
<reference ref="160081910"/>
<reference ref="1023447188"/>
<reference ref="1032928366"/>
<reference ref="617839596"/>
<reference ref="525163949"/>
<reference ref="441589300"/>
<reference ref="968361983"/>
<reference ref="258144035"/>
<reference ref="25030403"/>
<reference ref="863978541"/>
</object>
<reference key="parent" ref="0"/>
<string key="objectName">General</string>
@@ -1476,6 +1561,34 @@
<reference key="object" ref="1045854608"/>
<reference key="parent" ref="25030403"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">137</int>
<reference key="object" ref="1023447188"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="113310181"/>
</object>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">138</int>
<reference key="object" ref="113310181"/>
<reference key="parent" ref="1023447188"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">144</int>
<reference key="object" ref="863978541"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="145167696"/>
</object>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">145</int>
<reference key="object" ref="145167696"/>
<reference key="parent" ref="863978541"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -1506,7 +1619,11 @@
<string>13.IBPluginDependency</string>
<string>130.IBPluginDependency</string>
<string>131.IBPluginDependency</string>
<string>137.IBPluginDependency</string>
<string>138.IBPluginDependency</string>
<string>14.IBPluginDependency</string>
<string>144.IBPluginDependency</string>
<string>145.IBPluginDependency</string>
<string>15.IBEditorWindowLastContentRect</string>
<string>15.IBPluginDependency</string>
<string>16.IBPluginDependency</string>
@@ -1549,7 +1666,7 @@
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{845, 648}, {400, 236}}</string>
<string>{{610, 665}, {397, 309}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSMutableArray">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -1580,6 +1697,10 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{443, 712}, {103, 71}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -1593,7 +1714,7 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{324, 683}, {400, 139}}</string>
<string>{{384, 683}, {400, 139}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSMutableArray">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -1643,7 +1764,7 @@
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">136</int>
<int key="maxID">147</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
+58 -62
View File
@@ -38,72 +38,68 @@ NSString * const kGitXCommitType = @"commit";
return [NSDate dateWithTimeIntervalSince1970:timestamp];
}
#ifdef NormalDate
- (NSString *) dateString
{
NSDateFormatter* formatter = [[NSDateFormatter alloc] initWithDateFormat:@"%Y-%m-%d %H:%M:%S" allowNaturalLanguage:NO];
return [formatter stringFromDate: self.date];
}
#else
// Code modified from Gilean ( http://stackoverflow.com/users/6305/gilean ).
// Copied from stackoverflow's accepted answer for Objective C relative dates.
// http://stackoverflow.com/questions/902950/iphone-convert-date-string-to-a-relative-time-stamp
// Modified the seconds constants with compile time math to aid in ease of adjustment of "Majic" numbers.
//
-(NSString *)dateString {
NSDate *todayDate = [NSDate date];
double ti = [self.date timeIntervalSinceDate:todayDate];
ti = ti * -1;
if(ti < 1) {
return @"In the future!";
} else if ( ti < 60 ) {
return @"less than a minute ago";
} else if ( ti < (60 * 60) ) {
int diff = round(ti / 60);
if ( diff < 2 ) {
return @"1 minute ago";
} else {
return [NSString stringWithFormat:@"%d minutes ago", diff];
}
} else if ( ti < ( 60 * 60 * 24 ) ) {
int diff = round(ti / 60 / 60);
if ( diff < 2 ) {
return @"1 hour ago";
} else {
return[NSString stringWithFormat:@"%d hours ago", diff];
}
} else if ( ti < ( 60 * 60 * 24 * 7 ) ) {
int diff = round(ti / 60 / 60 / 24);
if ( diff < 2 ) {
return @"1 day ago";
} else {
return[NSString stringWithFormat:@"%d days ago", diff];
}
} else if ( ti < ( 60 * 60 * 24 * 31.5 ) ) {
int diff = round(ti / 60 / 60 / 24 / 7);
if ( diff < 2 ) {
return @"1 week ago";
} else {
return[NSString stringWithFormat:@"%d weeks ago", diff];
}
} else if ( ti < ( 60 * 60 * 24 * 365 ) ) {
int diff = round(ti / 60 / 60 / 24 / 30);
if ( diff < 2 ) {
return @"1 month ago";
} else {
return[NSString stringWithFormat:@"%d months ago", diff];
}
if ([PBGitDefaults showRelativeDates]) {
// Code modified from Gilean ( http://stackoverflow.com/users/6305/gilean ).
// Copied from stackoverflow's accepted answer for Objective C relative dates.
// http://stackoverflow.com/questions/902950/iphone-convert-date-string-to-a-relative-time-stamp
// Modified the seconds constants with compile time math to aid in ease of adjustment of "Majic" numbers.
//
NSDate *todayDate = [NSDate date];
double ti = [self.date timeIntervalSinceDate:todayDate];
ti = ti * -1;
if(ti < 1) {
return @"In the future!";
} else if ( ti < 60 ) {
return @"less than a minute ago";
} else if ( ti < (60 * 60) ) {
int diff = round(ti / 60);
if ( diff < 2 ) {
return @"1 minute ago";
} else {
return [NSString stringWithFormat:@"%d minutes ago", diff];
}
} else if ( ti < ( 60 * 60 * 24 ) ) {
int diff = round(ti / 60 / 60);
if ( diff < 2 ) {
return @"1 hour ago";
} else {
return[NSString stringWithFormat:@"%d hours ago", diff];
}
} else if ( ti < ( 60 * 60 * 24 * 7 ) ) {
int diff = round(ti / 60 / 60 / 24);
if ( diff < 2 ) {
return @"1 day ago";
} else {
return[NSString stringWithFormat:@"%d days ago", diff];
}
} else if ( ti < ( 60 * 60 * 24 * 31.5 ) ) {
int diff = round(ti / 60 / 60 / 24 / 7);
if ( diff < 2 ) {
return @"1 week ago";
} else {
return[NSString stringWithFormat:@"%d weeks ago", diff];
}
} else if ( ti < ( 60 * 60 * 24 * 365 ) ) {
int diff = round(ti / 60 / 60 / 24 / 30);
if ( diff < 2 ) {
return @"1 month ago";
} else {
return[NSString stringWithFormat:@"%d months ago", diff];
}
} else {
float diff = round(ti / 60 / 60 / 24 / 365 * 4) / 4.0;
if ( diff < 1.25 ) {
return @"1 year ago";
} else {
return[NSString stringWithFormat:@"%g years ago", diff];
}
}
} else {
float diff = round(ti / 60 / 60 / 24 / 365 * 4) / 4.0;
if ( diff < 1.25 ) {
return @"1 year ago";
} else {
return[NSString stringWithFormat:@"%g years ago", diff];
}
NSDateFormatter* formatter = [[NSDateFormatter alloc] initWithDateFormat:@"%Y-%m-%d %H:%M:%S" allowNaturalLanguage:NO];
return [formatter stringFromDate: self.date];
}
}
#endif
- (NSArray*) treeContents
{
+1
View File
@@ -18,6 +18,7 @@
+ (BOOL) confirmPublicGists;
+ (BOOL) isGistPublic;
+ (BOOL) showWhitespaceDifferences;
+ (BOOL) showRelativeDates;
+ (BOOL) refreshAutomatically;
+ (BOOL)openCurDirOnLaunch;
+ (BOOL)showOpenPanelOnLaunch;
+49 -39
View File
@@ -8,53 +8,58 @@
#import "PBGitDefaults.h"
#define kDefaultVerticalLineLength 50
#define kDefaultVerticalLineLength 50
#define kCommitMessageViewVerticalLineLength @"PBCommitMessageViewVerticalLineLength"
#define kCommitMessageViewHasVerticalLine @"PBCommitMessageViewHasVerticalLine"
#define kEnableGist @"PBEnableGist"
#define kEnableGravatar @"PBEnableGravatar"
#define kConfirmPublicGists @"PBConfirmPublicGists"
#define kPublicGist @"PBGistPublic"
#define kShowWhitespaceDifferences @"PBShowWhitespaceDifferences"
#define kRefreshAutomatically @"PBRefreshAutomatically"
#define kOpenCurDirOnLaunch @"PBOpenCurDirOnLaunch"
#define kShowOpenPanelOnLaunch @"PBShowOpenPanelOnLaunch"
#define kShouldCheckoutBranch @"PBShouldCheckoutBranch"
#define kRecentCloneDestination @"PBRecentCloneDestination"
#define kSuppressAcceptDropRef @"PBSuppressAcceptDropRef"
#define kShowStageView @"PBShowStageView"
#define kOpenPreviousDocumentsOnLaunch @"PBOpenPreviousDocumentsOnLaunch"
#define kPreviousDocumentPaths @"PBPreviousDocumentPaths"
#define kBranchFilterState @"PBBranchFilter"
#define kCommitMessageViewHasVerticalLine @"PBCommitMessageViewHasVerticalLine"
#define kEnableGist @"PBEnableGist"
#define kEnableGravatar @"PBEnableGravatar"
#define kConfirmPublicGists @"PBConfirmPublicGists"
#define kPublicGist @"PBGistPublic"
#define kShowWhitespaceDifferences @"PBShowWhitespaceDifferences"
#define kRefreshAutomatically @"PBRefreshAutomatically"
#define kOpenCurDirOnLaunch @"PBOpenCurDirOnLaunch"
#define kShowOpenPanelOnLaunch @"PBShowOpenPanelOnLaunch"
#define kShouldCheckoutBranch @"PBShouldCheckoutBranch"
#define kRecentCloneDestination @"PBRecentCloneDestination"
#define kSuppressAcceptDropRef @"PBSuppressAcceptDropRef"
#define kShowStageView @"PBShowStageView"
#define kOpenPreviousDocumentsOnLaunch @"PBOpenPreviousDocumentsOnLaunch"
#define kPreviousDocumentPaths @"PBPreviousDocumentPaths"
#define kBranchFilterState @"PBBranchFilter"
#define kShowRelativeDates @"PBShowRelativeDates"
@implementation PBGitDefaults
+ (void)initialize
{
NSMutableDictionary *defaultValues = [NSMutableDictionary dictionary];
[defaultValues setObject:[NSNumber numberWithInt:kDefaultVerticalLineLength]
+ (void) initialize {
NSMutableDictionary * defaultValues = [NSMutableDictionary dictionary];
[defaultValues setObject:[NSNumber numberWithInt:kDefaultVerticalLineLength]
forKey:kCommitMessageViewVerticalLineLength];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kCommitMessageViewHasVerticalLine];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kEnableGist];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kEnableGravatar];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kConfirmPublicGists];
[defaultValues setObject:[NSNumber numberWithBool:NO]
forKey:kPublicGist];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kShowWhitespaceDifferences];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kOpenCurDirOnLaunch];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kShowOpenPanelOnLaunch];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kShouldCheckoutBranch];
[defaultValues setObject:[NSNumber numberWithBool:NO]
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kEnableGist];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kEnableGravatar];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kConfirmPublicGists];
[defaultValues setObject:[NSNumber numberWithBool:NO]
forKey:kPublicGist];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kShowWhitespaceDifferences];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kOpenCurDirOnLaunch];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kShowOpenPanelOnLaunch];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kRefreshAutomatically];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kShouldCheckoutBranch];
[defaultValues setObject:[NSNumber numberWithBool:NO]
forKey:kOpenPreviousDocumentsOnLaunch];
[[NSUserDefaults standardUserDefaults] registerDefaults:defaultValues];
[defaultValues setObject:[NSNumber numberWithBool:YES]
forKey:kShowRelativeDates];
[[NSUserDefaults standardUserDefaults] registerDefaults:defaultValues];
}
+ (int) commitMessageViewVerticalLineLength
@@ -97,6 +102,11 @@
return [[NSUserDefaults standardUserDefaults] boolForKey:kShowWhitespaceDifferences];
}
+ (BOOL)showRelativeDates
{
return [[NSUserDefaults standardUserDefaults] boolForKey:kShowRelativeDates];
}
+ (BOOL)openCurDirOnLaunch
{
return [[NSUserDefaults standardUserDefaults] boolForKey:kOpenCurDirOnLaunch];
+3 -3
View File
@@ -17,7 +17,7 @@
@implementation PBGitWindowController
@synthesize repository;
@synthesize repository, viewController, contentController;
- (id)initWithRepository:(PBGitRepository*)theRepository displayDefault:(BOOL)displayDefault
{
@@ -124,8 +124,8 @@
/* Using ...didBecomeMain is better than ...didBecomeKey here because the QuickLook panel will count as key state change
and the outline view window will trigger a refresh in the middle of the QuickLook panel's closing animation which
causes a half second freeze with left over artifacts. */
if (self.viewController && [PBGitDefaults refreshAutomatically]) {
[(PBViewController *)self.viewController refresh:nil];
if (self.contentController && [PBGitDefaults refreshAutomatically]) {
[self.contentController refresh:nil];
}
}
+2
View File
@@ -131,6 +131,8 @@
return [PBGitDefaults confirmPublicGists];
else if([feature isEqualToString:@"publicGist"])
return [PBGitDefaults isGistPublic];
else if ([feature isEqualToString:@"showWhitespaceDifferences"])
return [PBGitDefaults showWhitespaceDifferences];
else
return YES;
}
+1 -2
View File
@@ -49,8 +49,7 @@
}
.diff .file .diffcontent .lines .whitespace {
/* background-color: rgba(255,0,0,0.5); */
background-color: transparent;
background-color: rgba(255,0,0,0.5);
}
#CurrentHunk {
+5 -4
View File
@@ -188,10 +188,11 @@ var highlightDiff = function(diff, element, callbacks) {
sindex = "index=" + lindex.toString() + " ";
if (firstChar == "+") {
// Highlight trailing whitespace
if (m = l.match(/\s+$/))
l = l.replace(/\s+$/, "<span class='whitespace'>" + m + "</span>");
if (Controller.isFeatureEnabled_("showWhitespaceDifferences")) {
// Highlight trailing whitespace
if (m = l.match(/\s+$/))
l = l.replace(/\s+$/, "<span class='whitespace'>" + m + "</span>");
}
line1 += "\n";
line2 += ++hunk_start_line_2 + "\n";
diffContent += "<div " + sindex + "class='addline'>" + l + "</div>";
+1 -1
View File
@@ -9,7 +9,7 @@
<link rel="stylesheet" href="commit.css" type="text/css" media="screen" title="no title" charset="utf-8">
<script type="text/javascript" src="../../js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="../../lib/jquery-1.3.2.min.js"></script>
<script src="multipleSelection.js" type="text/javascript" charset="utf-8"></script>
<script src="commit.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">