Commit 79559bdf authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

macosx: Save current fullscreen state.

parent a30d659b
......@@ -499,6 +499,8 @@
}
else
{
playlist_t * p_playlist = pl_Yield( VLCIntf );
/* Fullscreen state for next time will be saved here too */
[o_vout_view toggleFullscreen];
}
}
......@@ -516,7 +518,7 @@
var_Set( p_playlist, "fullscreen", (vlc_value_t)!val.b_bool );
}
vlc_object_release( p_playlist );
pl_Release( VLCIntf );
}
}
......@@ -987,9 +989,10 @@
break;
}
}
vlc_object_release( (vlc_object_t *)p_vout );
}
else if( [[o_mi title] isEqualToString: _NS("Fullscreen")] )
if( [[o_mi title] isEqualToString: _NS("Fullscreen")] )
{
var_Get( p_playlist, "fullscreen", &val );
[o_mi setState: val.b_bool];
......
......@@ -492,6 +492,7 @@
- (void)orderOut: (id)sender
{
[super orderOut: sender];
/* Make sure we leave fullscreen */
[self leaveFullscreenAndFadeOut: YES];
}
......
......@@ -766,24 +766,18 @@ int DeviceCallback( vlc_object_t *p_this, const char *psz_variable,
- (void)enterFullscreen
{
if( var_GetBool( p_real_vout, "video-on-top" ) )
{
[o_window setLevel: NSNormalWindowLevel];
}
[[o_view class] performSelectorOnMainThread:@selector(resetVout:) withObject:[NSValue valueWithPointer:p_vout] waitUntilDone:YES];
[[[[VLCMain sharedInstance] getControls] getFSPanel] setActive: nil];
/* Save the settings for next playing item */
playlist_t * p_playlist = pl_Yield( p_real_vout );
var_SetBool( p_playlist, "fullscreen", true );
pl_Release( p_real_vout );
}
- (void)leaveFullscreen
{
if( var_GetBool( p_real_vout, "video-on-top" ) )
{
[o_window setLevel: NSStatusWindowLevel];
}
[[o_view class] performSelectorOnMainThread:@selector(resetVout:) withObject:[NSValue valueWithPointer:p_vout] waitUntilDone:YES];
[[[[VLCMain sharedInstance] getControls] getFSPanel] setNonActive: nil];
/* Save the settings for next playing item */
playlist_t * p_playlist = pl_Yield( p_real_vout );
var_SetBool( p_playlist, "fullscreen", false );
pl_Release( p_real_vout );
}
@end
......@@ -871,6 +865,33 @@ int DeviceCallback( vlc_object_t *p_this, const char *psz_variable,
}
}
- (void)enterFullscreen
{
[super enterFullscreen];
if( var_GetBool( p_real_vout, "video-on-top" ) )
{
[o_window setLevel: NSNormalWindowLevel];
}
[[o_view class] performSelectorOnMainThread:@selector(resetVout:) withObject:[NSValue valueWithPointer:p_vout] waitUntilDone:YES];
[[[[VLCMain sharedInstance] getControls] getFSPanel] setActive: nil];
}
- (void)leaveFullscreen
{
[super leaveFullscreen];
if( var_GetBool( p_real_vout, "video-on-top" ) )
{
[o_window setLevel: NSStatusWindowLevel];
}
[[o_view class] performSelectorOnMainThread:@selector(resetVout:) withObject:[NSValue valueWithPointer:p_vout] waitUntilDone:YES];
[[[[VLCMain sharedInstance] getControls] getFSPanel] setNonActive: nil];
}
@end
/*****************************************************************************
......@@ -974,12 +995,18 @@ int DeviceCallback( vlc_object_t *p_this, const char *psz_variable,
- (void)enterFullscreen
{
/* Save settings */
[super enterFullscreen];
/* We are in a VLCEmbeddedWindow */
[o_embeddedwindow performSelectorOnMainThread: @selector(enterFullscreen) withObject: NULL waitUntilDone: YES];
}
- (void)leaveFullscreen
{
/* Save settings */
[super leaveFullscreen];
/* We are in a VLCEmbeddedWindow */
[o_embeddedwindow performSelectorOnMainThread: @selector(leaveFullscreen) withObject: NULL waitUntilDone: YES];
}
......@@ -1200,5 +1227,4 @@ int DeviceCallback( vlc_object_t *p_this, const char *psz_variable,
return NO;
}
@end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment