* 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>
}
else
{
- [o_btn_fullscreen setState: ![o_window isFullscreen]];
[o_window toggleFullscreen];
}
break;
* 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>
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;
* 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>
[[VLCApplication sharedApplication] autorelease];
[NSApp setIntf: p_intf];
+
[NSBundle loadNibNamed: @"MainMenu" owner: NSApp];
return( 0 );
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,
#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 );
[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;
* 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>
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];
[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 );
}
msg_Err( p_vout, "CoSendRequest (createWindow) failed" );
return( 1 );
}
-
+
return( 0 );
}
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" );
[p_vout->p_sys->o_window updateTitle];
[p_vout->p_sys->o_window makeKeyAndOrderFront: nil];
+
}
- (void)destroyWindow:(NSValue *)o_value