diff --git a/src/MacVim/Actions.plist b/src/MacVim/Actions.plist index 6db599bc62..84952599d2 100644 --- a/src/MacVim/Actions.plist +++ b/src/MacVim/Actions.plist @@ -50,6 +50,8 @@ performMiniaturize: + performMaximize: + performZoom: recentFilesDummy: diff --git a/src/MacVim/MMWindowController.h b/src/MacVim/MMWindowController.h index 7256fef830..dfbcd061f8 100644 --- a/src/MacVim/MMWindowController.h +++ b/src/MacVim/MMWindowController.h @@ -109,5 +109,6 @@ - (IBAction)fontSizeDown:(id)sender; - (IBAction)findAndReplace:(id)sender; - (IBAction)zoom:(id)sender; +- (IBAction)performMaximize:(id)sender; @end diff --git a/src/MacVim/MMWindowController.m b/src/MacVim/MMWindowController.m index 7d2b6fe276..e0dff93589 100644 --- a/src/MacVim/MMWindowController.m +++ b/src/MacVim/MMWindowController.m @@ -1191,6 +1191,22 @@ - (IBAction)zoom:(id)sender [vimController sendMessage:ZoomMsgID data:data]; } +- (IBAction)performMaximize:(id)sender +{ + NSWindow *win = [self window]; + NSRect maxFrame = [[win screen] frame]; + int maxRows, maxColumns; + NSData *data; + + [vimView constrainRows:&maxRows columns:&maxColumns toSize:maxFrame.size]; + data = [NSData dataWithBytes:(int [2]){maxRows, maxColumns} length:(2 * sizeof(int))]; + [[self vimController] sendMessage:SetTextDimensionsMsgID data:data]; + [[vimView textView] setMaxRows:maxRows columns:maxColumns]; + + [win setFrameOrigin:maxFrame.origin]; + [win setIsZoomed:YES]; +} + // -- Services menu delegate -------------------------------------------------