@implementation PreferencesController {
NSView* _blankView;
+
+ NSSize _generalSize, _fileAccessSize, _pathsSize;
}
/**
return self;
}
+- (void)awakeFromNib
+{
+ _generalSize = self.generalPreferencesView.frame.size;
+ _fileAccessSize = self.fileAccessPreferencesView.frame.size;
+ _pathsSize = self.pathsPreferencesView.frame.size;
+}
+
/**
* Shows the preferences controller window
*/
*/
- (IBAction)showGeneral:(id)sender
{
- [self _switchToView:self.generalPreferencesView forToolbarItem:self.generalPreferencesItem];
+ [self _switchToView:self.generalPreferencesView resizeTo:_generalSize forToolbarItem:self.generalPreferencesItem];
}
- (IBAction)showFileAccess:(id)sender
{
- [self _switchToView:self.fileAccessPreferencesView forToolbarItem:self.fileAccessPreferencesItem];
+ [self _switchToView:self.fileAccessPreferencesView resizeTo:_fileAccessSize forToolbarItem:self.fileAccessPreferencesItem];
}
/**
*/
- (IBAction)showPaths:(id)sender
{
- [self _switchToView:self.pathsPreferencesView forToolbarItem:self.pathsPreferencesItem];
+ [self _switchToView:self.pathsPreferencesView resizeTo:_pathsSize forToolbarItem:self.pathsPreferencesItem];
}
#pragma mark NSToolbar Delegate
#pragma mark Private
-- (void)_switchToView:(NSView*)contentView forToolbarItem:(NSToolbarItem*)item {
+- (void)_switchToView:(NSView*)contentView
+ resizeTo:(NSSize)size
+ forToolbarItem:(NSToolbarItem*)item {
if (self.window.contentView == contentView)
return;
- [self _resizeWindowToSize:contentView.frame.size];
+ [self _resizeWindowToSize:size];
self.window.contentView = contentView;
self.toolbar.selectedItemIdentifier = item.itemIdentifier;
}