Commit 48515f2a authored by Benjamin Pracht's avatar Benjamin Pracht

Fix for the fullscreen button state (it is only enabled if a vout is present)

parent d40cfac2
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* controls.m: MacOS X interface plugin * controls.m: MacOS X interface plugin
***************************************************************************** *****************************************************************************
* Copyright (C) 2002-2003 VideoLAN * Copyright (C) 2002-2003 VideoLAN
* $Id: controls.m,v 1.58 2003/12/11 19:34:47 hartman Exp $ * $Id: controls.m,v 1.59 2003/12/15 19:25:56 bigben Exp $
* *
* Authors: Jon Lech Johansen <jon-vl@nanocrew.net> * Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
* Christophe Massiot <massiot@via.ecp.fr> * Christophe Massiot <massiot@via.ecp.fr>
...@@ -357,7 +357,6 @@ ...@@ -357,7 +357,6 @@
} }
else else
{ {
[o_btn_fullscreen setState: ![o_window isFullscreen]];
[o_window toggleFullscreen]; [o_window toggleFullscreen];
} }
break; break;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* intf.h: MacOS X interface plugin * intf.h: MacOS X interface plugin
***************************************************************************** *****************************************************************************
* Copyright (C) 2002-2003 VideoLAN * Copyright (C) 2002-2003 VideoLAN
* $Id: intf.h,v 1.51 2003/12/11 19:34:47 hartman Exp $ * $Id: intf.h,v 1.52 2003/12/15 19:25:56 bigben Exp $
* *
* Authors: Jon Lech Johansen <jon-vl@nanocrew.net> * Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
* Christophe Massiot <massiot@via.ecp.fr> * Christophe Massiot <massiot@via.ecp.fr>
...@@ -75,7 +75,8 @@ struct intf_sys_t ...@@ -75,7 +75,8 @@ struct intf_sys_t
vlc_bool_t b_play_status; vlc_bool_t b_play_status;
vlc_bool_t b_playlist_update; vlc_bool_t b_playlist_update;
vlc_bool_t b_current_title_update; vlc_bool_t b_current_title_update;
vlc_bool_t b_fullscreen_update;
/* menus handlers */ /* menus handlers */
vlc_bool_t b_input_update; vlc_bool_t b_input_update;
vlc_bool_t b_aout_update; vlc_bool_t b_aout_update;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* intf.m: MacOS X interface plugin * intf.m: MacOS X interface plugin
***************************************************************************** *****************************************************************************
* Copyright (C) 2002-2003 VideoLAN * Copyright (C) 2002-2003 VideoLAN
* $Id: intf.m,v 1.106 2003/12/15 15:38:26 hartman Exp $ * $Id: intf.m,v 1.107 2003/12/15 19:25:56 bigben Exp $
* *
* Authors: Jon Lech Johansen <jon-vl@nanocrew.net> * Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
* Christophe Massiot <massiot@via.ecp.fr> * Christophe Massiot <massiot@via.ecp.fr>
...@@ -73,6 +73,7 @@ int E_(OpenIntf) ( vlc_object_t *p_this ) ...@@ -73,6 +73,7 @@ int E_(OpenIntf) ( vlc_object_t *p_this )
[[VLCApplication sharedApplication] autorelease]; [[VLCApplication sharedApplication] autorelease];
[NSApp setIntf: p_intf]; [NSApp setIntf: p_intf];
[NSBundle loadNibNamed: @"MainMenu" owner: NSApp]; [NSBundle loadNibNamed: @"MainMenu" owner: NSApp];
return( 0 ); return( 0 );
...@@ -615,7 +616,7 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key ) ...@@ -615,7 +616,7 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key )
while( !p_intf->b_die ) while( !p_intf->b_die )
{ {
playlist_t * p_playlist; playlist_t * p_playlist;
vlc_value_t val;
vlc_mutex_lock( &p_intf->change_lock ); vlc_mutex_lock( &p_intf->change_lock );
p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
...@@ -657,6 +658,15 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key ) ...@@ -657,6 +658,15 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key )
#undef p_input #undef p_input
vlc_object_release( p_playlist ); vlc_object_release( p_playlist );
var_Create(p_intf,"intf-change",VLC_VAR_BOOL );
if( var_Get( p_intf, "intf-change", &val )
>= 0 && val.b_bool )
{
p_intf->p_sys->b_fullscreen_update = TRUE;
}
val.b_bool = VLC_FALSE;
var_Set( p_intf,"intf-change",val);
} }
vlc_mutex_unlock( &p_intf->change_lock ); vlc_mutex_unlock( &p_intf->change_lock );
...@@ -758,10 +768,36 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key ) ...@@ -758,10 +768,36 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key )
[o_timefield setStringValue: @"0:00:00"]; [o_timefield setStringValue: @"0:00:00"];
[self manageVolumeSlider]; [self manageVolumeSlider];
p_intf->p_sys->b_intf_update = VLC_FALSE; p_intf->p_sys->b_intf_update = VLC_FALSE;
} }
if (p_intf->p_sys->b_fullscreen_update )
{
vout_thread_t * p_vout;
vlc_value_t val;
p_vout=vlc_object_find(p_intf, VLC_OBJECT_VOUT, FIND_ANYWHERE);
if (p_vout !=NULL)
{
if( var_Get( p_intf, "fullscreen", &val )
>= 0 && val.b_bool )
{
[o_btn_fullscreen setState:VLC_TRUE];
}
else
{
[o_btn_fullscreen setState:VLC_FALSE];
}
[o_btn_fullscreen setEnabled: VLC_TRUE];
vlc_object_release( p_vout );
}
else
{
[o_btn_fullscreen setState: VLC_FALSE];
[o_btn_fullscreen setEnabled: VLC_FALSE];
}
p_intf->p_sys->b_fullscreen_update = VLC_FALSE;
}
if( p_intf->p_sys->b_playing && p_input != NULL ) if( p_intf->p_sys->b_playing && p_input != NULL )
{ {
vlc_value_t time; vlc_value_t time;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* vout.m: MacOS X video output plugin * vout.m: MacOS X video output plugin
***************************************************************************** *****************************************************************************
* Copyright (C) 2001-2003 VideoLAN * Copyright (C) 2001-2003 VideoLAN
* $Id: vout.m,v 1.66 2003/12/08 19:50:22 gbazin Exp $ * $Id: vout.m,v 1.67 2003/12/15 19:25:56 bigben Exp $
* *
* Authors: Colin Delacroix <colin@zoy.org> * Authors: Colin Delacroix <colin@zoy.org>
* Florian G. Pflug <fgp@phlo.org> * Florian G. Pflug <fgp@phlo.org>
...@@ -417,6 +417,8 @@ static void vout_Display( vout_thread_t *p_vout, picture_t *p_pic ) ...@@ -417,6 +417,8 @@ static void vout_Display( vout_thread_t *p_vout, picture_t *p_pic )
static int CoSendRequest( vout_thread_t *p_vout, SEL sel ) static int CoSendRequest( vout_thread_t *p_vout, SEL sel )
{ {
int i_ret = 0; int i_ret = 0;
vlc_value_t val;
intf_thread_t * p_intf;
VLCVout * o_vlv = [[VLCVout alloc] init]; VLCVout * o_vlv = [[VLCVout alloc] init];
...@@ -427,6 +429,21 @@ static int CoSendRequest( vout_thread_t *p_vout, SEL sel ) ...@@ -427,6 +429,21 @@ static int CoSendRequest( vout_thread_t *p_vout, SEL sel )
[o_vlv release]; [o_vlv release];
/*This makes this function dependant of the presence of a macosx
interface. We do not check if this interface exists, since it has
already been done before.*/
p_intf = [NSApp getIntf];
val.b_bool = p_vout->b_fullscreen;
var_Create(p_intf,"fullscreen",VLC_VAR_BOOL | VLC_VAR_DOINHERIT);
var_Set(p_intf,"fullscreen",val);
val.b_bool = VLC_TRUE;
var_Create(p_intf,"intf-change",VLC_VAR_BOOL);
var_Set(p_intf, "intf-change",val);
return( i_ret ); return( i_ret );
} }
...@@ -442,7 +459,7 @@ static int CoCreateWindow( vout_thread_t *p_vout ) ...@@ -442,7 +459,7 @@ static int CoCreateWindow( vout_thread_t *p_vout )
msg_Err( p_vout, "CoSendRequest (createWindow) failed" ); msg_Err( p_vout, "CoSendRequest (createWindow) failed" );
return( 1 ); return( 1 );
} }
return( 0 ); return( 0 );
} }
...@@ -482,8 +499,6 @@ static int CoToggleFullscreen( vout_thread_t *p_vout ) ...@@ -482,8 +499,6 @@ static int CoToggleFullscreen( vout_thread_t *p_vout )
p_vout->b_fullscreen = !p_vout->b_fullscreen; p_vout->b_fullscreen = !p_vout->b_fullscreen;
config_PutInt( p_vout, "fullscreen", p_vout->b_fullscreen );
if( CoCreateWindow( p_vout ) ) if( CoCreateWindow( p_vout ) )
{ {
msg_Err( p_vout, "unable to create window" ); msg_Err( p_vout, "unable to create window" );
...@@ -1273,6 +1288,7 @@ static void QTFreePicture( vout_thread_t *p_vout, picture_t *p_pic ) ...@@ -1273,6 +1288,7 @@ static void QTFreePicture( vout_thread_t *p_vout, picture_t *p_pic )
[p_vout->p_sys->o_window updateTitle]; [p_vout->p_sys->o_window updateTitle];
[p_vout->p_sys->o_window makeKeyAndOrderFront: nil]; [p_vout->p_sys->o_window makeKeyAndOrderFront: nil];
} }
- (void)destroyWindow:(NSValue *)o_value - (void)destroyWindow:(NSValue *)o_value
......
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