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

macosx: Save current fullscreen state.

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