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
-
@@ -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)