diff --git a/Classes/Controllers/PBWebController.m b/Classes/Controllers/PBWebController.m index e10ddaa8f..ea7d013d5 100644 --- a/Classes/Controllers/PBWebController.m +++ b/Classes/Controllers/PBWebController.m @@ -169,6 +169,11 @@ - (BOOL) isFeatureEnabled:(NSString *)feature return YES; } +- gravatarStyle:(NSString *)ignored +{ + return [PBGitDefaults gravatarStyle]; +} + #pragma mark Using async function from JS - (void) runCommand:(WebScriptObject *)arguments inRepository:(PBGitRepository *)repo callBack:(WebScriptObject *)callBack diff --git a/Classes/git/PBGitDefaults.h b/Classes/git/PBGitDefaults.h index b43e27cc1..cf7c41c5f 100644 --- a/Classes/git/PBGitDefaults.h +++ b/Classes/git/PBGitDefaults.h @@ -16,6 +16,7 @@ + (BOOL) commitMessageViewHasVerticalLine; + (BOOL) isGistEnabled; + (BOOL) isGravatarEnabled; ++ (NSString *) gravatarStyle; + (BOOL) confirmPublicGists; + (BOOL) isGistPublic; + (BOOL)showWhitespaceDifferences; diff --git a/Classes/git/PBGitDefaults.m b/Classes/git/PBGitDefaults.m index 4eca29d3e..357ebf477 100644 --- a/Classes/git/PBGitDefaults.m +++ b/Classes/git/PBGitDefaults.m @@ -16,6 +16,7 @@ #define kCommitMessageViewHasVerticalLine @"PBCommitMessageViewHasVerticalLine" #define kEnableGist @"PBEnableGist" #define kEnableGravatar @"PBEnableGravatar" +#define kGravatarStyle @"PBGravatarStyle" #define kConfirmPublicGists @"PBConfirmPublicGists" #define kPublicGist @"PBGistPublic" #define kShowWhitespaceDifferences @"PBShowWhitespaceDifferences" @@ -92,6 +93,11 @@ + (BOOL) isGravatarEnabled return [[NSUserDefaults standardUserDefaults] boolForKey:kEnableGravatar]; } ++ (NSString *) gravatarStyle +{ + return [[NSUserDefaults standardUserDefaults] stringForKey:kGravatarStyle]; +} + + (BOOL) confirmPublicGists { return [[NSUserDefaults standardUserDefaults] boolForKey:kConfirmPublicGists]; diff --git a/English.lproj/Preferences.xib b/English.lproj/Preferences.xib index 0625ede09..e34962ea1 100644 --- a/English.lproj/Preferences.xib +++ b/English.lproj/Preferences.xib @@ -13,6 +13,8 @@ NSButton NSButtonCell + NSComboBox + NSComboBoxCell NSCustomObject NSCustomView NSDateFormatter @@ -69,7 +71,7 @@ 6 System controlColor - + 3 MC42NjY2NjY2NjY3AA @@ -129,7 +131,7 @@ 6 System textBackgroundColor - + 3 MQA @@ -642,6 +644,112 @@ 268 + + + 268 + {{145, 15}, {149, 26}} + + + + _NS:9 + YES + + 342884416 + 272630784 + + + _NS:9 + + YES + + + 5 + YES + + identicon + mm + retro + wavatar + monsterid + + + + + 274 + {13, 105} + + + _NS:24 + YES + NO + YES + + + 10 + 10 + 1000 + + 75497472 + 0 + + + LucidaGrande + 12 + 16 + + + 3 + MC4zMzMzMzI5ODU2AA + + + + + 338690112 + 1024 + + + YES + + 6 + System + controlBackgroundColor + + + + + 3 + YES + + + + 3 + 2 + + + 6 + System + gridColor + + 3 + MC41AA + + + 19 + tableViewAction: + -765427712 + + + + 1 + 15 + 0 + YES + 0 + 1 + + + NO + 268 @@ -673,7 +781,7 @@ {{18, 18}, {121, 18}} - + YES -2080374784 @@ -1153,6 +1261,26 @@ 163 + + + value: values.PBGravatarStyle + + + + + + value: values.PBGravatarStyle + value + values.PBGravatarStyle + + NSNullPlaceholder + Choose a Style + + 2 + + + 171 + @@ -1427,6 +1555,7 @@ + Integration @@ -1600,6 +1729,19 @@ + + 164 + + + + + + + + 165 + + + @@ -1649,6 +1791,15 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + identicon + mm + retro + wavatar + monsterid + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -1693,7 +1844,7 @@ - 163 + 171 diff --git a/html/views/history/history.css b/html/views/history/history.css index 97182d25f..60812fb33 100644 --- a/html/views/history/history.css +++ b/html/views/history/history.css @@ -48,21 +48,13 @@ a.servicebutton:hover { border: 2px solid #3465a4; } -#gravatar { - margin-left: 5px; - padding: 2px; - width: 60px; - height: 60px; - - border: solid gray 1px; - -webkit-border-radius: 2px; -} - .gravatar img { width: 2.9em; height: 2.9em; max-height: 60px; max-width: 60px; + -webkit-border-radius: 3px; + -webkit-box-shadow: 0px 0px 2px 1px rgba(0, 0, 0, 0.25); } .property_name { diff --git a/html/views/history/history.js b/html/views/history/history.js index fb0639e95..fb85cc94a 100644 --- a/html/views/history/history.js +++ b/html/views/history/history.js @@ -120,19 +120,23 @@ var gistie = function() { } } +var gravatarStyle = function () { + return Controller.gravatarStyle_() || "wavatar"; +} + var setGravatar = function(email, image) { if(Controller && !Controller.isFeatureEnabled_("gravatar")) { image.src = ""; return; } - + var d = gravatarStyle(); if (!email) { - image.src = "http://www.gravatar.com/avatar/?d=wavatar&s=60"; + image.src = "http://www.gravatar.com/avatar/?d="+d+"&s=60"; return; } image.src = "http://www.gravatar.com/avatar/" + - hex_md5(email.toLowerCase().replace(/ /g, "")) + "?d=wavatar&s=60"; + hex_md5(email.toLowerCase().replace(/ /g, "")) + "?d="+d+"&s=60"; } var selectCommit = function(a) { @@ -286,6 +290,11 @@ var enableFeatures = function() enableFeature("gist", $("gist")) enableFeature("gravatar", $("author_gravatar").parentNode) enableFeature("gravatar", $("committer_gravatar").parentNode) + if(Controller && Controller.isFeatureEnabled_("gravatar")) { + var d = gravatarStyle(); + $("author_gravatar").src = ($("author_gravatar").src||"").replace(/\?d=.*?&/,"?d="+d+"&"); + $("committer_gravatar").src = ($("committer_gravatar").src||"").replace(/\?d=.*?&/,"?d="+d+"&"); + } } var loadCommitDetails = function(data)