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;