Commit 0050c530 authored by Stéphane Borel's avatar Stéphane Borel

* --chennels puts gtk/gnome in multi-channel network mode.

* the network window of the interface reports the values of the environment
 variables.

* channels mode excludes vls configuration

* the vlc does not try to bind vls.via.ecp.fr by default when you select
 channels mode.
parent 332312e7
......@@ -644,7 +644,7 @@ create_intf_window (void)
gtk_widget_show (label_network);
gtk_box_pack_start (GTK_BOX (network_channel_box), label_network, TRUE, FALSE, 5);
network_channel_spinbutton_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
network_channel_spinbutton_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
network_channel_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_spinbutton_adj), 1, 0);
gtk_widget_ref (network_channel_spinbutton);
gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_spinbutton", network_channel_spinbutton,
......@@ -1382,8 +1382,8 @@ create_intf_network (void)
GtkWidget *network_http;
GtkWidget *frame4;
GtkWidget *table2;
GtkWidget *label17;
GtkWidget *label18;
GtkWidget *network_server_label;
GtkWidget *network_port_label;
GtkObject *network_port_adj;
GtkWidget *network_port;
GtkWidget *network_broadcast_check;
......@@ -1396,7 +1396,7 @@ create_intf_network (void)
GtkWidget *network_channel_check;
GtkWidget *network_channel_combo;
GtkWidget *network_channel;
GtkWidget *channel_port;
GtkWidget *network_channel_port_label;
GtkObject *network_channel_port_adj;
GtkWidget *network_channel_port;
GtkWidget *hbuttonbox1;
......@@ -1478,25 +1478,25 @@ create_intf_network (void)
gtk_table_set_row_spacings (GTK_TABLE (table2), 5);
gtk_table_set_col_spacings (GTK_TABLE (table2), 5);
label17 = gtk_label_new (_("Address"));
gtk_widget_ref (label17);
gtk_object_set_data_full (GTK_OBJECT (intf_network), "label17", label17,
network_server_label = gtk_label_new (_("Address"));
gtk_widget_ref (network_server_label);
gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_server_label", network_server_label,
(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_show (label17);
gtk_table_attach (GTK_TABLE (table2), label17, 0, 1, 0, 1,
gtk_widget_show (network_server_label);
gtk_table_attach (GTK_TABLE (table2), network_server_label, 0, 1, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_misc_set_alignment (GTK_MISC (label17), 0, 0.5);
gtk_misc_set_alignment (GTK_MISC (network_server_label), 0, 0.5);
label18 = gtk_label_new (_("Port"));
gtk_widget_ref (label18);
gtk_object_set_data_full (GTK_OBJECT (intf_network), "label18", label18,
network_port_label = gtk_label_new (_("Port"));
gtk_widget_ref (network_port_label);
gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_port_label", network_port_label,
(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_show (label18);
gtk_table_attach (GTK_TABLE (table2), label18, 0, 1, 1, 2,
gtk_widget_show (network_port_label);
gtk_table_attach (GTK_TABLE (table2), network_port_label, 0, 1, 1, 2,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_misc_set_alignment (GTK_MISC (label18), 0, 0.5);
gtk_misc_set_alignment (GTK_MISC (network_port_label), 0, 0.5);
network_port_adj = gtk_adjustment_new (1234, 1024, 65535, 1, 10, 10);
network_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_port_adj), 1, 0);
......@@ -1588,12 +1588,12 @@ create_intf_network (void)
gtk_widget_show (network_channel);
gtk_entry_set_text (GTK_ENTRY (network_channel), _("138.195.143.120"));
channel_port = gtk_label_new (_("port:"));
gtk_widget_ref (channel_port);
gtk_object_set_data_full (GTK_OBJECT (intf_network), "channel_port", channel_port,
network_channel_port_label = gtk_label_new (_("port:"));
gtk_widget_ref (network_channel_port_label);
gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_port_label", network_channel_port_label,
(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_show (channel_port);
gtk_box_pack_start (GTK_BOX (hbox4), channel_port, FALSE, FALSE, 5);
gtk_widget_show (network_channel_port_label);
gtk_box_pack_start (GTK_BOX (hbox4), network_channel_port_label, FALSE, FALSE, 5);
network_channel_port_adj = gtk_adjustment_new (6010, 1024, 65535, 1, 10, 10);
network_channel_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_port_adj), 1, 0);
......
......@@ -2,7 +2,7 @@
* gtk_callbacks.c : Callbacks for the Gtk+ plugin.
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
* $Id: gtk_callbacks.c,v 1.25 2001/11/12 04:12:37 sam Exp $
* $Id: gtk_callbacks.c,v 1.26 2001/11/16 00:29:52 stef Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr>
......@@ -336,7 +336,7 @@ void GtkChannelGo( GtkButton * button, gpointer user_data )
vlc_mutex_unlock( &p_intf->change_lock );
input_SetStatus( p_intf->p_input, INPUT_STATUS_PLAY );
// input_SetStatus( p_intf->p_input, INPUT_STATUS_PLAY );
}
......
......@@ -2,7 +2,7 @@
* gtk_display.c: Gtk+ tools for main interface
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: gtk_display.c,v 1.6 2001/08/09 08:20:26 sam Exp $
* $Id: gtk_display.c,v 1.7 2001/11/16 00:29:52 stef Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr>
......@@ -204,27 +204,39 @@ gint GtkModeManage( intf_thread_t * p_intf )
}
else
{
if( main_GetIntVariable( INPUT_NETWORK_CHANNEL_VAR,
INPUT_NETWORK_CHANNEL_DEFAULT ) )
{
gtk_widget_show( GTK_WIDGET( p_network_box ) );
p_channel = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
p_intf->p_sys->p_window ), "network_channel_box" ) );
gtk_widget_show( GTK_WIDGET( p_channel ) );
}
else
{
//intf_WarnMsg( 2, "intf info: default to file method" );
/* default mode */
p_label = gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_window ),
"label_status" );
gtk_label_set_text( GTK_LABEL( p_label ), "" );
gtk_widget_show( GTK_WIDGET( p_file_box ) );
/* unsensitize menus */
gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_title"), FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_chapter"),
FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_angle"), FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_audio"), FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_subpictures"),
FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_navigation"),
FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_angle"), FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_audio"), FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_subpictures"),
FALSE );
/* default mode */
p_label = gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_window ), "label_status" );
gtk_label_set_text( GTK_LABEL( p_label ), "" );
gtk_widget_show( GTK_WIDGET( p_file_box ) );
/* unsensitize menus */
gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_title"), FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_chapter"),
FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_angle"), FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_audio"), FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_subpictures"),
FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_navigation"),
FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_angle"), FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_audio"), FALSE );
gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_subpictures"),
FALSE );
}
}
/* set control items */
......
......@@ -741,7 +741,7 @@ create_intf_window (void)
gtk_widget_show (channel_label);
gtk_box_pack_start (GTK_BOX (network_channel_box), channel_label, FALSE, FALSE, 5);
network_channel_spinbutton_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
network_channel_spinbutton_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
network_channel_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_spinbutton_adj), 1, 0);
gtk_widget_ref (network_channel_spinbutton);
gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_channel_spinbutton", network_channel_spinbutton,
......@@ -1594,8 +1594,8 @@ create_intf_network (void)
GtkWidget *table2;
GtkObject *network_port_adj;
GtkWidget *network_port;
GtkWidget *label24;
GtkWidget *label25;
GtkWidget *network_port_label;
GtkWidget *network_server_label;
GtkWidget *network_broadcast_check;
GtkWidget *network_broadcast_combo;
GtkWidget *network_broadcast;
......@@ -1607,7 +1607,7 @@ create_intf_network (void)
GtkWidget *network_channel_check;
GtkWidget *network_channel_combo;
GtkWidget *network_channel;
GtkWidget *channel_port;
GtkWidget *network_channel_port_label;
GtkObject *network_channel_port_adj;
GtkWidget *network_channel_port;
GtkWidget *hbox4;
......@@ -1707,25 +1707,25 @@ create_intf_network (void)
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
label24 = gtk_label_new (_("Port"));
gtk_widget_ref (label24);
gtk_object_set_data_full (GTK_OBJECT (intf_network), "label24", label24,
network_port_label = gtk_label_new (_("Port"));
gtk_widget_ref (network_port_label);
gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_port_label", network_port_label,
(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_show (label24);
gtk_table_attach (GTK_TABLE (table2), label24, 0, 1, 1, 2,
gtk_widget_show (network_port_label);
gtk_table_attach (GTK_TABLE (table2), network_port_label, 0, 1, 1, 2,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
gtk_misc_set_alignment (GTK_MISC (network_port_label), 0, 0.5);
label25 = gtk_label_new (_("Address"));
gtk_widget_ref (label25);
gtk_object_set_data_full (GTK_OBJECT (intf_network), "label25", label25,
network_server_label = gtk_label_new (_("Address"));
gtk_widget_ref (network_server_label);
gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_server_label", network_server_label,
(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_show (label25);
gtk_table_attach (GTK_TABLE (table2), label25, 0, 1, 0, 1,
gtk_widget_show (network_server_label);
gtk_table_attach (GTK_TABLE (table2), network_server_label, 0, 1, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
gtk_misc_set_alignment (GTK_MISC (network_server_label), 0, 0.5);
network_broadcast_check = gtk_check_button_new_with_label (_("Broadcast"));
gtk_widget_ref (network_broadcast_check);
......@@ -1809,12 +1809,12 @@ create_intf_network (void)
gtk_widget_show (network_channel);
gtk_entry_set_text (GTK_ENTRY (network_channel), _("138.195.143.120"));
channel_port = gtk_label_new (_("port:"));
gtk_widget_ref (channel_port);
gtk_object_set_data_full (GTK_OBJECT (intf_network), "channel_port", channel_port,
network_channel_port_label = gtk_label_new (_("port:"));
gtk_widget_ref (network_channel_port_label);
gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_port_label", network_channel_port_label,
(GtkDestroyNotify) gtk_widget_unref);
gtk_widget_show (channel_port);
gtk_box_pack_start (GTK_BOX (hbox14), channel_port, FALSE, FALSE, 5);
gtk_widget_show (network_channel_port_label);
gtk_box_pack_start (GTK_BOX (hbox14), network_channel_port_label, FALSE, FALSE, 5);
network_channel_port_adj = gtk_adjustment_new (6010, 1024, 100, 1, 10, 10);
network_channel_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_port_adj), 1, 0);
......
......@@ -2,7 +2,7 @@
* gtk_open.c : functions to handle file/disc/network open widgets.
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
* $Id: gtk_open.c,v 1.7 2001/10/10 14:25:15 sam Exp $
* $Id: gtk_open.c,v 1.8 2001/11/16 00:29:52 stef Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr>
......@@ -268,6 +268,41 @@ gboolean GtkNetworkOpenShow( GtkWidget *widget,
p_intf->p_sys->p_network = create_intf_network();
gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_network ),
"p_intf", p_intf );
gtk_entry_set_text( GTK_ENTRY( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_network ), "network_server" ) ),
main_GetPszVariable( INPUT_SERVER_VAR,
INPUT_SERVER_DEFAULT ) );
gtk_spin_button_set_value( GTK_SPIN_BUTTON( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_network ), "network_port" ) ),
main_GetIntVariable( INPUT_PORT_VAR,
INPUT_PORT_DEFAULT ) );
gtk_entry_set_text( GTK_ENTRY( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_network ), "network_broadcast" ) ),
main_GetPszVariable( INPUT_BCAST_ADDR_VAR,
INPUT_BCAST_ADDR_DEFAULT ) );
gtk_entry_set_text( GTK_ENTRY( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_network ), "network_channel" ) ),
main_GetPszVariable( INPUT_CHANNEL_SERVER_VAR,
INPUT_CHANNEL_SERVER_DEFAULT ) );
gtk_spin_button_set_value( GTK_SPIN_BUTTON( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_network ), "network_channel_port" ) ),
main_GetIntVariable( INPUT_CHANNEL_PORT_VAR,
INPUT_CHANNEL_PORT_DEFAULT ) );
gtk_toggle_button_set_active( gtk_object_get_data( GTK_OBJECT(
p_intf->p_sys->p_network ), "network_channel_check" ),
main_GetIntVariable( INPUT_NETWORK_CHANNEL_VAR,
INPUT_NETWORK_CHANNEL_DEFAULT ) );
gtk_toggle_button_set_active( gtk_object_get_data( GTK_OBJECT(
p_intf->p_sys->p_network ), "network_broadcast_check" ),
main_GetIntVariable( INPUT_BROADCAST_VAR,
INPUT_BROADCAST_DEFAULT ) );
}
gtk_widget_show( p_intf->p_sys->p_network );
......@@ -291,6 +326,12 @@ void GtkNetworkOpenOk( GtkButton *button, gpointer user_data )
psz_server = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
GTK_WIDGET(button), "network_server" ) ) );
/* select added item */
if( p_intf->p_input != NULL )
{
p_intf->p_input->b_eof = 1;
}
/* Check which protocol was activated */
if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
"network_ts" ) )->active )
......@@ -308,54 +349,6 @@ void GtkNetworkOpenOk( GtkButton *button, gpointer user_data )
return;
}
/* Get the port number and make sure it will not overflow 5 characters */
i_port = gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON(
lookup_widget( GTK_WIDGET(button), "network_port" ) ) );
if( i_port > 65535 )
{
intf_ErrMsg( "intf error: invalid port %i", i_port );
}
/* do we have a broadcast address */
b_broadcast = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(
lookup_widget( GTK_WIDGET(button), "network_broadcast_check" ) ) );
if( b_broadcast )
{
char * psz_broadcast;
psz_broadcast = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
GTK_WIDGET(button), "network_broadcast" ) ) );
/* Allocate room for "protocol://server:port" */
psz_source = malloc( strlen( psz_protocol ) + 3 /* "://" */
+ strlen( psz_server ) + 1 /* ":" */
+ 5 /* 0-65535 */
+ strlen( psz_broadcast ) + 2 /* "::" */
+ 1 /* "\0" */ );
if( psz_source == NULL )
{
return;
}
/* Build source name and add it to playlist */
sprintf( psz_source, "%s://%s:%i/%s", psz_protocol,
psz_server,
i_port,
psz_broadcast );
}
else
{
/* Allocate room for "protocol://server:port" */
psz_source = malloc( strlen( psz_protocol ) + 3 /* "://" */
+ strlen( psz_server ) + 1 /* ":" */
+ 5 /* 0-65535 */ + 1 /* "\0" */ );
if( psz_source == NULL )
{
return;
}
/* Build source name and add it to playlist */
sprintf( psz_source, "%s://%s:%i", psz_protocol, psz_server, i_port );
}
/* Manage channel server */
b_channel = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(
lookup_widget( GTK_WIDGET(button), "network_channel_check" ) ) );
......@@ -380,24 +373,73 @@ void GtkNetworkOpenOk( GtkButton *button, gpointer user_data )
{
main_PutIntVariable( INPUT_CHANNEL_PORT_VAR, i_channel_port );
}
}
intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END, psz_source );
free( psz_source );
p_intf->p_sys->b_playing = 1;
/* catch the GTK CList */
p_playlist_clist = GTK_CLIST( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_playlist ), "playlist_clist" ) );
/* update the display */
GtkRebuildCList( p_playlist_clist, p_main->p_playlist );
/* select added item */
if( p_intf->p_input != NULL )
{
p_intf->p_input->b_eof = 1;
}
else
{
/* Get the port number and make sure it will not
* overflow 5 characters */
i_port = gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON(
lookup_widget( GTK_WIDGET(button), "network_port" ) ) );
if( i_port > 65535 )
{
intf_ErrMsg( "intf error: invalid port %i", i_port );
}
intf_PlaylistJumpto( p_main->p_playlist, i_end - 1 );
/* do we have a broadcast address */
b_broadcast = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(
lookup_widget( GTK_WIDGET(button), "network_broadcast_check" ) ) );
if( b_broadcast )
{
char * psz_broadcast;
psz_broadcast = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
GTK_WIDGET(button), "network_broadcast" ) ) );
/* Allocate room for "protocol://server:port" */
psz_source = malloc( strlen( psz_protocol ) + 3 /* "://" */
+ strlen( psz_server ) + 1 /* ":" */
+ 5 /* 0-65535 */
+ strlen( psz_broadcast ) + 2 /* "::" */
+ 1 /* "\0" */ );
if( psz_source == NULL )
{
return;
}
/* Build source name and add it to playlist */
sprintf( psz_source, "%s://%s:%i/%s", psz_protocol,
psz_server,
i_port,
psz_broadcast );
}
else
{
/* Allocate room for "protocol://server:port" */
psz_source = malloc( strlen( psz_protocol ) + 3 /* "://" */
+ strlen( psz_server ) + 1 /* ":" */
+ 5 /* 0-65535 */ + 1 /* "\0" */ );
if( psz_source == NULL )
{
return;
}
/* Build source name and add it to playlist */
sprintf( psz_source, "%s://%s:%i",
psz_protocol, psz_server, i_port );
}
intf_PlaylistAdd( p_main->p_playlist, PLAYLIST_END, psz_source );
free( psz_source );
/* catch the GTK CList */
p_playlist_clist = GTK_CLIST( gtk_object_get_data(
GTK_OBJECT( p_intf->p_sys->p_playlist ), "playlist_clist" ) );
/* update the display */
GtkRebuildCList( p_playlist_clist, p_main->p_playlist );
intf_PlaylistJumpto( p_main->p_playlist, i_end - 1 );
}
}
void GtkNetworkOpenCancel( GtkButton * button, gpointer user_data)
......@@ -427,21 +469,49 @@ void GtkNetworkOpenChannel( GtkToggleButton * togglebutton,
gpointer user_data )
{
GtkWidget * p_network;
boolean_t b_channel;
boolean_t b_broadcast;
p_network = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
b_channel = gtk_toggle_button_get_active( togglebutton );
b_broadcast = gtk_toggle_button_get_active( gtk_object_get_data(
GTK_OBJECT( p_network ), "network_broadcast_check" ) );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
"network_channel_combo" ), b_channel ) ;
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
"network_channel_combo" ),
gtk_toggle_button_get_active( togglebutton ) );
"network_channel" ), b_channel );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
"network_channel" ),
gtk_toggle_button_get_active( togglebutton ) );
"network_channel_port" ), b_channel );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
"network_channel_port" ),
gtk_toggle_button_get_active( togglebutton ) );
"network_channel_port_label" ), b_channel );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
"network_server_combo" ), ! b_channel );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
"network_server_label" ), ! b_channel );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
"network_server" ), ! b_channel );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
"network_port_label" ), ! b_channel );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
"network_port" ), ! b_channel );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
"network_broadcast_check" ), ! b_channel );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
"network_broadcast_combo" ), b_broadcast && ! b_channel );
gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
"network_broadcast" ), b_broadcast && ! b_channel );
}
......
......@@ -2,7 +2,7 @@
* intf_gnome.c: Gnome interface
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: intf_gnome.c,v 1.4 2001/10/04 00:50:24 sam Exp $
* $Id: intf_gnome.c,v 1.5 2001/11/16 00:29:52 stef Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr>
......@@ -145,6 +145,7 @@ static int intf_Open( intf_thread_t *p_intf )
}
/* Initialize Gnome thread */
p_intf->p_sys->b_playing = 1;
p_intf->p_sys->b_popup_changed = 0;
p_intf->p_sys->b_window_changed = 0;
p_intf->p_sys->b_playlist_changed = 0;
......@@ -325,6 +326,7 @@ static gint GnomeManage( gpointer p_data )
{
GtkModeManage( p_intf );
GtkSetupMenus( p_intf );
p_intf->p_sys->b_playing = 1;
}
/* Manage the slider */
......@@ -370,9 +372,10 @@ static gint GnomeManage( gpointer p_data )
vlc_mutex_unlock( &p_intf->p_input->stream.stream_lock );
}
else if( !p_intf->b_die )
else if( p_intf->p_sys->b_playing && !p_intf->b_die )
{
GtkModeManage( p_intf );
p_intf->p_sys->b_playing = 0;
}
/* Manage core vlc functions through the callback */
......
......@@ -909,7 +909,7 @@
<update_policy>GTK_UPDATE_ALWAYS</update_policy>
<snap>False</snap>
<wrap>False</wrap>
<value>1</value>
<value>0</value>
<lower>0</lower>
<upper>100</upper>
<step>1</step>
......@@ -1953,7 +1953,7 @@ Henri Fallon &lt;henri@via.ecp.fr&gt;
<widget>
<class>GtkLabel</class>
<name>label17</name>
<name>network_server_label</name>
<label>Address</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
......@@ -1979,7 +1979,7 @@ Henri Fallon &lt;henri@via.ecp.fr&gt;
<widget>
<class>GtkLabel</class>
<name>label18</name>
<name>network_port_label</name>
<label>Port</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
......@@ -2194,7 +2194,7 @@ Henri Fallon &lt;henri@via.ecp.fr&gt;
<widget>
<class>GtkLabel</class>
<name>channel_port</name>
<name>network_channel_port_label</name>
<label>port:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
......
......@@ -2,7 +2,7 @@
* intf_gtk.c: Gtk+ interface
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: intf_gtk.c,v 1.26 2001/10/04 00:50:24 sam Exp $
* $Id: intf_gtk.c,v 1.27 2001/11/16 00:29:52 stef Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr>
......@@ -146,6 +146,7 @@ static int intf_Open( intf_thread_t *p_intf )
}
/* Initialize Gtk+ thread */
p_intf->p_sys->b_playing = 1;
p_intf->p_sys->b_popup_changed = 0;
p_intf->p_sys->b_window_changed = 0;
p_intf->p_sys->b_playlist_changed = 0;
......@@ -325,6 +326,7 @@ static gint GtkManage( gpointer p_data )
{
GtkModeManage( p_intf );
GtkSetupMenus( p_intf );
p_intf->p_sys->b_playing = 1;
}
/* Manage the slider */
......@@ -371,9 +373,10 @@ static gint GtkManage( gpointer p_data )
vlc_mutex_unlock( &p_intf->p_input->stream.stream_lock );
}
else if( !p_intf->b_die )
else if( p_intf->p_sys->b_playing && !p_intf->b_die )
{
GtkModeManage( p_intf );
p_intf->p_sys->b_playing = 0;
}
/* Manage core vlc functions through the callback */
......
......@@ -907,7 +907,7 @@
<update_policy>GTK_UPDATE_ALWAYS</update_policy>
<snap>False</snap>
<wrap>False</wrap>
<value>1</value>
<value>0</value>
<lower>0</lower>
<upper>100</upper>
<step>1</step>
......@@ -2064,7 +2064,7 @@ Henri Fallon &lt;henri@via.ecp.fr&gt;</label>
<widget>
<class>GtkLabel</class>
<name>label24</name>
<name>network_port_label</name>
<label>Port</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
......@@ -2090,7 +2090,7 @@ Henri Fallon &lt;henri@via.ecp.fr&gt;</label>
<widget>
<class>GtkLabel</class>
<name>label25</name>
<name>network_server_label</name>
<label>Address</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
......@@ -2288,7 +2288,7 @@ Henri Fallon &lt;henri@via.ecp.fr&gt;</label>
<widget>
<class>GtkLabel</class>
<name>channel_port</name>
<name>network_channel_port_label</name>
<label>port:</label>
<justify>GTK_JUSTIFY_CENTER</justify>
<wrap>False</wrap>
......
......@@ -2,7 +2,7 @@
* intf_gtk.h: private Gtk+ interface description
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: intf_gtk.h,v 1.8 2001/10/04 00:50:24 sam Exp $
* $Id: intf_gtk.h,v 1.9 2001/11/16 00:29:52 stef Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
......@@ -43,6 +43,7 @@ static __inline__ intf_thread_t * GetIntf( GtkWidget *item, char * psz_parent )
typedef struct intf_sys_s
{
/* special actions */
boolean_t b_playing;
boolean_t b_popup_changed; /* display menu ? */
boolean_t b_window_changed; /* window display toggled ? */
boolean_t b_playlist_changed; /* playlist display toggled ? */
......
......@@ -2,7 +2,7 @@
* netutils.c: various network functions
*****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN
* $Id: netutils.c,v 1.45 2001/11/13 00:46:23 sam Exp $
* $Id: netutils.c,v 1.46 2001/11/16 00:29:52 stef Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Benoit Steiner <benny@via.ecp.fr>
......@@ -402,8 +402,15 @@ int network_ChannelJoin( int i_channel )
# define p_item \
(&p_main->p_playlist->p_item[ p_main->p_playlist->i_index + 1])
vlc_mutex_lock( &p_main->p_playlist->change_lock );
free( p_item->psz_name );
p_item->psz_name = strdup( psz_mess );
if( p_item )
{
free( p_item->psz_name );
p_item->psz_name = strdup( psz_mess );
}
else
{
intf_PlaylistAdd( p_main->p_playlist, 0, psz_mess );
}
vlc_mutex_unlock( &p_main->p_playlist->change_lock );
}
......
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