diff --git a/macosx/Controller.h b/macosx/Controller.h index a0e66a069..037a2da28 100644 --- a/macosx/Controller.h +++ b/macosx/Controller.h @@ -178,6 +178,7 @@ - (void) toggleAdvancedBar: (id) sender; +- (void) setAutoSize: (NSNotification *) notification; - (void) setWindowSizeToFit; - (NSRect) windowFrameFor: (int) count; diff --git a/macosx/Controller.m b/macosx/Controller.m index 3fde5d779..4375a006c 100644 --- a/macosx/Controller.m +++ b/macosx/Controller.m @@ -309,7 +309,7 @@ static void sleepCallBack(void * controller, io_service_t y, [nc addObserver: self selector: @selector(autoImportChange:) name: @"AutoImportSettingChange" object: nil]; - [nc addObserver: self selector: @selector(setWindowSizeToFit) + [nc addObserver: self selector: @selector(setAutoSize:) name: @"AutoSizeSettingChange" object: nil]; //check to start another because of stopped torrent @@ -349,7 +349,7 @@ static void sleepCallBack(void * controller, io_service_t y, [[NSRunLoop currentRunLoop] addTimer: fAutoImportTimer forMode: NSDefaultRunLoopMode]; [self applyFilter: nil]; - [self setWindowSizeToFit]; + [self setAutoSize: nil]; [fWindow makeKeyAndOrderFront: nil]; @@ -2120,13 +2120,15 @@ static void sleepCallBack(void * controller, io_service_t y, - (NSRect) windowWillUseStandardFrame: (NSWindow *) window defaultFrame: (NSRect) defaultFrame { - //don't resize if set to auto size - if ([fDefaults boolForKey: @"AutoSize"]) - return [fWindow frame]; - return [self windowFrameFor: [fFilteredTorrents count]]; } +- (void) setAutoSize: (NSNotification *) notification +{ + [[fWindow standardWindowButton: NSWindowZoomButton] setEnabled: ![fDefaults boolForKey: @"AutoSize"]]; + [self setWindowSizeToFit]; +} + - (void) setWindowSizeToFit { if ([fDefaults boolForKey: @"AutoSize"])