Skip to content

Configurable Gravatar Style #215

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions Classes/Controllers/PBWebController.m
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions Classes/git/PBGitDefaults.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
+ (BOOL) commitMessageViewHasVerticalLine;
+ (BOOL) isGistEnabled;
+ (BOOL) isGravatarEnabled;
+ (NSString *) gravatarStyle;
+ (BOOL) confirmPublicGists;
+ (BOOL) isGistPublic;
+ (BOOL)showWhitespaceDifferences;
Expand Down
6 changes: 6 additions & 0 deletions Classes/git/PBGitDefaults.m
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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];
Expand Down
159 changes: 155 additions & 4 deletions English.lproj/Preferences.xib
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
<array key="IBDocument.IntegratedClassDependencies">
<string>NSButton</string>
<string>NSButtonCell</string>
<string>NSComboBox</string>
<string>NSComboBoxCell</string>
<string>NSCustomObject</string>
<string>NSCustomView</string>
<string>NSDateFormatter</string>
Expand Down Expand Up @@ -69,7 +71,7 @@
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlColor</string>
<object class="NSColor" key="NSColor">
<object class="NSColor" key="NSColor" id="558793573">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
Expand Down Expand Up @@ -129,7 +131,7 @@
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">textBackgroundColor</string>
<object class="NSColor" key="NSColor">
<object class="NSColor" key="NSColor" id="653127316">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
Expand Down Expand Up @@ -642,6 +644,112 @@
<reference key="NSNextResponder"/>
<int key="NSvFlags">268</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="NSComboBox" id="791453228">
<reference key="NSNextResponder" ref="263788152"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{145, 15}, {149, 26}}</string>
<reference key="NSSuperview" ref="263788152"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="NSEnabled">YES</bool>
<object class="NSComboBoxCell" key="NSCell" id="143180303">
<int key="NSCellFlags">342884416</int>
<int key="NSCellFlags2">272630784</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="734450335"/>
<string key="NSCellIdentifier">_NS:9</string>
<reference key="NSControlView" ref="791453228"/>
<bool key="NSDrawsBackground">YES</bool>
<reference key="NSBackgroundColor" ref="345026563"/>
<reference key="NSTextColor" ref="716218002"/>
<int key="NSVisibleItemCount">5</int>
<bool key="NSHasVerticalScroller">YES</bool>
<array class="NSMutableArray" key="NSPopUpListData">
<string>identicon</string>
<string>mm</string>
<string>retro</string>
<string>wavatar</string>
<string>monsterid</string>
</array>
<reference key="NSDelegate" ref="791453228"/>
<object class="NSComboTableView" key="NSTableView" id="370826580">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{13, 105}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<string key="NSReuseIdentifierKey">_NS:24</string>
<bool key="NSEnabled">YES</bool>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<bool key="NSControlAllowsExpansionToolTips">YES</bool>
<array class="NSMutableArray" key="NSTableColumns">
<object class="NSTableColumn">
<double key="NSWidth">10</double>
<double key="NSMinWidth">10</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75497472</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents"/>
<object class="NSFont" key="NSSupport">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">12</double>
<int key="NSfFlags">16</int>
</object>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes>
</object>
<reference key="NSTextColor" ref="653127316"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell">
<int key="NSCellFlags">338690112</int>
<int key="NSCellFlags2">1024</int>
<reference key="NSSupport" ref="734450335"/>
<reference key="NSControlView" ref="370826580"/>
<bool key="NSDrawsBackground">YES</bool>
<object class="NSColor" key="NSBackgroundColor" id="494719246">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlBackgroundColor</string>
<reference key="NSColor" ref="558793573"/>
</object>
<reference key="NSTextColor" ref="716218002"/>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<reference key="NSTableView" ref="370826580"/>
</object>
</array>
<double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">2</double>
<reference key="NSBackgroundColor" ref="494719246"/>
<object class="NSColor" key="NSGridColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">gridColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC41AA</bytes>
</object>
</object>
<double key="NSRowHeight">19</double>
<string key="NSAction">tableViewAction:</string>
<int key="NSTvFlags">-765427712</int>
<reference key="NSDelegate" ref="143180303"/>
<reference key="NSDataSource" ref="143180303"/>
<reference key="NSTarget" ref="143180303"/>
<int key="NSColumnAutoresizingStyle">1</int>
<int key="NSDraggingSourceMaskForLocal">15</int>
<int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">YES</bool>
<int key="NSTableViewDraggingDestinationStyle">0</int>
<int key="NSTableViewGroupRowStyle">1</int>
</object>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSButton" id="237556568">
<reference key="NSNextResponder" ref="263788152"/>
<int key="NSvFlags">268</int>
Expand Down Expand Up @@ -673,7 +781,7 @@
<string key="NSFrame">{{18, 18}, {121, 18}}</string>
<reference key="NSSuperview" ref="263788152"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<reference key="NSNextKeyView" ref="791453228"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="12685338">
<int key="NSCellFlags">-2080374784</int>
Expand Down Expand Up @@ -1153,6 +1261,26 @@
</object>
<int key="connectionID">163</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: values.PBGravatarStyle</string>
<reference key="source" ref="791453228"/>
<reference key="destination" ref="557723770"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="791453228"/>
<reference key="NSDestination" ref="557723770"/>
<string key="NSLabel">value: values.PBGravatarStyle</string>
<string key="NSBinding">value</string>
<string key="NSKeyPath">values.PBGravatarStyle</string>
<object class="NSDictionary" key="NSOptions">
<string key="NS.key.0">NSNullPlaceholder</string>
<string key="NS.object.0">Choose a Style</string>
</object>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">171</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
Expand Down Expand Up @@ -1427,6 +1555,7 @@
<reference ref="933582906"/>
<reference ref="485413225"/>
<reference ref="766070942"/>
<reference ref="791453228"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">Integration</string>
Expand Down Expand Up @@ -1600,6 +1729,19 @@
<reference key="object" ref="837082306"/>
<reference key="parent" ref="528033053"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">164</int>
<reference key="object" ref="791453228"/>
<array class="NSMutableArray" key="children">
<reference ref="143180303"/>
</array>
<reference key="parent" ref="263788152"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">165</int>
<reference key="object" ref="143180303"/>
<reference key="parent" ref="791453228"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
Expand Down Expand Up @@ -1649,6 +1791,15 @@
<string key="153.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="154.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="16.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="164.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<array key="165.IBComboBoxObjectValuesKey.objectValues">
<string>identicon</string>
<string>mm</string>
<string>retro</string>
<string>wavatar</string>
<string>monsterid</string>
</array>
<string key="165.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="17.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="18.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
Expand Down Expand Up @@ -1693,7 +1844,7 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">163</int>
<int key="maxID">171</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
Expand Down
12 changes: 2 additions & 10 deletions html/views/history/history.css
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
15 changes: 12 additions & 3 deletions html/views/history/history.js
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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)
Expand Down