diff --git a/AppKit/Themes/Aristo/Info.plist b/AppKit/Themes/Aristo/Info.plist
index 491ca82d8..917dad3f7 100644
--- a/AppKit/Themes/Aristo/Info.plist
+++ b/AppKit/Themes/Aristo/Info.plist
@@ -6,6 +6,10 @@
BKShowcaseController
CPBundleName
Aristo
+ BKLearnMoreURL
+ http://cappuccino.org/aristo
+ BKLearnMoreButtonTitle
+ Aristo Home Page
CPPrincipalClass
CPApplication
diff --git a/AppKit/Tools/BlendKit/BKShowcaseController.j b/AppKit/Tools/BlendKit/BKShowcaseController.j
index d442a573a..4bbe9d21c 100644
--- a/AppKit/Tools/BlendKit/BKShowcaseController.j
+++ b/AppKit/Tools/BlendKit/BKShowcaseController.j
@@ -138,6 +138,11 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId
[BKShowcaseCell setBackgroundColor:[themeDescriptorClass showcaseBackgroundColor]];
}
+- (BOOL)hasLearnMoreURL
+{
+ return [[CPBundle mainBundle] objectForInfoDictionaryKey:@"BKLearnMoreURL"];
+}
+
- (CPArray)toolbarAllowedItemIdentifiers:(CPToolbar)aToolbar
{
return [BKLearnMoreToolbarItemIdentifier, CPToolbarSpaceItemIdentifier, CPToolbarFlexibleSpaceItemIdentifier, BKBackgroundColorToolbarItemIdentifier, BKStateToolbarItemIdentifier];
@@ -145,7 +150,12 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId
- (CPArray)toolbarDefaultItemIdentifiers:(CPToolbar)aToolbar
{
- return [BKLearnMoreToolbarItemIdentifier, CPToolbarFlexibleSpaceItemIdentifier, BKBackgroundColorToolbarItemIdentifier, BKStateToolbarItemIdentifier];
+ var itemIdentifiers = [CPToolbarFlexibleSpaceItemIdentifier, BKBackgroundColorToolbarItemIdentifier, BKStateToolbarItemIdentifier];
+
+ if ([self hasLearnMoreURL])
+ itemIdentifiers = [BKLearnMoreToolbarItemIdentifier].concat(itemIdentifiers);
+
+ return itemIdentifiers;
}
- (CPToolbarItem)toolbar:(CPToolbar)aToolbar itemForItemIdentifier:(CPString)anItemIdentifier willBeInsertedIntoToolbar:(BOOL)aFlag
@@ -173,19 +183,19 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId
else if (anItemIdentifier === BKBackgroundColorToolbarItemIdentifier)
{
- var popUpButton = [CPPopUpButton buttonWithTitle:@"Light Checkers"];
+ var popUpButton = [CPPopUpButton buttonWithTitle:@"Window Background"];
+ [popUpButton addItemWithTitle:@"Light Checkers"];
[popUpButton addItemWithTitle:@"Dark Checkers"];
- [popUpButton addItemWithTitle:@"Window Background Color"];
[popUpButton addItemWithTitle:@"White"];
[popUpButton addItemWithTitle:@"Black"];
[popUpButton addItemWithTitle:@"More Choices..."];
var itemArray = [popUpButton itemArray];
- [itemArray[0] setRepresentedObject:[BKThemeDescriptor lightCheckersColor]];
- [itemArray[1] setRepresentedObject:[BKThemeDescriptor darkCheckersColor]];
- [itemArray[2] setRepresentedObject:[BKThemeDescriptor windowBackgroundColor]];
+ [itemArray[0] setRepresentedObject:[BKThemeDescriptor windowBackgroundColor]];
+ [itemArray[1] setRepresentedObject:[BKThemeDescriptor lightCheckersColor]];
+ [itemArray[2] setRepresentedObject:[BKThemeDescriptor darkCheckersColor]];
[itemArray[3] setRepresentedObject:[CPColor whiteColor]];
[itemArray[4] setRepresentedObject:[CPColor blackColor]];
@@ -201,12 +211,19 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId
}
else if (anItemIdentifier === BKLearnMoreToolbarItemIdentifier)
{
- var button = [CPButton buttonWithTitle:@" Aristo Home Page "];
+ var title = [[CPBundle mainBundle] objectForInfoDictionaryKey:@"BKLearnMoreButtonTitle"];
+
+ if (!title)
+ title = [[CPBundle mainBundle] objectForInfoDictionaryKey:@"CPBundleName"] || @"Home Page";
+
+ var button = [CPButton buttonWithTitle:title];
[button setDefaultButton:YES];
[toolbarItem setView:button];
[toolbarItem setLabel:@"Learn More"];
+ [toolbarItem setTarget:nil];
+ [toolbarItem setAction:@selector(learnMore:)];
var width = CGRectGetWidth([button frame]);
@@ -217,6 +234,11 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId
return toolbarItem;
}
+- (void)learnMore:(id)aSender
+{
+ window.location.href = [[CPBundle mainBundle] objectForInfoDictionaryKey:@"BKLearnMoreURL"];
+}
+
- (BKThemeDescriptor)selectedThemeDescriptor
{
return _themeDescriptorClasses[[[_themesCollectionView selectionIndexes] firstIndex]];
diff --git a/AppKit/Tools/BlendKit/BKThemeDescriptor.j b/AppKit/Tools/BlendKit/BKThemeDescriptor.j
index 0475e008a..cdb4e3984 100644
--- a/AppKit/Tools/BlendKit/BKThemeDescriptor.j
+++ b/AppKit/Tools/BlendKit/BKThemeDescriptor.j
@@ -82,7 +82,7 @@ var ItemSizes = { },
+ (CPColor)defaultShowcaseBackgroundColor
{
- return [self lightCheckersColor];
+ return [_CPStandardWindowView bodyBackgroundColor];//[self lightCheckersColor];
}
+ (CPColor)showcaseBackgroundColor
diff --git a/Tools/nib2cib/NSView.j b/Tools/nib2cib/NSView.j
index 1b5b5676c..0025bb7ef 100644
--- a/Tools/nib2cib/NSView.j
+++ b/Tools/nib2cib/NSView.j
@@ -31,14 +31,14 @@
- (id)NS_initWithCoder:(CPCoder)aCoder
{
_frame = CGRectMakeZero();
-
+
if ([aCoder containsValueForKey:@"NSFrame"])
_frame = [aCoder decodeRectForKey:@"NSFrame"];
else if ([aCoder containsValueForKey:@"NSFrameSize"])
- _frame.size = [aCoder decodeSizeForKey:@"NSFrameSize"];
+ _frame.size = [aCoder decodeSizeForKey:@"NSFrameSize"];
self = [super NS_initWithCoder:aCoder];
-
+
if (self)
{
_tag = -1;