Commit 48515f2a authored by bigben's avatar bigben

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

parent d40cfac2
......@@ -2,7 +2,7 @@
* controls.m: MacOS X interface plugin
*****************************************************************************
* 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>
* Christophe Massiot <massiot@via.ecp.fr>
......@@ -357,7 +357,6 @@
}
else
{
[o_btn_fullscreen setState: ![o_window isFullscreen]];
[o_window toggleFullscreen];
}
break;
......
......@@ -2,7 +2,7 @@
* intf.h: MacOS X interface plugin
*****************************************************************************
* 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>
* Christophe Massiot <massiot@via.ecp.fr>
......@@ -75,7 +75,8 @@ struct intf_sys_t
vlc_bool_t b_play_status;
vlc_bool_t b_playlist_update;
vlc_bool_t b_current_title_update;
vlc_bool_t b_fullscreen_update;
/* menus handlers */
vlc_bool_t b_input_update;
vlc_bool_t b_aout_update;
......
......@@ -2,7 +2,7 @@
* intf.m: MacOS X interface plugin
*****************************************************************************
* 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>
* Christophe Massiot <massiot@via.ecp.fr>
......@@ -73,6 +73,7 @@ int E_(OpenIntf) ( vlc_object_t *p_this )
[[VLCApplication sharedApplication] autorelease];
[NSApp setIntf: p_intf];
[NSBundle loadNibNamed: @"MainMenu" owner: NSApp];
return( 0 );
......@@ -615,7 +616,7 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key )
while( !p_intf->b_die )
{
playlist_t * p_playlist;
vlc_value_t val;
vlc_mutex_lock( &p_intf->change_lock );
p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
......@@ -657,6 +658,15 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key )
#undef p_input
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 );
......@@ -758,10 +768,36 @@ unsigned int VLCModifiersToCocoa( unsigned int i_key )
[o_timefield setStringValue: @"0:00:00"];
[self manageVolumeSlider];
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 )
{
vlc_value_t time;
......
......@@ -2,7 +2,7 @@
* vout.m: MacOS X video output plugin
*****************************************************************************
* 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>
* Florian G. Pflug <fgp@phlo.org>
......@@ -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 )
{
int i_ret = 0;
vlc_value_t val;
intf_thread_t * p_intf;
VLCVout * o_vlv = [[VLCVout alloc] init];
......@@ -427,6 +429,21 @@ static int CoSendRequest( vout_thread_t *p_vout, SEL sel )
[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 );
}
......@@ -442,7 +459,7 @@ static int CoCreateWindow( vout_thread_t *p_vout )
msg_Err( p_vout, "CoSendRequest (createWindow) failed" );
return( 1 );
}
return( 0 );
}
......@@ -482,8 +499,6 @@ static int CoToggleFullscreen( vout_thread_t *p_vout )
p_vout->b_fullscreen = !p_vout->b_fullscreen;
config_PutInt( p_vout, "fullscreen", p_vout->b_fullscreen );
if( CoCreateWindow( p_vout ) )
{
msg_Err( p_vout, "unable to create window" );
......@@ -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 makeKeyAndOrderFront: nil];
}
- (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