WebHistoryController: Only show Gravatar and Gist if they are enabled

This add an "enableFeature" JS function that checks if a given feature is
enabled. If it is, the correct div is shown, otherwise it is hidden.
This commit is contained in:
Daniel Lundqvist
2008-12-22 23:28:24 +08:00
committed by Pieter de Bie
parent eb971b3ca7
commit 0f8ac90743
2 changed files with 34 additions and 1 deletions
+11
View File
@@ -9,6 +9,7 @@
#import "PBWebController.h"
#import "PBGitRepository.h"
#import "PBGitXProtocol.h"
#import "PBGitDefaults.h"
#include <SystemConfiguration/SCNetworkReachability.h>
@@ -110,6 +111,16 @@
return flags > 0;
}
- (BOOL) isFeatureEnabled:(NSString *)feature
{
if([feature isEqualToString:@"gravatar"])
return [PBGitDefaults isGravatarEnabled];
else if([feature isEqualToString:@"gist"])
return [PBGitDefaults isGistEnabled];
else
return YES;
}
#pragma mark Using async function from JS
- (void) runCommand:(WebScriptObject *)arguments inRepository:(PBGitRepository *)repo callBack:(WebScriptObject *)callBack
+23 -1
View File
@@ -97,6 +97,11 @@ var setGravatar = function(email, image) {
if (Controller && !Controller.isReachable_("www.gravatar.com"))
return;
if(Controller && !Controller.isFeatureEnabled_("gravatar")) {
image.src = "";
return;
}
if (!email) {
image.src = "http://www.gravatar.com/avatar/?d=wavatar&s=60";
return;
@@ -188,6 +193,23 @@ var showImage = function(element, filename)
return false;
}
var enableFeature = function(feature, element)
{
if(!Controller || Controller.isFeatureEnabled_(feature)) {
element.style.display = "";
} else {
element.style.display = "none";
}
}
var enableFeatures = function()
{
enableFeature("gist", $("gist"))
if(commit)
setGravatar(commit.author_email, $("gravatar"));
enableFeature("gravatar", $("gravatar"))
}
var loadExtendedCommit = function(commit)
{
if (commit.author_email)
@@ -202,5 +224,5 @@ var loadExtendedCommit = function(commit)
$("diff").innerHTML = "<a class='showdiff' href='' onclick='showDiff(); return false;'>This is a large commit. Click here or press 'v' to view.</a>";
hideNotification();
setGravatar(commit.author_email, $("gravatar"));
enableFeatures();
}