diff --git a/Frameworks/DocumentWindow/src/DocumentSaveHelper.mm b/Frameworks/DocumentWindow/src/DocumentSaveHelper.mm index 87fdb4c0..0dc36b8b 100644 --- a/Frameworks/DocumentWindow/src/DocumentSaveHelper.mm +++ b/Frameworks/DocumentWindow/src/DocumentSaveHelper.mm @@ -74,12 +74,7 @@ namespace { // TODO transliteration / BOM check box NSAlert* alert = [[NSAlert alertWithMessageText:[NSString stringWithCxxString:text::format("Unable to save document using ā€œ%sā€ as encoding.", encoding.c_str())] defaultButton:@"Retry" alternateButton:@"Cancel" otherButton:nil informativeTextWithFormat:@"Please choose another encoding:"] retain]; - OakEncodingPopUpButton* encodingChooser = [[[OakEncodingPopUpButton alloc] initWithFrame:NSZeroRect pullsDown:NO] autorelease]; - [encodingChooser sizeToFit]; - NSRect frame = [encodingChooser frame]; - if(NSWidth(frame) > 200) - [encodingChooser setFrameSize:NSMakeSize(200, NSHeight(frame))]; - [alert setAccessoryView:encodingChooser]; + [alert setAccessoryView:[[OakEncodingPopUpButton new] autorelease]]; [alert beginSheetModalForWindow:_window modalDelegate:_self didEndSelector:@selector(encodingSheetDidEnd:returnCode:contextInfo:) contextInfo:NULL]; [[alert window] recalculateKeyViewLoop]; } diff --git a/Frameworks/OakAppKit/src/OakEncodingPopUpButton.mm b/Frameworks/OakAppKit/src/OakEncodingPopUpButton.mm index a6d73032..a6886762 100644 --- a/Frameworks/OakAppKit/src/OakEncodingPopUpButton.mm +++ b/Frameworks/OakAppKit/src/OakEncodingPopUpButton.mm @@ -187,6 +187,17 @@ namespace // PopulateMenu{Flat,Hierarchical} return self; } +- (id)init +{ + if(self = [self initWithFrame:NSZeroRect pullsDown:NO]) + { + [self sizeToFit]; + if(NSWidth([self frame]) > 200) + [self setFrameSize:NSMakeSize(200, NSHeight([self frame]))]; + } + return self; +} + - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self];