Seulement dans Source/: config.h diff -u Source.old/GSToolbarView.m Source/GSToolbarView.m --- Source.old/GSToolbarView.m 2005-01-24 06:25:42.000000000 -0500 +++ Source/GSToolbarView.m 2005-11-30 16:29:19.000000000 -0500 @@ -282,6 +282,7 @@ NSEnumerator *e; id item; NSArray *visibleItems; + NSString *itId; AUTORELEASE(menu); @@ -290,15 +291,19 @@ e = [[_toolbar items] objectEnumerator]; while ((item = [e nextObject]) != nil) { - if (![visibleItems containsObject: item]) + itId = [item itemIdentifier]; + if (![visibleItems containsObject: item] + && !([itId isEqual: NSToolbarSeparatorItemIdentifier] + || [itId isEqual: NSToolbarSpaceItemIdentifier] + || [itId isEqual: NSToolbarFlexibleSpaceItemIdentifier])) { id menuItem; - menuItem = [item menuFormRepresentation]; + menuItem = [item menuFormRepresentation]; if (menuItem == nil) - menuItem = [item _defaultMenuFormRepresentation]; + menuItem = [item _defaultMenuFormRepresentation]; - if (menuItem != nil) + if (menuItem != nil) [menu addItem: menuItem]; } } Seulement dans Source/: GSToolbarView.m~ Seulement dans Source/: Info-gnustep.plist diff -u Source.old/NSCell.m Source/NSCell.m --- Source.old/NSCell.m 2005-02-20 19:59:32.000000000 -0500 +++ Source/NSCell.m 2005-11-30 15:51:45.000000000 -0500 @@ -550,7 +550,8 @@ { case NSTextCellType: { - ASSIGN (_contents, @"title"); + if (!_contents) + ASSIGN (_contents, @"title"); _cell.contents_is_attributed_string = NO; /* Doc says we have to reset the font too. */ ASSIGN (_font, [fontClass systemFontOfSize: 0]); diff -u Source.old/NSToolbarItem.m Source/NSToolbarItem.m --- Source.old/NSToolbarItem.m 2004-12-30 09:02:00.000000000 -0500 +++ Source/NSToolbarItem.m 2005-11-30 16:43:37.000000000 -0500 @@ -181,37 +181,39 @@ NSFont *font; unsigned int borderMask = [[[_toolbarItem toolbar] _toolbarView] borderMask]; NSString *label = [_toolbarItem label]; + NSToolbarDisplayMode displayMode; // Adjust the layout in accordance with NSToolbarSizeMode font = NormalFont; + displayMode = [[_toolbarItem toolbar] displayMode]; switch ([[_toolbarItem toolbar] sizeMode]) { - case NSToolbarSizeModeDefault: - layoutedWidth = ItemBackViewDefaultWidth; - layoutedHeight = ItemBackViewDefaultHeight; - [[_toolbarItem image] setSize: NSMakeSize(32, 32)]; - break; - case NSToolbarSizeModeRegular: - layoutedWidth = ItemBackViewRegularWidth; - layoutedHeight = ItemBackViewRegularHeight; - [[_toolbarItem image] setSize: NSMakeSize(32, 32)]; - break; - case NSToolbarSizeModeSmall: - layoutedWidth = ItemBackViewSmallWidth; - layoutedHeight = ItemBackViewSmallHeight; - [[_toolbarItem image] setSize: NSMakeSize(24, 24)]; - /* Not use [self image] here because it can return nil, when image - position is set to NSNoImage. Even if NSToolbarDisplayModeTextOnly - is not true anymore -setImagePosition: is only called below, then - [self image] can still returns nil. */ - font = SmallFont; - break; - default: - ; // Invalid + case NSToolbarSizeModeDefault: + layoutedWidth = ItemBackViewDefaultWidth; + layoutedHeight = ItemBackViewDefaultHeight; + [[_toolbarItem image] setSize: NSMakeSize(32, 32)]; + break; + case NSToolbarSizeModeRegular: + layoutedWidth = ItemBackViewRegularWidth; + layoutedHeight = ItemBackViewRegularHeight; + [[_toolbarItem image] setSize: NSMakeSize(32, 32)]; + break; + case NSToolbarSizeModeSmall: + layoutedWidth = ItemBackViewSmallWidth; + layoutedHeight = ItemBackViewSmallHeight; + [[_toolbarItem image] setSize: NSMakeSize(24, 24)]; + /* Not use [self image] here because it can return nil, when image + position is set to NSNoImage. Even if NSToolbarDisplayModeTextOnly + is not true anymore -setImagePosition: is only called below, then + [self image] can still returns nil. */ + font = SmallFont; + break; + default: + ; // Invalid } - + [[self cell] setFont: font]; // Adjust the layout in accordance with the border @@ -236,12 +238,13 @@ attrStr = [[NSAttributedString alloc] initWithString: label attributes: attr]; textWidth = [attrStr size].width + 2 * InsetItemTextX; - if (layoutedWidth != -1 && textWidth > layoutedWidth) - layoutedWidth = textWidth; - + if (layoutedWidth != -1 && textWidth > layoutedWidth + && displayMode != NSToolbarDisplayModeIconOnly) + layoutedWidth = textWidth; + // Adjust the layout in accordance with NSToolbarDisplayMode - switch ([[_toolbarItem toolbar] displayMode]) + switch (displayMode) { case NSToolbarDisplayModeDefault: [self setImagePosition: NSImageAbove]; @@ -252,10 +255,11 @@ case NSToolbarDisplayModeIconOnly: [self setImagePosition: NSImageOnly]; layoutedHeight -= [attrStr size].height + InsetItemTextY; - layoutedWidth -= [attrStr size].height + InsetItemTextY; + layoutedWidth -= [attrStr size].width + InsetItemTextX; break; case NSToolbarDisplayModeLabelOnly: [self setImagePosition: NSNoImage]; + layoutedWidth = textWidth; layoutedHeight = [attrStr size].height + InsetItemTextY * 2; break; default: @@ -266,7 +270,6 @@ // Set the frame size to use the new layout [self setFrameSize: NSMakeSize(layoutedWidth, layoutedHeight)]; - } /* @@ -1012,14 +1015,14 @@ { GSToolbarButton *button; NSButtonCell *cell; - + if ((self = [super init]) != nil) { // GNUstep predefined toolbar items - if ([itemIdentifier isEqualToString: @"NSToolbarSeparatorItemIdentifier"] - && ![self isKindOfClass:[GSToolbarSeparatorItem class]] == NO) + if ([itemIdentifier isEqualToString: NSToolbarSeparatorItemIdentifier] + && [self isKindOfClass:[GSToolbarSeparatorItem class]] == NO) { [self release]; self = [[GSToolbarSeparatorItem alloc] Seulement dans Source/: NSToolbarItem.m~ Seulement dans Source/: obj Seulement dans Source/: shared_obj