[vlc-commits] macosx: some improvements to the non-embedded vout window
Felix Paul Kühne
git at videolan.org
Sat Jan 7 18:03:25 CET 2012
vlc | branch: master | Felix Paul Kühne <fkuehne at videolan.org> | Sat Jan 7 17:12:37 2012 +0100| [a7026d196a8c6e154079873b2592d684ae1131ef] | committer: Felix Paul Kühne
macosx: some improvements to the non-embedded vout window
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a7026d196a8c6e154079873b2592d684ae1131ef
---
modules/gui/macosx/MainWindow.m | 16 ++++++++++++++--
1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/modules/gui/macosx/MainWindow.m b/modules/gui/macosx/MainWindow.m
index 049b579..54647ac 100644
--- a/modules/gui/macosx/MainWindow.m
+++ b/modules/gui/macosx/MainWindow.m
@@ -396,6 +396,7 @@ static VLCMainWindow *_o_sharedInstance = nil;
[self setBackgroundColor: [NSColor clearColor]];
[self setOpaque: NO];
+ [self setHasShadow:YES];
NSRect winrect;
CGFloat f_titleBarHeight = [o_titlebar_view frame].size.height;
@@ -430,6 +431,8 @@ static VLCMainWindow *_o_sharedInstance = nil;
if (OSX_LEOPARD)
[o_time_sld_fancygradient_view removeFromSuperviewWithoutNeedingDisplay];
+
+ [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(someWindowWillClose:) name: NSWindowWillCloseNotification object: nil];
}
#pragma mark -
@@ -700,6 +703,8 @@ static VLCMainWindow *_o_sharedInstance = nil;
{
if (b_dark_interface)
[o_titlebar_view setWindowTitle: title];
+ if (b_nonembedded && [[VLCMain sharedInstance] activeVideoPlayback])
+ [o_nonembedded_window setTitle: title];
[super setTitle: title];
}
@@ -1069,11 +1074,12 @@ static VLCMainWindow *_o_sharedInstance = nil;
}
else
{
- [o_video_view removeFromSuperviewWithoutNeedingDisplay];
+ if ([o_video_view superview] != NULL)
+ [o_video_view removeFromSuperviewWithoutNeedingDisplay];
if (o_nonembedded_window)
[o_nonembedded_window release];
- o_nonembedded_window = [[VLCWindow alloc] initWithContentRect:[o_video_view frame] styleMask: NSBorderlessWindowMask|NSResizableWindowMask backing:NSBackingStoreBuffered defer:YES];
+ o_nonembedded_window = [[VLCWindow alloc] initWithContentRect:[o_video_view frame] styleMask: NSTitledWindowMask|NSClosableWindowMask|NSResizableWindowMask|NSMiniaturizableWindowMask backing:NSBackingStoreBuffered defer:YES];
[o_nonembedded_window setFrame:[o_video_view frame] display:NO];
[o_nonembedded_window setBackgroundColor: [NSColor blackColor]];
[o_nonembedded_window setMovableByWindowBackground: YES];
@@ -1187,6 +1193,12 @@ static VLCMainWindow *_o_sharedInstance = nil;
[NSCursor setHiddenUntilMouseMoves: YES];
}
+- (void)someWindowWillClose:(NSNotification *)notification
+{
+ if([notification object] == o_nonembedded_window)
+ [[VLCCoreInteraction sharedInstance] stop];
+}
+
#pragma mark -
#pragma mark Fullscreen support
- (void)showFullscreenController
More information about the vlc-commits
mailing list