From 026c210e644dc4e453b2ff6d1f96a6104911212e Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Tue, 12 Jun 2012 23:05:16 +0100 Subject: [PATCH] Toolbar CPToolbarDisplayModeIconOnly support. --- AppKit/CPToolbar.j | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/AppKit/CPToolbar.j b/AppKit/CPToolbar.j index 72fa5b8c4..0ad30ebac 100644 --- a/AppKit/CPToolbar.j +++ b/AppKit/CPToolbar.j @@ -91,7 +91,7 @@ var TOOLBAR_REGULAR_HEIGHT = 59.0, @implementation CPToolbar : CPObject { CPString _identifier; - CPToolbarDisplayMode _displayMode; + CPToolbarDisplayMode _displayMode @accessors(property=displayMode); BOOL _showsBaselineSeparator; BOOL _allowsUserCustomization; BOOL _isVisible; @@ -246,6 +246,15 @@ var TOOLBAR_REGULAR_HEIGHT = 59.0, [self _reloadToolbarItems]; } +- (void)setDisplayMode:(CPToolbarDisplayMode)aDisplayMode +{ + if (_displayMode === aDisplayMode) + return; + _displayMode = aDisplayMode; + + [self _reloadToolbarItems]; +} + /* @ignore */ - (void)_loadConfiguration { @@ -1039,7 +1048,10 @@ var LABEL_MARGIN = 2.0; [self setEnabled:[_toolbarItem isEnabled]]; - _labelSize = [_labelField frame].size; + var iconOnly = [[_toolbarItem toolbar] displayMode] === CPToolbarDisplayModeIconOnly; + [_labelField setHidden:iconOnly]; + + _labelSize = iconOnly ? CGSizeMakeZero(): [_labelField frame].size; _minSize = CGSizeMake(MAX(_labelSize.width, minSize.width), _labelSize.height + minSize.height + LABEL_MARGIN); _maxSize = CGSizeMake(MAX(_labelSize.width, maxSize.width), 100000000.0);