From d477acf42e0e72f503610a1265690f216824efd2 Mon Sep 17 00:00:00 2001 From: Jean-Paul Saman <jpsaman@videolan.org> Date: Tue, 5 Aug 2003 11:49:14 +0000 Subject: [PATCH] Removing files for Familiar interface (Gtk+1.2 and GPE). --- modules/gui/familiar/Modules.am | 16 - modules/gui/familiar/callbacks.c | 609 --------------- modules/gui/familiar/callbacks.h | 116 --- modules/gui/familiar/familiar.c | 539 ------------- modules/gui/familiar/familiar.glade | 1118 --------------------------- modules/gui/familiar/familiar.h | 69 -- modules/gui/familiar/interface.c | 860 --------------------- modules/gui/familiar/interface.h | 5 - modules/gui/familiar/network.c | 136 ---- modules/gui/familiar/network.h | 58 -- modules/gui/familiar/playlist.c | 203 ----- modules/gui/familiar/playlist.h | 20 - modules/gui/familiar/support.c | 162 ---- modules/gui/familiar/support.h | 61 -- 14 files changed, 3972 deletions(-) delete mode 100644 modules/gui/familiar/Modules.am delete mode 100644 modules/gui/familiar/callbacks.c delete mode 100644 modules/gui/familiar/callbacks.h delete mode 100644 modules/gui/familiar/familiar.c delete mode 100644 modules/gui/familiar/familiar.glade delete mode 100644 modules/gui/familiar/familiar.h delete mode 100644 modules/gui/familiar/interface.c delete mode 100644 modules/gui/familiar/interface.h delete mode 100644 modules/gui/familiar/network.c delete mode 100644 modules/gui/familiar/network.h delete mode 100644 modules/gui/familiar/playlist.c delete mode 100644 modules/gui/familiar/playlist.h delete mode 100644 modules/gui/familiar/support.c delete mode 100644 modules/gui/familiar/support.h diff --git a/modules/gui/familiar/Modules.am b/modules/gui/familiar/Modules.am deleted file mode 100644 index 325ab895498c..000000000000 --- a/modules/gui/familiar/Modules.am +++ /dev/null @@ -1,16 +0,0 @@ -SOURCES_familiar = \ - familiar.c \ - familiar.h \ - interface.c \ - interface.h \ - support.c \ - support.h \ - callbacks.c \ - callbacks.h \ - network.c \ - network.h \ - playlist.c \ - playlist.h \ - $(NULL) - -EXTRA_DIST += familiar.glade diff --git a/modules/gui/familiar/callbacks.c b/modules/gui/familiar/callbacks.c deleted file mode 100644 index e6f6e906b4fa..000000000000 --- a/modules/gui/familiar/callbacks.c +++ /dev/null @@ -1,609 +0,0 @@ -/***************************************************************************** - * callbacks.c : Callbacks for the Familiar Linux Gtk+ plugin. - ***************************************************************************** - * Copyright (C) 2000, 2001 VideoLAN - * $Id: callbacks.c,v 1.24 2003/07/31 20:47:09 reno Exp $ - * - * Authors: Jean-Paul Saman <jpsaman@wxs.nl> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. - *****************************************************************************/ - -/***************************************************************************** - * Preamble - *****************************************************************************/ -#include <sys/types.h> /* off_t */ -#include <stdlib.h> -#include <vlc/vlc.h> -#include <vlc/intf.h> -#include <vlc/vout.h> - -#include <stdio.h> -#include <string.h> -#include <dirent.h> -#include <sys/stat.h> -#include <unistd.h> - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include <gtk/gtk.h> - -#include "playlist.h" -#include "callbacks.h" -#include "interface.h" -#include "support.h" -#include "familiar.h" - -static char* get_file_perm(const char *path); - -/***************************************************************************** - * Useful function to retrieve p_intf - ****************************************************************************/ -void * E_(__GtkGetIntf)( GtkWidget * widget ) -{ - void *p_data; - - if( GTK_IS_MENU_ITEM( widget ) ) - { - /* Look for a GTK_MENU */ - while( widget->parent && !GTK_IS_MENU( widget ) ) - { - widget = widget->parent; - } - - /* Maybe this one has the data */ - p_data = gtk_object_get_data( GTK_OBJECT( widget ), "p_intf" ); - if( p_data ) - { - return p_data; - } - - /* Otherwise, the parent widget has it */ - widget = gtk_menu_get_attach_widget( GTK_MENU( widget ) ); - } - - /* We look for the top widget */ - widget = gtk_widget_get_toplevel( GTK_WIDGET( widget ) ); - - p_data = gtk_object_get_data( GTK_OBJECT( widget ), "p_intf" ); - - return p_data; -} - -/***************************************************************************** - * Helper functions for URL changes in Media and Preferences notebook pages. - ****************************************************************************/ -void MediaURLOpenChanged( GtkWidget *widget, gchar *psz_url ) -{ - intf_thread_t *p_intf = GtkGetIntf( widget ); - playlist_t *p_playlist; - - // Add p_url to playlist .... but how ? - p_playlist = (playlist_t *) - vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ); - - if( p_playlist == NULL) - { - return; - } - - if( p_playlist ) - { - if (p_intf->p_sys->b_autoplayfile) - { - playlist_Add( p_playlist, (char*)psz_url, 0, 0, - PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END ); - } - else - { - playlist_Add( p_playlist, (char*)psz_url, 0, 0, - PLAYLIST_APPEND, PLAYLIST_END ); - } - vlc_object_release( p_playlist ); - FamiliarRebuildCList( p_intf->p_sys->p_clistplaylist, p_playlist); - } -} - -/***************************************************************** - * Read directory helper function. - ****************************************************************/ -void ReadDirectory( GtkCList *clist, char *psz_dir ) -{ - intf_thread_t *p_intf = GtkGetIntf( GTK_WIDGET(clist) ); - struct dirent **namelist; - int n=-1, status=-1; - - msg_Dbg(p_intf, "changing to dir %s", psz_dir); - if (psz_dir) - { - status = chdir(psz_dir); - if (status<0) - msg_Err( p_intf, "permision denied" ); - } - n = scandir(".", &namelist, 0, alphasort); - - if (n<0) - perror("scandir"); - else - { - int i, ctr=0; - gchar *ppsz_text[5]; - - msg_Dbg( p_intf, "updating interface" ); - gtk_clist_freeze( clist ); - gtk_clist_clear( clist ); - - /* XXX : kludge temporaire pour yopy */ - ppsz_text[0]=".."; - ppsz_text[1] = get_file_perm(".."); - ppsz_text[2] = ""; - ppsz_text[3] = ""; - ppsz_text[4] = ""; - gtk_clist_insert( GTK_CLIST(clist), ctr++, ppsz_text ); - /* /kludge */ - - for (i=0; i<n; i++) - { - if (namelist[i]->d_name[0] != '.') - { - /* This is a list of strings. */ - ppsz_text[0] = namelist[i]->d_name; - ppsz_text[1] = get_file_perm(namelist[i]->d_name); - ppsz_text[2] = ""; - ppsz_text[3] = ""; - ppsz_text[4] = ""; - // msg_Dbg(p_intf, "(%d) file: %s permission: %s", i, ppsz_text[0], ppsz_text[1] ); - gtk_clist_insert( GTK_CLIST(clist), ctr++, ppsz_text ); - } - } - gtk_clist_thaw( clist ); - free(namelist); - } - - /* now switch to the "file" tab */ - if (p_intf->p_sys->p_mediabook) - { - gtk_widget_show( GTK_WIDGET(p_intf->p_sys->p_mediabook) ); - gtk_notebook_set_page(p_intf->p_sys->p_mediabook,0); - } -} - -static char* get_file_perm(const char *path) -{ - struct stat st; - char *perm; - - perm = (char *) malloc(sizeof(char)*10); - strncpy( perm, "----------", sizeof("----------")); - if (lstat(path, &st)==0) - { - if (S_ISLNK(st.st_mode)) - perm[0]= 'l'; - else if (S_ISDIR(st.st_mode)) - perm[0]= 'd'; - else if (S_ISCHR(st.st_mode)) - perm[0]= 'c'; - else if (S_ISBLK(st.st_mode)) - perm[0]= 'b'; - else if (S_ISFIFO(st.st_mode)) - perm[0]= 'f'; - else if (S_ISSOCK(st.st_mode)) - perm[0]= 's'; - else if (S_ISREG(st.st_mode)) - perm[0]= '-'; - else /* Unknown type is an error */ - perm[0]= '?'; - /* Get file permissions */ - /* User */ - if (st.st_mode & S_IRUSR) - perm[1]= 'r'; - if (st.st_mode & S_IWUSR) - perm[2]= 'w'; - if (st.st_mode & S_IXUSR) - { - if (st.st_mode & S_ISUID) - perm[3] = 's'; - else - perm[3]= 'x'; - } - else if (st.st_mode & S_ISUID) - perm[3] = 'S'; - /* Group */ - if (st.st_mode & S_IRGRP) - perm[4]= 'r'; - if (st.st_mode & S_IWGRP) - perm[5]= 'w'; - if (st.st_mode & S_IXGRP) - { - if (st.st_mode & S_ISGID) - perm[6] = 's'; - else - perm[6]= 'x'; - } - else if (st.st_mode & S_ISGID) - perm[6] = 'S'; - /* Other */ - if (st.st_mode & S_IROTH) - perm[7]= 'r'; - if (st.st_mode & S_IWOTH) - perm[8]= 'w'; - if (st.st_mode & S_IXOTH) - { - // 'sticky' bit - if (st.st_mode &S_ISVTX) - perm[9] = 't'; - else - perm[9]= 'x'; - } - else if (st.st_mode &S_ISVTX) - perm[9]= 'T'; - } - return perm; -} - -/* - * Main interface callbacks - */ - -gboolean FamiliarExit( GtkWidget *widget, - gpointer user_data ) -{ - intf_thread_t *p_intf = GtkGetIntf( widget ); - - vlc_mutex_lock( &p_intf->change_lock ); - p_intf->p_vlc->b_die = VLC_TRUE; - vlc_mutex_unlock( &p_intf->change_lock ); - - return TRUE; -} - -void -on_toolbar_open_clicked (GtkButton *button, - gpointer user_data) -{ - intf_thread_t *p_intf = GtkGetIntf( GTK_WIDGET( button ) ); - - if (p_intf->p_sys->p_notebook) - { - gtk_widget_show( GTK_WIDGET(p_intf->p_sys->p_notebook) ); - gtk_notebook_set_page(p_intf->p_sys->p_notebook,0); - } - if (p_intf->p_sys->p_mediabook) - { - gtk_widget_show( GTK_WIDGET(p_intf->p_sys->p_mediabook) ); - gtk_notebook_set_page(p_intf->p_sys->p_mediabook,0); - } - gdk_window_raise( p_intf->p_sys->p_window->window ); - if (p_intf->p_sys->p_clist) - { - ReadDirectory(p_intf->p_sys->p_clist, "."); - } -} - - -void -on_toolbar_preferences_clicked (GtkButton *button, - gpointer user_data) -{ - intf_thread_t *p_intf = GtkGetIntf( GTK_WIDGET( button ) ); - - if (p_intf->p_sys->p_notebook) - { - gtk_widget_show( GTK_WIDGET(p_intf->p_sys->p_notebook) ); - gtk_notebook_set_page(p_intf->p_sys->p_notebook,2); - } - gdk_window_raise( p_intf->p_sys->p_window->window ); -} - - -void -on_toolbar_rewind_clicked (GtkButton *button, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( button ); - - if( p_intf->p_sys->p_input != NULL ) - { - input_SetStatus( p_intf->p_sys->p_input, INPUT_STATUS_SLOWER ); - } -} - - -void -on_toolbar_pause_clicked (GtkButton *button, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( button ); - - if( p_intf->p_sys->p_input != NULL ) - { - input_SetStatus( p_intf->p_sys->p_input, INPUT_STATUS_PAUSE ); - } -} - - -void -on_toolbar_play_clicked (GtkButton *button, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( GTK_WIDGET( button ) ); - playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ); - - if( p_playlist == NULL ) - { - /* Display open page */ - on_toolbar_open_clicked(button,user_data); - } - - /* If the playlist is empty, open a file requester instead */ - vlc_mutex_lock( &p_playlist->object_lock ); - if( p_playlist->i_size ) - { - vlc_mutex_unlock( &p_playlist->object_lock ); - playlist_Play( p_playlist ); - vlc_object_release( p_playlist ); - gdk_window_lower( p_intf->p_sys->p_window->window ); - } - else - { - vlc_mutex_unlock( &p_playlist->object_lock ); - vlc_object_release( p_playlist ); - /* Display open page */ - on_toolbar_open_clicked(button,user_data); - } -} - - -void -on_toolbar_stop_clicked (GtkButton *button, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( GTK_WIDGET( button ) ); - playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, - FIND_ANYWHERE ); - if( p_playlist) - { - playlist_Stop( p_playlist ); - vlc_object_release( p_playlist ); - gdk_window_raise( p_intf->p_sys->p_window->window ); - } -} - - -void -on_toolbar_forward_clicked (GtkButton *button, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( button ); - - if( p_intf->p_sys->p_input != NULL ) - { - input_SetStatus( p_intf->p_sys->p_input, INPUT_STATUS_FASTER ); - } -} - -void -on_toolbar_playlist_clicked (GtkButton *button, - gpointer user_data) -{ - intf_thread_t *p_intf = GtkGetIntf( GTK_WIDGET(button) ); - - // Toggle notebook - if (p_intf->p_sys->p_notebook) - { - gtk_widget_show( GTK_WIDGET(p_intf->p_sys->p_notebook) ); - gtk_notebook_set_page(p_intf->p_sys->p_notebook,1); - } - gdk_window_raise( p_intf->p_sys->p_window->window ); -} - - -void -on_toolbar_about_clicked (GtkButton *button, - gpointer user_data) -{ - intf_thread_t *p_intf = GtkGetIntf( GTK_WIDGET(button) ); - - // Toggle notebook - if (p_intf->p_sys->p_notebook) - { - gtk_widget_show( GTK_WIDGET(p_intf->p_sys->p_notebook) ); - gtk_notebook_set_page(p_intf->p_sys->p_notebook,3); - } - gdk_window_raise( p_intf->p_sys->p_window->window ); -} - - -void -on_comboURL_entry_changed (GtkEditable *editable, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( GTK_WIDGET(editable) ); - gchar * psz_url; - struct stat st; - - - psz_url = gtk_entry_get_text(GTK_ENTRY(editable)); -/* if( (strncmp("file://",(const char *) psz_url,7)==0) || - (strncmp("udp://",(const char *) psz_url,6)==0) || - (strncmp("udp4://",(const char *) psz_url,7)==0) || - (strncmp("udp6://",(const char *) psz_url,7)==0) || - (strncmp("udpstream://",(const char *) psz_url,12)==0) || - (strncmp("rtp://",(const char *) psz_url,6)==0) || - (strncmp("rtp4://",(const char *) psz_url,7)==0) || - (strncmp("rtp6://",(const char *) psz_url,7)==0) || - (strncmp("rtpstream://",(const char *) psz_url,12)==0) || - (strncmp("ftp://",(const char *) psz_url,6)==0) || - (strncmp("mms://",(const char *) psz_url,6)==0) || - (strncmp("http://",(const char *) psz_url,7)==0) ) - { - MediaURLOpenChanged(GTK_WIDGET(editable), psz_url); - } - else */ - if (stat((char*)psz_url, &st)==0) - { - if (S_ISDIR(st.st_mode)) - { - if (!p_intf->p_sys->p_clist) - msg_Err(p_intf, "p_clist pointer invalid!!" ); - ReadDirectory(p_intf->p_sys->p_clist, psz_url); - } - else if( (S_ISLNK(st.st_mode)) || (S_ISCHR(st.st_mode)) || - (S_ISBLK(st.st_mode)) || (S_ISFIFO(st.st_mode))|| - (S_ISSOCK(st.st_mode))|| (S_ISREG(st.st_mode)) ) - { - MediaURLOpenChanged(GTK_WIDGET(editable), psz_url); - } - } -} - - -void -on_clistmedia_click_column (GtkCList *clist, - gint column, - gpointer user_data) -{ - static GtkSortType sort_type = GTK_SORT_ASCENDING; - - // Should sort on column - switch(sort_type) - { - case GTK_SORT_ASCENDING: - sort_type = GTK_SORT_DESCENDING; - break; - case GTK_SORT_DESCENDING: - sort_type = GTK_SORT_ASCENDING; - break; - } - gtk_clist_freeze( clist ); - gtk_clist_set_sort_type( clist, sort_type ); - gtk_clist_sort( clist ); - gtk_clist_thaw( clist ); -} - - -void -on_clistmedia_select_row (GtkCList *clist, - gint row, - gint column, - GdkEvent *event, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( GTK_WIDGET(clist) ); - gchar *text[2]; - gint ret; - struct stat st; - - if (!p_intf->p_sys->p_clist) - msg_Err(p_intf, "p_clist pointer is invalid."); - ret = gtk_clist_get_text (p_intf->p_sys->p_clist, row, 0, text); - if (ret) - { - if (stat((char*)text[0], &st)==0) - { - if (S_ISDIR(st.st_mode)) - ReadDirectory(p_intf->p_sys->p_clist, text[0]); - else if( (S_ISLNK(st.st_mode)) || (S_ISCHR(st.st_mode)) || - (S_ISBLK(st.st_mode)) || (S_ISFIFO(st.st_mode))|| - (S_ISSOCK(st.st_mode))|| (S_ISREG(st.st_mode)) ) - { - MediaURLOpenChanged(GTK_WIDGET(p_intf->p_sys->p_clist), text[0]); - } - } - } -} - - -void -on_cbautoplay_toggled (GtkToggleButton *togglebutton, - gpointer user_data) -{ -} - - -gboolean -on_familiar_delete_event (GtkWidget *widget, - GdkEvent *event, - gpointer user_data) -{ - FamiliarExit( GTK_WIDGET( widget ), user_data ); - return TRUE; -} - -/* Slider Management */ - -gboolean -FamiliarSliderRelease (GtkWidget *widget, - GdkEventButton *event, - gpointer user_data) -{ - intf_thread_t *p_intf = GtkGetIntf( widget ); - - vlc_mutex_lock( &p_intf->change_lock ); - p_intf->p_sys->b_slider_free = 1; - vlc_mutex_unlock( &p_intf->change_lock ); - - return FALSE; -} - - -gboolean -FamiliarSliderPress (GtkWidget *widget, - GdkEventButton *event, - gpointer user_data) -{ - intf_thread_t *p_intf = GtkGetIntf( widget ); - - vlc_mutex_lock( &p_intf->change_lock ); - p_intf->p_sys->b_slider_free = 0; - vlc_mutex_unlock( &p_intf->change_lock ); - - return FALSE; -} - - - - -void -FamiliarMrlGo (GtkButton *button, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( button ); - - MediaURLOpenChanged( GTK_WIDGET( button ), - gtk_entry_get_text(p_intf->p_sys->p_mrlentry ) ); -} - - - -void -FamiliarPreferencesApply (GtkButton *button, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( GTK_WIDGET(button) ); - - GtkToggleButton * p_autopl_button = GTK_GET( TOGGLE_BUTTON, "cbautoplay" ); - if (gtk_toggle_button_get_active(p_autopl_button)) - { - p_intf->p_sys->b_autoplayfile = 1; - } - else - { - p_intf->p_sys->b_autoplayfile = 0; - } -} - diff --git a/modules/gui/familiar/callbacks.h b/modules/gui/familiar/callbacks.h deleted file mode 100644 index c33bf9cc2947..000000000000 --- a/modules/gui/familiar/callbacks.h +++ /dev/null @@ -1,116 +0,0 @@ -/***************************************************************************** - * callbacks.h : familiar plugin for vlc - ***************************************************************************** - * Copyright (C) 2002 VideoLAN - * $Id: callbacks.h,v 1.9 2003/03/13 15:50:17 marcari Exp $ - * - * Authors: Jean-Paul Saman <jpsaman@wxs.nl> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. - *****************************************************************************/ - -#include <gtk/gtk.h> - -#include "network.h" -#include "playlist.h" - -gboolean FamiliarExit ( GtkWidget *, gpointer ); - -void ReadDirectory(GtkCList *clist, char *psz_dir); -void MediaURLOpenChanged( GtkWidget *widget, gchar *psz_url ); - -void -on_toolbar_open_clicked (GtkButton *button, - gpointer user_data); - -void -on_toolbar_preferences_clicked (GtkButton *button, - gpointer user_data); - -void -on_toolbar_rewind_clicked (GtkButton *button, - gpointer user_data); - -void -on_toolbar_pause_clicked (GtkButton *button, - gpointer user_data); - -void -on_toolbar_play_clicked (GtkButton *button, - gpointer user_data); - -void -on_toolbar_stop_clicked (GtkButton *button, - gpointer user_data); - -void -on_toolbar_forward_clicked (GtkButton *button, - gpointer user_data); - -void -on_toolbar_about_clicked (GtkButton *button, - gpointer user_data); - -void -on_comboURL_entry_changed (GtkEditable *editable, - gpointer user_data); - - -void -on_clistmedia_click_column (GtkCList *clist, - gint column, - gpointer user_data); - -void -on_clistmedia_select_row (GtkCList *clist, - gint row, - gint column, - GdkEvent *event, - gpointer user_data); - -void -on_cbautoplay_toggled (GtkToggleButton *togglebutton, - gpointer user_data); - - -gboolean -on_familiar_delete_event (GtkWidget *widget, - GdkEvent *event, - gpointer user_data); - -gboolean -FamiliarSliderRelease (GtkWidget *widget, - GdkEventButton *event, - gpointer user_data); - -gboolean -FamiliarSliderPress (GtkWidget *widget, - GdkEventButton *event, - gpointer user_data); - - - - -void -FamiliarMrlGo (GtkButton *button, - gpointer user_data); - -void -on_toolbar_playlist_clicked (GtkButton *button, - gpointer user_data); - -void -FamiliarPreferencesApply (GtkButton *button, - gpointer user_data); diff --git a/modules/gui/familiar/familiar.c b/modules/gui/familiar/familiar.c deleted file mode 100644 index 3517680e04e3..000000000000 --- a/modules/gui/familiar/familiar.c +++ /dev/null @@ -1,539 +0,0 @@ -/***************************************************************************** - * familiar.c : familiar plugin for vlc - ***************************************************************************** - * Copyright (C) 2002 VideoLAN - * $Id: familiar.c,v 1.35 2003/05/15 22:27:37 massiot Exp $ - * - * Authors: Jean-Paul Saman <jpsaman@wxs.nl> - * Marc Ariberti <marcari@videolan.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. - *****************************************************************************/ - -/***************************************************************************** - * Preamble - *****************************************************************************/ -#include <stdlib.h> /* malloc(), free() */ -#include <errno.h> /* ENOMEM */ -#include <string.h> /* strerror() */ -#include <stdio.h> - -#include <vlc/vlc.h> -#include <vlc/intf.h> - -#include <gtk/gtk.h> - -#ifdef HAVE_GPE_INIT_H -#include <gpe/init.h> -#endif - -#include "callbacks.h" -#include "interface.h" -#include "support.h" -#include "familiar.h" - -/***************************************************************************** - * Local prototypes. - *****************************************************************************/ -static int Open ( vlc_object_t * ); -static void Close ( vlc_object_t * ); -static void Run ( intf_thread_t * ); - -void GtkAutoPlayFile ( vlc_object_t * ); -static int Manage ( intf_thread_t *p_intf ); -void E_(GtkDisplayDate) ( GtkAdjustment *p_adj ); -gint E_(GtkModeManage) ( intf_thread_t * p_intf ); - -/***************************************************************************** - * Module descriptor - *****************************************************************************/ -#define AUTOPLAYFILE_TEXT N_("Autoplay selected file") -#define AUTOPLAYFILE_LONGTEXT N_("Automatically play a file when selected in the "\ - "file selection list") - -/***************************************************************************** - * Module descriptor - *****************************************************************************/ -vlc_module_begin(); - add_category_hint( N_("Miscellaneous"), NULL, VLC_TRUE ); - add_bool( "familiar-autoplayfile", 1, GtkAutoPlayFile, AUTOPLAYFILE_TEXT, AUTOPLAYFILE_LONGTEXT, VLC_TRUE ); - set_description( _("Familiar Linux Gtk+ interface") ); - set_capability( "interface", 70 ); - set_callbacks( Open, Close ); -vlc_module_end(); - -/***************************************************************************** - * Open: initialize and create window - *****************************************************************************/ -static int Open( vlc_object_t *p_this ) -{ - intf_thread_t *p_intf = (intf_thread_t *)p_this; - - /* Allocate instance and initialize some members */ - p_intf->p_sys = malloc( sizeof( intf_sys_t ) ); - if( p_intf->p_sys == NULL ) - { - msg_Err( p_intf, "out of memory" ); - return VLC_ENOMEM; - } - -#ifdef NEED_GTK_MAIN - msg_Dbg( p_intf, "Using gui-helper" ); - p_intf->p_sys->p_gtk_main = module_Need( p_this, "gui-helper", "gtk" ); - if( p_intf->p_sys->p_gtk_main == NULL ) - { - free( p_intf->p_sys ); - return VLC_ENOMOD; - } -#endif - - /* Initialize Gtk+ thread */ - p_intf->p_sys->p_input = NULL; - - p_intf->p_sys->b_autoplayfile = 1; - p_intf->p_sys->b_playing = 0; - p_intf->p_sys->b_slider_free = 1; - - p_intf->pf_run = Run; - - return VLC_SUCCESS; -} - -/***************************************************************************** - * Close: destroy interface window - *****************************************************************************/ -static void Close( vlc_object_t *p_this ) -{ - intf_thread_t *p_intf = (intf_thread_t *)p_this; - - if( p_intf->p_sys->p_input ) - { - vlc_object_release( p_intf->p_sys->p_input ); - } - -#ifdef NEED_GTK_MAIN - msg_Dbg( p_intf, "Releasing gui-helper" ); - module_Unneed( p_intf, p_intf->p_sys->p_gtk_main ); -#endif - - /* Destroy structure */ - free( p_intf->p_sys ); -} - -/***************************************************************************** - * Run: Gtk+ thread - ***************************************************************************** - * this part of the interface is in a separate thread so that we can call - * gtk_main() from within it without annoying the rest of the program. - *****************************************************************************/ -static void Run( intf_thread_t *p_intf ) -{ -#ifndef NEED_GTK_MAIN - /* gtk_init needs to know the command line. We don't care, so we - * give it an empty one */ - char *p_args[] = { "", NULL }; - char **pp_args = p_args; - int i_args = 1; - int i_dummy; -#endif - -#ifdef HAVE_GPE_INIT_H - /* Initialize GPE interface */ - msg_Dbg( p_intf, "Starting familiar GPE interface" ); - if (gpe_application_init(&i_args, &pp_args) == FALSE) - exit (1); -#else - gtk_set_locale (); -# ifndef NEED_GTK_MAIN - msg_Dbg( p_intf, "Starting familiar GTK+ interface" ); - gtk_init( &i_args, &pp_args ); -# else - /* Initialize Gtk+ */ - msg_Dbg( p_intf, "Starting familiar GTK+ interface thread" ); - gdk_threads_enter(); -# endif -#endif - - /* Create some useful widgets that will certainly be used */ -// FIXME: magic path - add_pixmap_directory("share"); - add_pixmap_directory("/usr/share/vlc"); - - /* Path for pixmaps under linupy 1.4 */ - add_pixmap_directory("/usr/local/share/pixmaps/vlc"); - - /* Path for pixmaps under linupy 2.0 */ - add_pixmap_directory("/usr/share/pixmaps/vlc"); - - p_intf->p_sys->p_window = create_familiar(); - if (p_intf->p_sys->p_window == NULL) - { - msg_Err( p_intf, "unable to create familiar interface" ); - } - gtk_widget_set_usize(p_intf->p_sys->p_window, - gdk_screen_width() , gdk_screen_height() - 30 ); - - /* Set the title of the main window */ - gtk_window_set_title( GTK_WINDOW(p_intf->p_sys->p_window), - VOUT_TITLE " (Familiar Linux interface)"); - - p_intf->p_sys->p_notebook = GTK_NOTEBOOK( gtk_object_get_data( - GTK_OBJECT( p_intf->p_sys->p_window ), "notebook" ) ); - p_intf->p_sys->p_mediabook = GTK_NOTEBOOK( gtk_object_get_data( - GTK_OBJECT( p_intf->p_sys->p_window ), "mediabook" ) ); - - /* Get the slider object */ - p_intf->p_sys->p_slider = GTK_HSCALE( gtk_object_get_data( - GTK_OBJECT( p_intf->p_sys->p_window ), "slider" ) ); - p_intf->p_sys->p_slider_label = GTK_LABEL( gtk_object_get_data( - GTK_OBJECT( p_intf->p_sys->p_window ), "slider_label" ) ); - - /* Connect the date display to the slider */ -#define P_SLIDER GTK_RANGE( gtk_object_get_data( \ - GTK_OBJECT( p_intf->p_sys->p_window ), "slider" ) ) - p_intf->p_sys->p_adj = gtk_range_get_adjustment( P_SLIDER ); - - gtk_signal_connect ( GTK_OBJECT( p_intf->p_sys->p_adj ), "value_changed", - GTK_SIGNAL_FUNC( E_(GtkDisplayDate) ), NULL ); - p_intf->p_sys->f_adj_oldvalue = 0; - p_intf->p_sys->i_adj_oldvalue = 0; -#undef P_SLIDER - - p_intf->p_sys->p_clist = GTK_CLIST( gtk_object_get_data( - GTK_OBJECT( p_intf->p_sys->p_window ), "clistmedia" ) ); - gtk_clist_set_column_visibility (GTK_CLIST (p_intf->p_sys->p_clist), 2, FALSE); - gtk_clist_set_column_visibility (GTK_CLIST (p_intf->p_sys->p_clist), 3, FALSE); - gtk_clist_set_column_visibility (GTK_CLIST (p_intf->p_sys->p_clist), 4, FALSE); - gtk_clist_column_titles_show (GTK_CLIST (p_intf->p_sys->p_clist)); - - /* the playlist object */ - p_intf->p_sys->p_clistplaylist = GTK_CLIST( gtk_object_get_data( - GTK_OBJECT( p_intf->p_sys->p_window ), "clistplaylist" ) ); - - p_intf->p_sys->p_mrlentry = GTK_ENTRY( gtk_object_get_data( - GTK_OBJECT( p_intf->p_sys->p_window ), "mrl_entry" ) ); - - /* Store p_intf to keep an eye on it */ - gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_window), - "p_intf", p_intf ); - gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_adj), - "p_intf", p_intf ); - - /* Show the control window */ - gtk_widget_show( p_intf->p_sys->p_window ); - ReadDirectory(p_intf->p_sys->p_clist, "."); - - /* update the playlist */ - FamiliarRebuildCList( p_intf->p_sys->p_clistplaylist, - vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE )); - -#ifdef NEED_GTK_MAIN - msg_Dbg( p_intf, "Manage GTK keyboard events using threads" ); - while( !p_intf->b_die ) - { - Manage( p_intf ); - - /* Sleep to avoid using all CPU - since some interfaces need to - * access keyboard events, a 100ms delay is a good compromise */ - gdk_threads_leave(); - if (p_intf->p_libvlc->i_cpu & CPU_CAPABILITY_FPU) - msleep( INTF_IDLE_SLEEP ); - else - msleep( 1000 ); - gdk_threads_enter(); - } -#else - msg_Dbg( p_intf, "Manage GTK keyboard events using timeouts" ); - /* Sleep to avoid using all CPU - since some interfaces needs to access - * keyboard events, a 1000ms delay is a good compromise */ - if (p_intf->p_libvlc->i_cpu & CPU_CAPABILITY_FPU) - i_dummy = gtk_timeout_add( INTF_IDLE_SLEEP / 1000, (GtkFunction)Manage, p_intf ); - else - i_dummy = gtk_timeout_add( 1000, (GtkFunction)Manage, p_intf ); - - /* Enter Gtk mode */ - gtk_main(); - /* Remove the timeout */ - gtk_timeout_remove( i_dummy ); -#endif - - gtk_object_destroy( GTK_OBJECT(p_intf->p_sys->p_window) ); -#ifdef NEED_GTK_MAIN - gdk_threads_leave(); -#endif -} - -/***************************************************************************** - * GtkAutoplayFile: Autoplay file depending on configuration settings - *****************************************************************************/ -void GtkAutoPlayFile( vlc_object_t *p_this ) -{ - GtkWidget *cbautoplay; - intf_thread_t *p_intf; - int i_index; - vlc_list_t *p_list = vlc_list_find( p_this, VLC_OBJECT_INTF, - FIND_ANYWHERE ); - - for( i_index = 0; i_index < p_list->i_count; i_index++ ) - { - p_intf = (intf_thread_t *)p_list->p_values[i_index].p_object ; - - if( strcmp( MODULE_STRING, p_intf->p_module->psz_object_name ) ) - { - continue; - } - cbautoplay = GTK_WIDGET( gtk_object_get_data( - GTK_OBJECT( p_intf->p_sys->p_window ), - "cbautoplay" ) ); - - if( !config_GetInt( p_this, "familiar-autoplayfile" ) ) - { - p_intf->p_sys->b_autoplayfile = VLC_FALSE; - } - else - { - p_intf->p_sys->b_autoplayfile = VLC_TRUE; - } - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( cbautoplay ), - p_intf->p_sys->b_autoplayfile ); - } - vlc_list_release( p_list ); -} - -/* following functions are local */ - -/***************************************************************************** - * Manage: manage main thread messages - ***************************************************************************** - * In this function, called approx. 10 times a second, we check what the - * main program wanted to tell us. - *****************************************************************************/ -static int Manage( intf_thread_t *p_intf ) -{ - vlc_mutex_lock( &p_intf->change_lock ); - - /* Update the input */ - if( p_intf->p_sys->p_input == NULL ) - { - p_intf->p_sys->p_input = vlc_object_find( p_intf, VLC_OBJECT_INPUT, - FIND_ANYWHERE ); - } - else if( p_intf->p_sys->p_input->b_dead ) - { - vlc_object_release( p_intf->p_sys->p_input ); - p_intf->p_sys->p_input = NULL; - } - - if( p_intf->p_sys->p_input ) - { - input_thread_t *p_input = p_intf->p_sys->p_input; - - vlc_mutex_lock( &p_input->stream.stream_lock ); - if( !p_input->b_die ) - { - /* New input or stream map change */ - if( p_input->stream.b_changed ) - { - playlist_t *p_playlist; - - E_(GtkModeManage)( p_intf ); - p_intf->p_sys->b_playing = 1; - - /* update playlist interface */ - p_playlist = (playlist_t *) vlc_object_find( - p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ); - if (p_playlist != NULL) - { - FamiliarRebuildCList( p_intf->p_sys->p_clistplaylist, - p_playlist ); - } - } - - /* Manage the slider */ - if (p_intf->p_libvlc->i_cpu & CPU_CAPABILITY_FPU) - { - /* Manage the slider for CPU_CAPABILITY_FPU hardware */ - if( p_input->stream.b_seekable && p_intf->p_sys->b_playing ) - { - float newvalue = p_intf->p_sys->p_adj->value; - -#define p_area p_input->stream.p_selected_area - /* If the user hasn't touched the slider since the last time, - * then the input can safely change it */ - if( newvalue == p_intf->p_sys->f_adj_oldvalue ) - { - /* Update the value */ - p_intf->p_sys->p_adj->value = - p_intf->p_sys->f_adj_oldvalue = - ( 100. * p_area->i_tell ) / p_area->i_size; - gtk_signal_emit_by_name( GTK_OBJECT( p_intf->p_sys->p_adj ), - "value_changed" ); - } - /* Otherwise, send message to the input if the user has - * finished dragging the slider */ - else if( p_intf->p_sys->b_slider_free ) - { - off_t i_seek = ( newvalue * p_area->i_size ) / 100; - - /* release the lock to be able to seek */ - vlc_mutex_unlock( &p_input->stream.stream_lock ); - input_Seek( p_input, i_seek, INPUT_SEEK_SET ); - vlc_mutex_lock( &p_input->stream.stream_lock ); - - /* Update the old value */ - p_intf->p_sys->f_adj_oldvalue = newvalue; - } -#undef p_area - } - } - else - { - /* Manage the slider without CPU_CAPABILITY_FPU hardware */ - if( p_input->stream.b_seekable && p_intf->p_sys->b_playing ) - { - off_t newvalue = p_intf->p_sys->p_adj->value; - -#define p_area p_input->stream.p_selected_area - /* If the user hasn't touched the slider since the last time, - * then the input can safely change it */ - if( newvalue == p_intf->p_sys->i_adj_oldvalue ) - { - /* Update the value */ - p_intf->p_sys->p_adj->value = - p_intf->p_sys->i_adj_oldvalue = - ( 100 * p_area->i_tell ) / p_area->i_size; - gtk_signal_emit_by_name( GTK_OBJECT( p_intf->p_sys->p_adj ), - "value_changed" ); - } - /* Otherwise, send message to the input if the user has - * finished dragging the slider */ - else if( p_intf->p_sys->b_slider_free ) - { - off_t i_seek = ( newvalue * p_area->i_size ) / 100; - - /* release the lock to be able to seek */ - vlc_mutex_unlock( &p_input->stream.stream_lock ); - input_Seek( p_input, i_seek, INPUT_SEEK_SET ); - vlc_mutex_lock( &p_input->stream.stream_lock ); - - /* Update the old value */ - p_intf->p_sys->i_adj_oldvalue = newvalue; - } -#undef p_area - } - } - } - vlc_mutex_unlock( &p_input->stream.stream_lock ); - } - else if( p_intf->p_sys->b_playing && !p_intf->b_die ) - { - E_(GtkModeManage)( p_intf ); - p_intf->p_sys->b_playing = 0; - } - -#ifndef NEED_GTK_MAIN - if( p_intf->b_die ) - { - vlc_mutex_unlock( &p_intf->change_lock ); - - /* Prepare to die, young Skywalker */ - gtk_main_quit(); - - return FALSE; - } -#endif - - vlc_mutex_unlock( &p_intf->change_lock ); - - return TRUE; -} - -/***************************************************************************** - * GtkDisplayDate: display stream date - ***************************************************************************** - * This function displays the current date related to the position in - * the stream. It is called whenever the slider changes its value. - * The lock has to be taken before you call the function. - *****************************************************************************/ -void E_(GtkDisplayDate)( GtkAdjustment *p_adj ) -{ - intf_thread_t *p_intf; - - p_intf = gtk_object_get_data( GTK_OBJECT( p_adj ), "p_intf" ); - - if( p_intf->p_sys->p_input ) - { -#define p_area p_intf->p_sys->p_input->stream.p_selected_area - char psz_time[ OFFSETTOTIME_MAX_SIZE ]; - - gtk_label_set_text( GTK_LABEL( p_intf->p_sys->p_slider_label ), - input_OffsetToTime( p_intf->p_sys->p_input, psz_time, - ( p_area->i_size * p_adj->value ) / 100 ) ); -#undef p_area - } -} - -/***************************************************************************** - * GtkModeManage: actualize the aspect of the interface whenever the input - * changes. - ***************************************************************************** - * The lock has to be taken before you call the function. - *****************************************************************************/ -gint E_(GtkModeManage)( intf_thread_t * p_intf ) -{ - GtkWidget * p_slider; - vlc_bool_t b_control; - -#define GETWIDGET( ptr, name ) GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( \ - p_intf->p_sys->ptr ) , ( name ) ) ) - /* hide slider */ - p_slider = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( - p_intf->p_sys->p_window ), "slider" ) ); - gtk_widget_hide( GTK_WIDGET( p_slider ) ); - - /* controls unavailable */ - b_control = 0; - - /* show the box related to current input mode */ - if( p_intf->p_sys->p_input ) - { - /* initialize and show slider for seekable streams */ - if( p_intf->p_sys->p_input->stream.b_seekable ) - { - if (p_intf->p_libvlc->i_cpu & CPU_CAPABILITY_FPU) - p_intf->p_sys->p_adj->value = p_intf->p_sys->f_adj_oldvalue = 0; - else - p_intf->p_sys->p_adj->value = p_intf->p_sys->i_adj_oldvalue = 0; - gtk_signal_emit_by_name( GTK_OBJECT( p_intf->p_sys->p_adj ), - "value_changed" ); - gtk_widget_show( GTK_WIDGET( p_slider ) ); - } - - /* control buttons for free pace streams */ - b_control = p_intf->p_sys->p_input->stream.b_pace_control; - - p_intf->p_sys->p_input->stream.b_changed = 0; - msg_Dbg( p_intf, "stream has changed, refreshing interface" ); - } - - /* set control items */ - gtk_widget_set_sensitive( GETWIDGET(p_window, "toolbar_rewind"), b_control ); - gtk_widget_set_sensitive( GETWIDGET(p_window, "toolbar_pause"), b_control ); - gtk_widget_set_sensitive( GETWIDGET(p_window, "toolbar_forward"), b_control ); - -#undef GETWIDGET - return TRUE; -} - diff --git a/modules/gui/familiar/familiar.glade b/modules/gui/familiar/familiar.glade deleted file mode 100644 index f6b6c5726616..000000000000 --- a/modules/gui/familiar/familiar.glade +++ /dev/null @@ -1,1118 +0,0 @@ -<?xml version="1.0"?> -<GTK-Interface> - -<project> - <name>Familiar</name> - <program_name>familiar</program_name> - <directory></directory> - <source_directory></source_directory> - <pixmaps_directory>../../../share</pixmaps_directory> - <language>C</language> - <gnome_support>False</gnome_support> - <gettext_support>True</gettext_support> - <use_widget_names>True</use_widget_names> - <output_main_file>False</output_main_file> - <output_build_files>False</output_build_files> -</project> - -<widget> - <class>GtkWindow</class> - <name>familiar</name> - <signal> - <name>delete_event</name> - <handler>on_familiar_delete_event</handler> - <last_modification_time>Wed, 21 Aug 2002 19:12:40 GMT</last_modification_time> - </signal> - <title>VLC media player</title> - <type>GTK_WINDOW_TOPLEVEL</type> - <position>GTK_WIN_POS_NONE</position> - <modal>False</modal> - <allow_shrink>True</allow_shrink> - <allow_grow>True</allow_grow> - <auto_shrink>True</auto_shrink> - - <widget> - <class>GtkVBox</class> - <name>vbox</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - - <widget> - <class>GtkToolbar</class> - <name>toolbar</name> - <width>240</width> - <height>12</height> - <orientation>GTK_ORIENTATION_HORIZONTAL</orientation> - <type>GTK_TOOLBAR_ICONS</type> - <space_size>5</space_size> - <space_style>GTK_TOOLBAR_SPACE_EMPTY</space_style> - <relief>GTK_RELIEF_NORMAL</relief> - <tooltips>True</tooltips> - <child> - <padding>5</padding> - <expand>False</expand> - <fill>False</fill> - </child> - - <widget> - <class>GtkButton</class> - <child_name>Toolbar:button</child_name> - <name>toolbar_open</name> - <tooltip>Open file</tooltip> - <signal> - <name>clicked</name> - <handler>on_toolbar_open_clicked</handler> - <last_modification_time>Wed, 24 Jul 2002 18:28:31 GMT</last_modification_time> - </signal> - <label></label> - <icon>familiar-openb16x16.xpm</icon> - </widget> - - <widget> - <class>GtkButton</class> - <child_name>Toolbar:button</child_name> - <name>toolbar_playlist</name> - <signal> - <name>clicked</name> - <handler>on_toolbar_playlist_clicked</handler> - <last_modification_time>Wed, 05 Mar 2003 22:04:46 GMT</last_modification_time> - </signal> - <label></label> - <icon>familiar-playlistb16x16.xpm</icon> - </widget> - - <widget> - <class>GtkButton</class> - <child_name>Toolbar:button</child_name> - <name>toolbar_preferences</name> - <tooltip>Preferences</tooltip> - <signal> - <name>clicked</name> - <handler>on_toolbar_preferences_clicked</handler> - <last_modification_time>Wed, 24 Jul 2002 18:29:05 GMT</last_modification_time> - </signal> - <label>Preferences</label> - <icon>familiar-preferencesb16x16.xpm</icon> - </widget> - - <widget> - <class>GtkButton</class> - <child_name>Toolbar:button</child_name> - <name>toolbar_rewind</name> - <tooltip>Rewind stream</tooltip> - <signal> - <name>clicked</name> - <handler>on_toolbar_rewind_clicked</handler> - <last_modification_time>Wed, 24 Jul 2002 18:28:45 GMT</last_modification_time> - </signal> - <label>Rewind</label> - <icon>familiar-rewindb16x16.xpm</icon> - <child> - <new_group>True</new_group> - </child> - </widget> - - <widget> - <class>GtkButton</class> - <child_name>Toolbar:button</child_name> - <name>toolbar_pause</name> - <tooltip>Pause stream</tooltip> - <signal> - <name>clicked</name> - <handler>on_toolbar_pause_clicked</handler> - <last_modification_time>Wed, 24 Jul 2002 18:28:58 GMT</last_modification_time> - </signal> - <label>Pause</label> - <icon>familiar-pauseb16x16.xpm</icon> - </widget> - - <widget> - <class>GtkButton</class> - <child_name>Toolbar:button</child_name> - <name>toolbar_play</name> - <tooltip>Play stream</tooltip> - <signal> - <name>clicked</name> - <handler>on_toolbar_play_clicked</handler> - <last_modification_time>Wed, 24 Jul 2002 18:29:12 GMT</last_modification_time> - </signal> - <label>Play</label> - <icon>familiar-playb16x16.xpm</icon> - </widget> - - <widget> - <class>GtkButton</class> - <child_name>Toolbar:button</child_name> - <name>toolbar_stop</name> - <tooltip>Stop stream</tooltip> - <signal> - <name>clicked</name> - <handler>on_toolbar_stop_clicked</handler> - <last_modification_time>Wed, 24 Jul 2002 18:29:18 GMT</last_modification_time> - </signal> - <label>Stop</label> - <icon>familiar-stopb16x16.xpm</icon> - </widget> - - <widget> - <class>GtkButton</class> - <child_name>Toolbar:button</child_name> - <name>toolbar_forward</name> - <tooltip>Forward stream</tooltip> - <signal> - <name>clicked</name> - <handler>on_toolbar_forward_clicked</handler> - <last_modification_time>Wed, 24 Jul 2002 18:29:25 GMT</last_modification_time> - </signal> - <label>Forward</label> - <icon>familiar-forwardb16x16.xpm</icon> - </widget> - - <widget> - <class>GtkButton</class> - <child_name>Toolbar:button</child_name> - <name>toolbar_about</name> - <tooltip>About</tooltip> - <signal> - <name>clicked</name> - <handler>on_toolbar_about_clicked</handler> - <last_modification_time>Wed, 24 Jul 2002 18:29:31 GMT</last_modification_time> - </signal> - <label>About</label> - <icon>vlc16x16.xpm</icon> - <child> - <new_group>True</new_group> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>slider_label</name> - <label>0:00:00</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <new_group>True</new_group> - </child> - </widget> - </widget> - - <widget> - <class>GtkHScale</class> - <name>slider</name> - <can_focus>True</can_focus> - <signal> - <name>button_release_event</name> - <handler>FamiliarSliderRelease</handler> - <last_modification_time>Fri, 03 Jan 2003 12:33:38 GMT</last_modification_time> - </signal> - <signal> - <name>button_press_event</name> - <handler>FamiliarSliderPress</handler> - <last_modification_time>Fri, 03 Jan 2003 12:33:54 GMT</last_modification_time> - </signal> - <draw_value>False</draw_value> - <value_pos>GTK_POS_RIGHT</value_pos> - <digits>3</digits> - <policy>GTK_UPDATE_CONTINUOUS</policy> - <value>0</value> - <lower>0</lower> - <upper>100</upper> - <step>1</step> - <page>6.25</page> - <page_size>0</page_size> - <child> - <padding>4</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkNotebook</class> - <name>notebook</name> - <can_focus>True</can_focus> - <show_tabs>True</show_tabs> - <show_border>True</show_border> - <tab_pos>GTK_POS_TOP</tab_pos> - <scrollable>False</scrollable> - <tab_hborder>2</tab_hborder> - <tab_vborder>2</tab_vborder> - <popup_enable>False</popup_enable> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - <pack>GTK_PACK_END</pack> - </child> - - <widget> - <class>GtkVBox</class> - <name>vbox1</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - - <widget> - <class>GtkHBox</class> - <name>hbox1</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkButton</class> - <name>buttonMrlGo</name> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>FamiliarMrlGo</handler> - <last_modification_time>Wed, 05 Mar 2003 21:47:31 GMT</last_modification_time> - </signal> - <label>Add</label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>labelUrl</name> - <label>MRL :</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <padding>2</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkCombo</class> - <name>mrl_combo</name> - <value_in_list>False</value_in_list> - <ok_if_empty>True</ok_if_empty> - <case_sensitive>False</case_sensitive> - <use_arrows>True</use_arrows> - <use_arrows_always>False</use_arrows_always> - <items>file:// -ftp:// -http:// -udp://@:1234 -udp6://@:1234 -rtp:// -rtp6:// -</items> - <child> - <padding>3</padding> - <expand>True</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GtkCombo:entry</child_name> - <name>mrl_entry</name> - <can_focus>True</can_focus> - <signal> - <name>changed</name> - <handler>on_comboURL-entry_changed</handler> - <last_modification_time>Sun, 09 Feb 2003 13:32:46 GMT</last_modification_time> - </signal> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text>file://</text> - </widget> - </widget> - </widget> - - <widget> - <class>GtkNotebook</class> - <name>mediabook</name> - <can_focus>True</can_focus> - <show_tabs>True</show_tabs> - <show_border>True</show_border> - <tab_pos>GTK_POS_TOP</tab_pos> - <scrollable>False</scrollable> - <tab_hborder>2</tab_hborder> - <tab_vborder>2</tab_vborder> - <popup_enable>False</popup_enable> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkScrolledWindow</class> - <name>scrolledwindow4</name> - <hscrollbar_policy>GTK_POLICY_AUTOMATIC</hscrollbar_policy> - <vscrollbar_policy>GTK_POLICY_AUTOMATIC</vscrollbar_policy> - <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> - <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> - - <widget> - <class>GtkViewport</class> - <name>viewport2</name> - <shadow_type>GTK_SHADOW_IN</shadow_type> - - <widget> - <class>GtkCList</class> - <name>clistmedia</name> - <can_focus>True</can_focus> - <signal> - <name>select_row</name> - <handler>on_clistmedia_select_row</handler> - <last_modification_time>Sun, 09 Feb 2003 13:33:18 GMT</last_modification_time> - </signal> - <signal> - <name>click_column</name> - <handler>on_clistmedia_click_column</handler> - <last_modification_time>Sun, 09 Feb 2003 13:33:22 GMT</last_modification_time> - </signal> - <columns>2</columns> - <column_widths>129,80</column_widths> - <selection_mode>GTK_SELECTION_SINGLE</selection_mode> - <show_titles>True</show_titles> - <shadow_type>GTK_SHADOW_IN</shadow_type> - - <widget> - <class>GtkLabel</class> - <child_name>CList:title</child_name> - <name>labelname</name> - <label>Name</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>CList:title</child_name> - <name>labeltype</name> - <label>Type</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - </widget> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>label13</name> - <label>File</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkVBox</class> - <name>vbox3</name> - <homogeneous>False</homogeneous> - <spacing>2</spacing> - - <widget> - <class>GtkRadioButton</class> - <name>network_multicast</name> - <can_focus>True</can_focus> - <signal> - <name>toggled</name> - <handler>on_network_multicast_toggled</handler> - <last_modification_time>Sat, 01 Mar 2003 21:44:26 GMT</last_modification_time> - </signal> - <label>UDP/RTP (Adress when Multicast)</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <group>network</group> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkTable</class> - <name>table1</name> - <rows>2</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>0</row_spacing> - <column_spacing>5</column_spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkLabel</class> - <name>label21</name> - <label>Address</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label22</name> - <label>Port</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>network_multicast_port</name> - <can_focus>True</can_focus> - <signal> - <name>changed</name> - <handler>on_network_multicast_port_changed</handler> - <last_modification_time>Sat, 01 Mar 2003 21:45:26 GMT</last_modification_time> - </signal> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>1234</value> - <lower>1</lower> - <upper>65536</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCombo</class> - <name>combo2</name> - <value_in_list>False</value_in_list> - <ok_if_empty>True</ok_if_empty> - <case_sensitive>False</case_sensitive> - <use_arrows>True</use_arrows> - <use_arrows_always>False</use_arrows_always> - <items></items> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - - <widget> - <class>GtkEntry</class> - <child_name>GtkCombo:entry</child_name> - <name>network_multicast_address</name> - <can_focus>True</can_focus> - <signal> - <name>changed</name> - <handler>on_network_multicast_address_changed</handler> - <last_modification_time>Sat, 01 Mar 2003 21:45:32 GMT</last_modification_time> - </signal> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - </widget> - </widget> - </widget> - - <widget> - <class>GtkHSeparator</class> - <name>hseparator10</name> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkHBox</class> - <name>hbox9</name> - <homogeneous>True</homogeneous> - <spacing>0</spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkRadioButton</class> - <name>network_http</name> - <sensitive>False</sensitive> - <can_focus>True</can_focus> - <signal> - <name>toggled</name> - <handler>on_network_http_toggled</handler> - <last_modification_time>Sat, 01 Mar 2003 21:45:55 GMT</last_modification_time> - </signal> - <label>HTTP</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <group>network</group> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkRadioButton</class> - <name>network_ftp</name> - <sensitive>False</sensitive> - <can_focus>True</can_focus> - <signal> - <name>toggled</name> - <handler>on_network_ftp_toggled</handler> - <last_modification_time>Sat, 01 Mar 2003 21:46:07 GMT</last_modification_time> - </signal> - <label>FTP</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <group>network</group> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkRadioButton</class> - <name>network_mms</name> - <sensitive>False</sensitive> - <can_focus>True</can_focus> - <signal> - <name>toggled</name> - <handler>on_network_mms_toggled</handler> - <last_modification_time>Sat, 01 Mar 2003 21:46:17 GMT</last_modification_time> - </signal> - <label>MMS</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <group>network</group> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - </widget> - </widget> - - <widget> - <class>GtkHSeparator</class> - <name>hseparator11</name> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>Placeholder</class> - </widget> - - <widget> - <class>Placeholder</class> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>label20</name> - <label>Network</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>media2</name> - <label>Media</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkVBox</class> - <name>vbox4</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - - <widget> - <class>GtkScrolledWindow</class> - <name>scrolledwindow5</name> - <hscrollbar_policy>GTK_POLICY_AUTOMATIC</hscrollbar_policy> - <vscrollbar_policy>GTK_POLICY_AUTOMATIC</vscrollbar_policy> - <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> - <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkCList</class> - <name>clistplaylist</name> - <can_focus>True</can_focus> - <signal> - <name>event</name> - <handler>FamiliarPlaylistEvent</handler> - <last_modification_time>Tue, 04 Mar 2003 21:47:16 GMT</last_modification_time> - </signal> - <columns>2</columns> - <column_widths>140,80</column_widths> - <selection_mode>GTK_SELECTION_SINGLE</selection_mode> - <show_titles>True</show_titles> - <shadow_type>GTK_SHADOW_IN</shadow_type> - - <widget> - <class>GtkLabel</class> - <child_name>CList:title</child_name> - <name>label25</name> - <label>MRL</label> - <justify>GTK_JUSTIFY_LEFT</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>CList:title</child_name> - <name>label26</name> - <label>Time</label> - <justify>GTK_JUSTIFY_RIGHT</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - </widget> - </widget> - - <widget> - <class>GtkHBox</class> - <name>hbox11</name> - <homogeneous>True</homogeneous> - <spacing>0</spacing> - <child> - <padding>2</padding> - <expand>False</expand> - <fill>False</fill> - </child> - - <widget> - <class>GtkButton</class> - <name>update_playlist</name> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>FamiliarPlaylistUpdate</handler> - <last_modification_time>Wed, 05 Mar 2003 16:52:19 GMT</last_modification_time> - </signal> - <label>Update</label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkButton</class> - <name>playlist_del</name> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>FamiliarPlaylistDel</handler> - <last_modification_time>Wed, 05 Mar 2003 16:44:52 GMT</last_modification_time> - </signal> - <label> Del </label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>5</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkButton</class> - <name>playlist_clear</name> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>FamiliarPlaylistClear</handler> - <last_modification_time>Wed, 05 Mar 2003 16:26:29 GMT</last_modification_time> - </signal> - <label> Clear </label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>5</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>playlist</name> - <label>Playlist</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkVBox</class> - <name>vbox2</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - - <widget> - <class>GtkCheckButton</class> - <name>cbautoplay</name> - <can_focus>True</can_focus> - <signal> - <name>toggled</name> - <handler>on_cbautoplay_toggled</handler> - <last_modification_time>Sun, 09 Feb 2003 22:37:17 GMT</last_modification_time> - </signal> - <label>Automatically play file</label> - <active>True</active> - <draw_indicator>True</draw_indicator> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>Placeholder</class> - </widget> - - <widget> - <class>GtkHBox</class> - <name>hbox2</name> - <homogeneous>True</homogeneous> - <spacing>0</spacing> - <child> - <padding>2</padding> - <expand>False</expand> - <fill>False</fill> - <pack>GTK_PACK_END</pack> - </child> - - <widget> - <class>GtkButton</class> - <name>buttonSave</name> - <can_focus>True</can_focus> - <label> Save </label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkButton</class> - <name>buttonApply</name> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>FamiliarPreferencesApply</handler> - <last_modification_time>Thu, 13 Mar 2003 15:03:49 GMT</last_modification_time> - </signal> - <label> Apply </label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>Placeholder</class> - </widget> - - <widget> - <class>GtkButton</class> - <name>buttonCancel</name> - <can_focus>True</can_focus> - <label> Cancel </label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - <pack>GTK_PACK_END</pack> - </child> - </widget> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>preferences</name> - <label>Preference</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkScrolledWindow</class> - <name>scrolledwindow3</name> - <hscrollbar_policy>GTK_POLICY_AUTOMATIC</hscrollbar_policy> - <vscrollbar_policy>GTK_POLICY_AUTOMATIC</vscrollbar_policy> - <hupdate_policy>GTK_UPDATE_CONTINUOUS</hupdate_policy> - <vupdate_policy>GTK_UPDATE_CONTINUOUS</vupdate_policy> - - <widget> - <class>GtkViewport</class> - <name>viewport1</name> - <shadow_type>GTK_SHADOW_NONE</shadow_type> - - <widget> - <class>GtkFixed</class> - <name>fixed2</name> - - <widget> - <class>GtkPixmap</class> - <name>pixmap2</name> - <x>8</x> - <y>0</y> - <width>50</width> - <height>50</height> - <filename>vlc32x32.xpm</filename> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <build_insensitive>True</build_insensitive> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label8</name> - <x>16</x> - <y>56</y> - <width>200</width> - <height>18</height> - <label>(c) 1996-2003 the VideoLAN team</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label9</name> - <x>16</x> - <y>80</y> - <width>200</width> - <height>40</height> - <label>Authors: The VideoLAN Team, http://www.videolan.org</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>True</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label11</name> - <x>64</x> - <y>8</y> - <width>120</width> - <height>40</height> - <label>VLC media player</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>True</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label27</name> - <x>16</x> - <y>200</y> - <width>208</width> - <height>16</height> - <label>http://www.videolan.org</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label10</name> - <x>16</x> - <y>128</y> - <width>200</width> - <height>70</height> - <label>The VideoLAN Client is a MPEG, MPEG 2, MP3, DivX player, that accepts input from local or network sources.</label> - <justify>GTK_JUSTIFY_LEFT</justify> - <wrap>True</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - </widget> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>about</name> - <label>About</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - </widget> - </widget> -</widget> - -</GTK-Interface> diff --git a/modules/gui/familiar/familiar.h b/modules/gui/familiar/familiar.h deleted file mode 100644 index c09323f7ce2e..000000000000 --- a/modules/gui/familiar/familiar.h +++ /dev/null @@ -1,69 +0,0 @@ -/***************************************************************************** - * familiar.h: private Gtk+ interface description - ***************************************************************************** - * Copyright (C) 1999, 2000 VideoLAN - * $Id: familiar.h,v 1.13 2003/03/13 15:50:17 marcari Exp $ - * - * Authors: Jean-Paul Saman <jpsaman@wxs.nl> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. - *****************************************************************************/ - -#define MAX_ATEXIT 10 - -/***************************************************************************** - * intf_sys_t: description and status of Gtk+ interface - *****************************************************************************/ -struct intf_sys_t -{ - /* The gtk_main module */ - module_t * p_gtk_main; - - /* windows and widgets */ - GtkWidget * p_window; /* main window */ - GtkEntry * p_mrlentry; - GtkNotebook * p_notebook; - GtkNotebook * p_mediabook; - GtkHScale * p_slider; - GtkCList * p_clist; - GtkCList * p_clistplaylist; - - /* slider */ - GtkLabel * p_slider_label; - GtkAdjustment * p_adj; /* slider adjustment object */ - off_t i_adj_oldvalue; /* previous value -no FPU hardware */ - float f_adj_oldvalue; /* previous value -with FPU hardware*/ - - /* special actions */ - vlc_bool_t b_playing; - vlc_bool_t b_window_changed; /* window display toggled ? */ - vlc_bool_t b_slider_free; /* slider status */ - - /* Preference settings */ - vlc_bool_t b_autoplayfile; - - /* The input thread */ - input_thread_t * p_input; -}; - -/***************************************************************************** - * Useful macro - ****************************************************************************/ -#define GTK_GET( type, nom ) GTK_##type( gtk_object_get_data( \ - GTK_OBJECT( p_intf->p_sys->p_window ), nom ) ) - - -#define GtkGetIntf( widget ) E_(__GtkGetIntf)( GTK_WIDGET( widget ) ) -void * E_(__GtkGetIntf)( GtkWidget * ); diff --git a/modules/gui/familiar/interface.c b/modules/gui/familiar/interface.c deleted file mode 100644 index 8cb9a8001a59..000000000000 --- a/modules/gui/familiar/interface.c +++ /dev/null @@ -1,860 +0,0 @@ -/* This file was created automatically by glade and fixed by bootstrap */ - -#include <vlc/vlc.h> - -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> -#include <string.h> - -#include <gdk/gdkkeysyms.h> -#include <gtk/gtk.h> - -#include "callbacks.h" -#include "interface.h" -#include "support.h" - -GtkWidget* -create_familiar (void) -{ - GtkWidget *familiar; - GtkWidget *vbox; - GtkWidget *toolbar; - GtkWidget *tmp_toolbar_icon; - GtkWidget *toolbar_open; - GtkWidget *toolbar_playlist; - GtkWidget *toolbar_preferences; - GtkWidget *toolbar_rewind; - GtkWidget *toolbar_pause; - GtkWidget *toolbar_play; - GtkWidget *toolbar_stop; - GtkWidget *toolbar_forward; - GtkWidget *toolbar_about; - GtkWidget *slider_label; - GtkWidget *slider; - GtkWidget *notebook; - GtkWidget *vbox1; - GtkWidget *hbox1; - GtkWidget *buttonMrlGo; - GtkWidget *labelUrl; - GtkWidget *mrl_combo; - GList *mrl_combo_items = NULL; - GtkWidget *mrl_entry; - GtkWidget *mediabook; - GtkWidget *scrolledwindow4; - GtkWidget *viewport2; - GtkWidget *clistmedia; - GtkWidget *labelname; - GtkWidget *labeltype; - GtkWidget *label13; - GtkWidget *vbox3; - GSList *network_group = NULL; - GtkWidget *network_multicast; - GtkWidget *table1; - GtkWidget *label21; - GtkWidget *label22; - GtkObject *network_multicast_port_adj; - GtkWidget *network_multicast_port; - GtkWidget *combo2; - GtkWidget *network_multicast_address; - GtkWidget *hseparator10; - GtkWidget *hbox9; - GtkWidget *network_http; - GtkWidget *network_ftp; - GtkWidget *network_mms; - GtkWidget *hseparator11; - GtkWidget *label20; - GtkWidget *media2; - GtkWidget *vbox4; - GtkWidget *scrolledwindow5; - GtkWidget *clistplaylist; - GtkWidget *label25; - GtkWidget *label26; - GtkWidget *hbox11; - GtkWidget *update_playlist; - GtkWidget *playlist_del; - GtkWidget *playlist_clear; - GtkWidget *playlist; - GtkWidget *vbox2; - GtkWidget *cbautoplay; - GtkWidget *hbox2; - GtkWidget *buttonSave; - GtkWidget *buttonApply; - GtkWidget *buttonCancel; - GtkWidget *preferences; - GtkWidget *scrolledwindow3; - GtkWidget *viewport1; - GtkWidget *fixed2; - GtkWidget *pixmap2; - GtkWidget *label8; - GtkWidget *label9; - GtkWidget *label11; - GtkWidget *label27; - GtkWidget *label10; - GtkWidget *about; - - familiar = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_widget_set_name (familiar, "familiar"); - gtk_object_set_data (GTK_OBJECT (familiar), "familiar", familiar); - gtk_window_set_title (GTK_WINDOW (familiar), _("VLC media player")); - gtk_window_set_policy (GTK_WINDOW (familiar), TRUE, TRUE, TRUE); - - vbox = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox, "vbox"); - gtk_widget_ref (vbox); - gtk_object_set_data_full (GTK_OBJECT (familiar), "vbox", vbox, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox); - gtk_container_add (GTK_CONTAINER (familiar), vbox); - - toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS); - gtk_widget_set_name (toolbar, "toolbar"); - gtk_widget_ref (toolbar); - gtk_object_set_data_full (GTK_OBJECT (familiar), "toolbar", toolbar, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (toolbar); - gtk_box_pack_start (GTK_BOX (vbox), toolbar, FALSE, FALSE, 5); - gtk_widget_set_usize (toolbar, 240, 12); - - tmp_toolbar_icon = create_pixmap (familiar, "familiar-openb16x16.xpm"); - toolbar_open = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), - GTK_TOOLBAR_CHILD_BUTTON, - NULL, - "", - _("Open file"), NULL, - tmp_toolbar_icon, NULL, NULL); - gtk_widget_set_name (toolbar_open, "toolbar_open"); - gtk_widget_ref (toolbar_open); - gtk_object_set_data_full (GTK_OBJECT (familiar), "toolbar_open", toolbar_open, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (toolbar_open); - - tmp_toolbar_icon = create_pixmap (familiar, "familiar-playlistb16x16.xpm"); - toolbar_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), - GTK_TOOLBAR_CHILD_BUTTON, - NULL, - "", - NULL, NULL, - tmp_toolbar_icon, NULL, NULL); - gtk_widget_set_name (toolbar_playlist, "toolbar_playlist"); - gtk_widget_ref (toolbar_playlist); - gtk_object_set_data_full (GTK_OBJECT (familiar), "toolbar_playlist", toolbar_playlist, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (toolbar_playlist); - - tmp_toolbar_icon = create_pixmap (familiar, "familiar-preferencesb16x16.xpm"); - toolbar_preferences = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), - GTK_TOOLBAR_CHILD_BUTTON, - NULL, - _("Preferences"), - _("Preferences"), NULL, - tmp_toolbar_icon, NULL, NULL); - gtk_widget_set_name (toolbar_preferences, "toolbar_preferences"); - gtk_widget_ref (toolbar_preferences); - gtk_object_set_data_full (GTK_OBJECT (familiar), "toolbar_preferences", toolbar_preferences, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (toolbar_preferences); - - gtk_toolbar_append_space (GTK_TOOLBAR (toolbar)); - - tmp_toolbar_icon = create_pixmap (familiar, "familiar-rewindb16x16.xpm"); - toolbar_rewind = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), - GTK_TOOLBAR_CHILD_BUTTON, - NULL, - _("Rewind"), - _("Rewind stream"), NULL, - tmp_toolbar_icon, NULL, NULL); - gtk_widget_set_name (toolbar_rewind, "toolbar_rewind"); - gtk_widget_ref (toolbar_rewind); - gtk_object_set_data_full (GTK_OBJECT (familiar), "toolbar_rewind", toolbar_rewind, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (toolbar_rewind); - - tmp_toolbar_icon = create_pixmap (familiar, "familiar-pauseb16x16.xpm"); - toolbar_pause = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), - GTK_TOOLBAR_CHILD_BUTTON, - NULL, - _("Pause"), - _("Pause stream"), NULL, - tmp_toolbar_icon, NULL, NULL); - gtk_widget_set_name (toolbar_pause, "toolbar_pause"); - gtk_widget_ref (toolbar_pause); - gtk_object_set_data_full (GTK_OBJECT (familiar), "toolbar_pause", toolbar_pause, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (toolbar_pause); - - tmp_toolbar_icon = create_pixmap (familiar, "familiar-playb16x16.xpm"); - toolbar_play = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), - GTK_TOOLBAR_CHILD_BUTTON, - NULL, - _("Play"), - _("Play stream"), NULL, - tmp_toolbar_icon, NULL, NULL); - gtk_widget_set_name (toolbar_play, "toolbar_play"); - gtk_widget_ref (toolbar_play); - gtk_object_set_data_full (GTK_OBJECT (familiar), "toolbar_play", toolbar_play, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (toolbar_play); - - tmp_toolbar_icon = create_pixmap (familiar, "familiar-stopb16x16.xpm"); - toolbar_stop = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), - GTK_TOOLBAR_CHILD_BUTTON, - NULL, - _("Stop"), - _("Stop stream"), NULL, - tmp_toolbar_icon, NULL, NULL); - gtk_widget_set_name (toolbar_stop, "toolbar_stop"); - gtk_widget_ref (toolbar_stop); - gtk_object_set_data_full (GTK_OBJECT (familiar), "toolbar_stop", toolbar_stop, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (toolbar_stop); - - tmp_toolbar_icon = create_pixmap (familiar, "familiar-forwardb16x16.xpm"); - toolbar_forward = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), - GTK_TOOLBAR_CHILD_BUTTON, - NULL, - _("Forward"), - _("Forward stream"), NULL, - tmp_toolbar_icon, NULL, NULL); - gtk_widget_set_name (toolbar_forward, "toolbar_forward"); - gtk_widget_ref (toolbar_forward); - gtk_object_set_data_full (GTK_OBJECT (familiar), "toolbar_forward", toolbar_forward, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (toolbar_forward); - - gtk_toolbar_append_space (GTK_TOOLBAR (toolbar)); - - tmp_toolbar_icon = create_pixmap (familiar, "vlc16x16.xpm"); - toolbar_about = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar), - GTK_TOOLBAR_CHILD_BUTTON, - NULL, - _("About"), - _("About"), NULL, - tmp_toolbar_icon, NULL, NULL); - gtk_widget_set_name (toolbar_about, "toolbar_about"); - gtk_widget_ref (toolbar_about); - gtk_object_set_data_full (GTK_OBJECT (familiar), "toolbar_about", toolbar_about, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (toolbar_about); - - slider_label = gtk_label_new ("0:00:00"); - gtk_widget_set_name (slider_label, "slider_label"); - gtk_widget_ref (slider_label); - gtk_object_set_data_full (GTK_OBJECT (familiar), "slider_label", slider_label, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (slider_label); - gtk_toolbar_append_space (GTK_TOOLBAR (toolbar)); - - gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar), slider_label, NULL, NULL); - - slider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 6.25, 0))); - gtk_widget_set_name (slider, "slider"); - gtk_widget_ref (slider); - gtk_object_set_data_full (GTK_OBJECT (familiar), "slider", slider, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (slider); - gtk_box_pack_start (GTK_BOX (vbox), slider, FALSE, FALSE, 4); - gtk_scale_set_draw_value (GTK_SCALE (slider), FALSE); - gtk_scale_set_value_pos (GTK_SCALE (slider), GTK_POS_RIGHT); - gtk_scale_set_digits (GTK_SCALE (slider), 3); - - notebook = gtk_notebook_new (); - gtk_widget_set_name (notebook, "notebook"); - gtk_widget_ref (notebook); - gtk_object_set_data_full (GTK_OBJECT (familiar), "notebook", notebook, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (notebook); - gtk_box_pack_end (GTK_BOX (vbox), notebook, TRUE, TRUE, 0); - - vbox1 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox1, "vbox1"); - gtk_widget_ref (vbox1); - gtk_object_set_data_full (GTK_OBJECT (familiar), "vbox1", vbox1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox1); - gtk_container_add (GTK_CONTAINER (notebook), vbox1); - - hbox1 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox1, "hbox1"); - gtk_widget_ref (hbox1); - gtk_object_set_data_full (GTK_OBJECT (familiar), "hbox1", hbox1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox1); - gtk_box_pack_start (GTK_BOX (vbox1), hbox1, FALSE, TRUE, 0); - - buttonMrlGo = gtk_button_new_with_label (_("Add")); - gtk_widget_set_name (buttonMrlGo, "buttonMrlGo"); - gtk_widget_ref (buttonMrlGo); - gtk_object_set_data_full (GTK_OBJECT (familiar), "buttonMrlGo", buttonMrlGo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (buttonMrlGo); - gtk_box_pack_start (GTK_BOX (hbox1), buttonMrlGo, FALSE, FALSE, 0); - - labelUrl = gtk_label_new (_("MRL :")); - gtk_widget_set_name (labelUrl, "labelUrl"); - gtk_widget_ref (labelUrl); - gtk_object_set_data_full (GTK_OBJECT (familiar), "labelUrl", labelUrl, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (labelUrl); - gtk_box_pack_start (GTK_BOX (hbox1), labelUrl, FALSE, FALSE, 2); - - mrl_combo = gtk_combo_new (); - gtk_widget_set_name (mrl_combo, "mrl_combo"); - gtk_widget_ref (mrl_combo); - gtk_object_set_data_full (GTK_OBJECT (familiar), "mrl_combo", mrl_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (mrl_combo); - gtk_box_pack_start (GTK_BOX (hbox1), mrl_combo, TRUE, TRUE, 3); - mrl_combo_items = g_list_append (mrl_combo_items, (gpointer) "file://"); - mrl_combo_items = g_list_append (mrl_combo_items, (gpointer) "ftp://"); - mrl_combo_items = g_list_append (mrl_combo_items, (gpointer) "http://"); - mrl_combo_items = g_list_append (mrl_combo_items, (gpointer) "udp://@:1234"); - mrl_combo_items = g_list_append (mrl_combo_items, (gpointer) "udp6://@:1234"); - mrl_combo_items = g_list_append (mrl_combo_items, (gpointer) "rtp://"); - mrl_combo_items = g_list_append (mrl_combo_items, (gpointer) "rtp6://"); - gtk_combo_set_popdown_strings (GTK_COMBO (mrl_combo), mrl_combo_items); - g_list_free (mrl_combo_items); - - mrl_entry = GTK_COMBO (mrl_combo)->entry; - gtk_widget_set_name (mrl_entry, "mrl_entry"); - gtk_widget_ref (mrl_entry); - gtk_object_set_data_full (GTK_OBJECT (familiar), "mrl_entry", mrl_entry, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (mrl_entry); - gtk_entry_set_text (GTK_ENTRY (mrl_entry), "file://"); - - mediabook = gtk_notebook_new (); - gtk_widget_set_name (mediabook, "mediabook"); - gtk_widget_ref (mediabook); - gtk_object_set_data_full (GTK_OBJECT (familiar), "mediabook", mediabook, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (mediabook); - gtk_box_pack_start (GTK_BOX (vbox1), mediabook, TRUE, TRUE, 0); - - scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_set_name (scrolledwindow4, "scrolledwindow4"); - gtk_widget_ref (scrolledwindow4); - gtk_object_set_data_full (GTK_OBJECT (familiar), "scrolledwindow4", scrolledwindow4, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (scrolledwindow4); - gtk_container_add (GTK_CONTAINER (mediabook), scrolledwindow4); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - viewport2 = gtk_viewport_new (NULL, NULL); - gtk_widget_set_name (viewport2, "viewport2"); - gtk_widget_ref (viewport2); - gtk_object_set_data_full (GTK_OBJECT (familiar), "viewport2", viewport2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (viewport2); - gtk_container_add (GTK_CONTAINER (scrolledwindow4), viewport2); - - clistmedia = gtk_clist_new (2); - gtk_widget_set_name (clistmedia, "clistmedia"); - gtk_widget_ref (clistmedia); - gtk_object_set_data_full (GTK_OBJECT (familiar), "clistmedia", clistmedia, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (clistmedia); - gtk_container_add (GTK_CONTAINER (viewport2), clistmedia); - gtk_clist_set_column_width (GTK_CLIST (clistmedia), 0, 129); - gtk_clist_set_column_width (GTK_CLIST (clistmedia), 1, 80); - gtk_clist_column_titles_show (GTK_CLIST (clistmedia)); - - labelname = gtk_label_new (_("Name")); - gtk_widget_set_name (labelname, "labelname"); - gtk_widget_ref (labelname); - gtk_object_set_data_full (GTK_OBJECT (familiar), "labelname", labelname, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (labelname); - gtk_clist_set_column_widget (GTK_CLIST (clistmedia), 0, labelname); - - labeltype = gtk_label_new (_("Type")); - gtk_widget_set_name (labeltype, "labeltype"); - gtk_widget_ref (labeltype); - gtk_object_set_data_full (GTK_OBJECT (familiar), "labeltype", labeltype, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (labeltype); - gtk_clist_set_column_widget (GTK_CLIST (clistmedia), 1, labeltype); - - label13 = gtk_label_new (_("File")); - gtk_widget_set_name (label13, "label13"); - gtk_widget_ref (label13); - gtk_object_set_data_full (GTK_OBJECT (familiar), "label13", label13, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label13); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (mediabook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (mediabook), 0), label13); - - vbox3 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (vbox3, "vbox3"); - gtk_widget_ref (vbox3); - gtk_object_set_data_full (GTK_OBJECT (familiar), "vbox3", vbox3, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox3); - gtk_container_add (GTK_CONTAINER (mediabook), vbox3); - - network_multicast = gtk_radio_button_new_with_label (network_group, _("UDP/RTP (Address when Multicast)")); - network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_multicast)); - gtk_widget_set_name (network_multicast, "network_multicast"); - gtk_widget_ref (network_multicast); - gtk_object_set_data_full (GTK_OBJECT (familiar), "network_multicast", network_multicast, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (network_multicast); - gtk_box_pack_start (GTK_BOX (vbox3), network_multicast, FALSE, FALSE, 0); - - table1 = gtk_table_new (2, 2, FALSE); - gtk_widget_set_name (table1, "table1"); - gtk_widget_ref (table1); - gtk_object_set_data_full (GTK_OBJECT (familiar), "table1", table1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (table1); - gtk_box_pack_start (GTK_BOX (vbox3), table1, FALSE, TRUE, 0); - gtk_table_set_col_spacings (GTK_TABLE (table1), 5); - - label21 = gtk_label_new (_("Address")); - gtk_widget_set_name (label21, "label21"); - gtk_widget_ref (label21); - gtk_object_set_data_full (GTK_OBJECT (familiar), "label21", label21, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label21); - gtk_table_attach (GTK_TABLE (table1), label21, 0, 1, 0, 1, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5); - - label22 = gtk_label_new (_("Port")); - gtk_widget_set_name (label22, "label22"); - gtk_widget_ref (label22); - gtk_object_set_data_full (GTK_OBJECT (familiar), "label22", label22, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label22); - gtk_table_attach (GTK_TABLE (table1), label22, 0, 1, 1, 2, - (GtkAttachOptions) (GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - gtk_misc_set_alignment (GTK_MISC (label22), 0, 0.5); - - network_multicast_port_adj = gtk_adjustment_new (1234, 1, 65536, 1, 10, 10); - network_multicast_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_multicast_port_adj), 1, 0); - gtk_widget_set_name (network_multicast_port, "network_multicast_port"); - gtk_widget_ref (network_multicast_port); - gtk_object_set_data_full (GTK_OBJECT (familiar), "network_multicast_port", network_multicast_port, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (network_multicast_port); - gtk_table_attach (GTK_TABLE (table1), network_multicast_port, 1, 2, 1, 2, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - combo2 = gtk_combo_new (); - gtk_widget_set_name (combo2, "combo2"); - gtk_widget_ref (combo2); - gtk_object_set_data_full (GTK_OBJECT (familiar), "combo2", combo2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (combo2); - gtk_table_attach (GTK_TABLE (table1), combo2, 1, 2, 0, 1, - (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), - (GtkAttachOptions) (0), 0, 0); - - network_multicast_address = GTK_COMBO (combo2)->entry; - gtk_widget_set_name (network_multicast_address, "network_multicast_address"); - gtk_widget_ref (network_multicast_address); - gtk_object_set_data_full (GTK_OBJECT (familiar), "network_multicast_address", network_multicast_address, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (network_multicast_address); - - hseparator10 = gtk_hseparator_new (); - gtk_widget_set_name (hseparator10, "hseparator10"); - gtk_widget_ref (hseparator10); - gtk_object_set_data_full (GTK_OBJECT (familiar), "hseparator10", hseparator10, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hseparator10); - gtk_box_pack_start (GTK_BOX (vbox3), hseparator10, FALSE, TRUE, 0); - - hbox9 = gtk_hbox_new (TRUE, 0); - gtk_widget_set_name (hbox9, "hbox9"); - gtk_widget_ref (hbox9); - gtk_object_set_data_full (GTK_OBJECT (familiar), "hbox9", hbox9, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox9); - gtk_box_pack_start (GTK_BOX (vbox3), hbox9, FALSE, TRUE, 0); - - network_http = gtk_radio_button_new_with_label (network_group, _("HTTP")); - network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_http)); - gtk_widget_set_name (network_http, "network_http"); - gtk_widget_ref (network_http); - gtk_object_set_data_full (GTK_OBJECT (familiar), "network_http", network_http, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (network_http); - gtk_box_pack_start (GTK_BOX (hbox9), network_http, FALSE, TRUE, 0); - gtk_widget_set_sensitive (network_http, FALSE); - - network_ftp = gtk_radio_button_new_with_label (network_group, _("FTP")); - network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_ftp)); - gtk_widget_set_name (network_ftp, "network_ftp"); - gtk_widget_ref (network_ftp); - gtk_object_set_data_full (GTK_OBJECT (familiar), "network_ftp", network_ftp, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (network_ftp); - gtk_box_pack_start (GTK_BOX (hbox9), network_ftp, FALSE, TRUE, 0); - gtk_widget_set_sensitive (network_ftp, FALSE); - - network_mms = gtk_radio_button_new_with_label (network_group, _("MMS")); - network_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_mms)); - gtk_widget_set_name (network_mms, "network_mms"); - gtk_widget_ref (network_mms); - gtk_object_set_data_full (GTK_OBJECT (familiar), "network_mms", network_mms, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (network_mms); - gtk_box_pack_start (GTK_BOX (hbox9), network_mms, FALSE, TRUE, 0); - gtk_widget_set_sensitive (network_mms, FALSE); - - hseparator11 = gtk_hseparator_new (); - gtk_widget_set_name (hseparator11, "hseparator11"); - gtk_widget_ref (hseparator11); - gtk_object_set_data_full (GTK_OBJECT (familiar), "hseparator11", hseparator11, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hseparator11); - gtk_box_pack_start (GTK_BOX (vbox3), hseparator11, TRUE, TRUE, 0); - - label20 = gtk_label_new (_("Network")); - gtk_widget_set_name (label20, "label20"); - gtk_widget_ref (label20); - gtk_object_set_data_full (GTK_OBJECT (familiar), "label20", label20, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label20); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (mediabook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (mediabook), 1), label20); - - media2 = gtk_label_new (_("Media")); - gtk_widget_set_name (media2, "media2"); - gtk_widget_ref (media2); - gtk_object_set_data_full (GTK_OBJECT (familiar), "media2", media2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (media2); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 0), media2); - - vbox4 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox4, "vbox4"); - gtk_widget_ref (vbox4); - gtk_object_set_data_full (GTK_OBJECT (familiar), "vbox4", vbox4, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox4); - gtk_container_add (GTK_CONTAINER (notebook), vbox4); - - scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_set_name (scrolledwindow5, "scrolledwindow5"); - gtk_widget_ref (scrolledwindow5); - gtk_object_set_data_full (GTK_OBJECT (familiar), "scrolledwindow5", scrolledwindow5, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (scrolledwindow5); - gtk_box_pack_start (GTK_BOX (vbox4), scrolledwindow5, TRUE, TRUE, 0); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - clistplaylist = gtk_clist_new (2); - gtk_widget_set_name (clistplaylist, "clistplaylist"); - gtk_widget_ref (clistplaylist); - gtk_object_set_data_full (GTK_OBJECT (familiar), "clistplaylist", clistplaylist, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (clistplaylist); - gtk_container_add (GTK_CONTAINER (scrolledwindow5), clistplaylist); - gtk_clist_set_column_width (GTK_CLIST (clistplaylist), 0, 140); - gtk_clist_set_column_width (GTK_CLIST (clistplaylist), 1, 80); - gtk_clist_column_titles_show (GTK_CLIST (clistplaylist)); - - label25 = gtk_label_new (_("MRL")); - gtk_widget_set_name (label25, "label25"); - gtk_widget_ref (label25); - gtk_object_set_data_full (GTK_OBJECT (familiar), "label25", label25, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label25); - gtk_clist_set_column_widget (GTK_CLIST (clistplaylist), 0, label25); - gtk_label_set_justify (GTK_LABEL (label25), GTK_JUSTIFY_LEFT); - - label26 = gtk_label_new (_("Time")); - gtk_widget_set_name (label26, "label26"); - gtk_widget_ref (label26); - gtk_object_set_data_full (GTK_OBJECT (familiar), "label26", label26, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label26); - gtk_clist_set_column_widget (GTK_CLIST (clistplaylist), 1, label26); - gtk_label_set_justify (GTK_LABEL (label26), GTK_JUSTIFY_RIGHT); - - hbox11 = gtk_hbox_new (TRUE, 0); - gtk_widget_set_name (hbox11, "hbox11"); - gtk_widget_ref (hbox11); - gtk_object_set_data_full (GTK_OBJECT (familiar), "hbox11", hbox11, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox11); - gtk_box_pack_start (GTK_BOX (vbox4), hbox11, FALSE, FALSE, 2); - - update_playlist = gtk_button_new_with_label (_("Update")); - gtk_widget_set_name (update_playlist, "update_playlist"); - gtk_widget_ref (update_playlist); - gtk_object_set_data_full (GTK_OBJECT (familiar), "update_playlist", update_playlist, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (update_playlist); - gtk_box_pack_start (GTK_BOX (hbox11), update_playlist, FALSE, FALSE, 0); - - playlist_del = gtk_button_new_with_label (_(" Del ")); - gtk_widget_set_name (playlist_del, "playlist_del"); - gtk_widget_ref (playlist_del); - gtk_object_set_data_full (GTK_OBJECT (familiar), "playlist_del", playlist_del, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (playlist_del); - gtk_box_pack_start (GTK_BOX (hbox11), playlist_del, FALSE, FALSE, 5); - - playlist_clear = gtk_button_new_with_label (_(" Clear ")); - gtk_widget_set_name (playlist_clear, "playlist_clear"); - gtk_widget_ref (playlist_clear); - gtk_object_set_data_full (GTK_OBJECT (familiar), "playlist_clear", playlist_clear, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (playlist_clear); - gtk_box_pack_start (GTK_BOX (hbox11), playlist_clear, FALSE, FALSE, 5); - - playlist = gtk_label_new (_("Playlist")); - gtk_widget_set_name (playlist, "playlist"); - gtk_widget_ref (playlist); - gtk_object_set_data_full (GTK_OBJECT (familiar), "playlist", playlist, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (playlist); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 1), playlist); - - vbox2 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox2, "vbox2"); - gtk_widget_ref (vbox2); - gtk_object_set_data_full (GTK_OBJECT (familiar), "vbox2", vbox2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox2); - gtk_container_add (GTK_CONTAINER (notebook), vbox2); - - cbautoplay = gtk_check_button_new_with_label (_("Automatically play file")); - gtk_widget_set_name (cbautoplay, "cbautoplay"); - gtk_widget_ref (cbautoplay); - gtk_object_set_data_full (GTK_OBJECT (familiar), "cbautoplay", cbautoplay, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (cbautoplay); - gtk_box_pack_start (GTK_BOX (vbox2), cbautoplay, FALSE, FALSE, 0); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cbautoplay), TRUE); - - hbox2 = gtk_hbox_new (TRUE, 0); - gtk_widget_set_name (hbox2, "hbox2"); - gtk_widget_ref (hbox2); - gtk_object_set_data_full (GTK_OBJECT (familiar), "hbox2", hbox2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox2); - gtk_box_pack_end (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 2); - - buttonSave = gtk_button_new_with_label (_(" Save ")); - gtk_widget_set_name (buttonSave, "buttonSave"); - gtk_widget_ref (buttonSave); - gtk_object_set_data_full (GTK_OBJECT (familiar), "buttonSave", buttonSave, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (buttonSave); - gtk_box_pack_start (GTK_BOX (hbox2), buttonSave, FALSE, FALSE, 0); - - buttonApply = gtk_button_new_with_label (_(" Apply ")); - gtk_widget_set_name (buttonApply, "buttonApply"); - gtk_widget_ref (buttonApply); - gtk_object_set_data_full (GTK_OBJECT (familiar), "buttonApply", buttonApply, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (buttonApply); - gtk_box_pack_start (GTK_BOX (hbox2), buttonApply, FALSE, FALSE, 0); - - buttonCancel = gtk_button_new_with_label (_(" Cancel ")); - gtk_widget_set_name (buttonCancel, "buttonCancel"); - gtk_widget_ref (buttonCancel); - gtk_object_set_data_full (GTK_OBJECT (familiar), "buttonCancel", buttonCancel, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (buttonCancel); - gtk_box_pack_end (GTK_BOX (hbox2), buttonCancel, FALSE, FALSE, 0); - - preferences = gtk_label_new (_("Preference")); - gtk_widget_set_name (preferences, "preferences"); - gtk_widget_ref (preferences); - gtk_object_set_data_full (GTK_OBJECT (familiar), "preferences", preferences, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (preferences); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 2), preferences); - - scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_set_name (scrolledwindow3, "scrolledwindow3"); - gtk_widget_ref (scrolledwindow3); - gtk_object_set_data_full (GTK_OBJECT (familiar), "scrolledwindow3", scrolledwindow3, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (scrolledwindow3); - gtk_container_add (GTK_CONTAINER (notebook), scrolledwindow3); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - - viewport1 = gtk_viewport_new (NULL, NULL); - gtk_widget_set_name (viewport1, "viewport1"); - gtk_widget_ref (viewport1); - gtk_object_set_data_full (GTK_OBJECT (familiar), "viewport1", viewport1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (viewport1); - gtk_container_add (GTK_CONTAINER (scrolledwindow3), viewport1); - gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport1), GTK_SHADOW_NONE); - - fixed2 = gtk_fixed_new (); - gtk_widget_set_name (fixed2, "fixed2"); - gtk_widget_ref (fixed2); - gtk_object_set_data_full (GTK_OBJECT (familiar), "fixed2", fixed2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (fixed2); - gtk_container_add (GTK_CONTAINER (viewport1), fixed2); - - pixmap2 = create_pixmap (familiar, "vlc32x32.xpm"); - gtk_widget_set_name (pixmap2, "pixmap2"); - gtk_widget_ref (pixmap2); - gtk_object_set_data_full (GTK_OBJECT (familiar), "pixmap2", pixmap2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pixmap2); - gtk_fixed_put (GTK_FIXED (fixed2), pixmap2, 8, 0); - gtk_widget_set_uposition (pixmap2, 8, 0); - gtk_widget_set_usize (pixmap2, 50, 50); - - label8 = gtk_label_new (_("(c) 1996-2003 the VideoLAN team")); - gtk_widget_set_name (label8, "label8"); - gtk_widget_ref (label8); - gtk_object_set_data_full (GTK_OBJECT (familiar), "label8", label8, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label8); - gtk_fixed_put (GTK_FIXED (fixed2), label8, 16, 56); - gtk_widget_set_uposition (label8, 16, 56); - gtk_widget_set_usize (label8, 200, 18); - - label9 = gtk_label_new (_("Authors: The VideoLAN Team, http://www.videolan.org")); - gtk_widget_set_name (label9, "label9"); - gtk_widget_ref (label9); - gtk_object_set_data_full (GTK_OBJECT (familiar), "label9", label9, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label9); - gtk_fixed_put (GTK_FIXED (fixed2), label9, 16, 80); - gtk_widget_set_uposition (label9, 16, 80); - gtk_widget_set_usize (label9, 200, 40); - gtk_label_set_line_wrap (GTK_LABEL (label9), TRUE); - - label11 = gtk_label_new (_("VLC media player")); - gtk_widget_set_name (label11, "label11"); - gtk_widget_ref (label11); - gtk_object_set_data_full (GTK_OBJECT (familiar), "label11", label11, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label11); - gtk_fixed_put (GTK_FIXED (fixed2), label11, 64, 8); - gtk_widget_set_uposition (label11, 64, 8); - gtk_widget_set_usize (label11, 120, 40); - gtk_label_set_line_wrap (GTK_LABEL (label11), TRUE); - - label27 = gtk_label_new ("http://www.videolan.org"); - gtk_widget_set_name (label27, "label27"); - gtk_widget_ref (label27); - gtk_object_set_data_full (GTK_OBJECT (familiar), "label27", label27, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label27); - gtk_fixed_put (GTK_FIXED (fixed2), label27, 16, 200); - gtk_widget_set_uposition (label27, 16, 200); - gtk_widget_set_usize (label27, 208, 16); - - label10 = gtk_label_new (_("The VideoLAN Client is a MPEG, MPEG 2, MP3, DivX player, that accepts input from local or network sources.")); - gtk_widget_set_name (label10, "label10"); - gtk_widget_ref (label10); - gtk_object_set_data_full (GTK_OBJECT (familiar), "label10", label10, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label10); - gtk_fixed_put (GTK_FIXED (fixed2), label10, 16, 128); - gtk_widget_set_uposition (label10, 16, 128); - gtk_widget_set_usize (label10, 200, 70); - gtk_label_set_justify (GTK_LABEL (label10), GTK_JUSTIFY_LEFT); - gtk_label_set_line_wrap (GTK_LABEL (label10), TRUE); - - about = gtk_label_new (_("About")); - gtk_widget_set_name (about, "about"); - gtk_widget_ref (about); - gtk_object_set_data_full (GTK_OBJECT (familiar), "about", about, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (about); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook), 3), about); - - gtk_signal_connect (GTK_OBJECT (familiar), "delete_event", - GTK_SIGNAL_FUNC (on_familiar_delete_event), - NULL); - gtk_signal_connect (GTK_OBJECT (toolbar_open), "clicked", - GTK_SIGNAL_FUNC (on_toolbar_open_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "clicked", - GTK_SIGNAL_FUNC (on_toolbar_playlist_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (toolbar_preferences), "clicked", - GTK_SIGNAL_FUNC (on_toolbar_preferences_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (toolbar_rewind), "clicked", - GTK_SIGNAL_FUNC (on_toolbar_rewind_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (toolbar_pause), "clicked", - GTK_SIGNAL_FUNC (on_toolbar_pause_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (toolbar_play), "clicked", - GTK_SIGNAL_FUNC (on_toolbar_play_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (toolbar_stop), "clicked", - GTK_SIGNAL_FUNC (on_toolbar_stop_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (toolbar_forward), "clicked", - GTK_SIGNAL_FUNC (on_toolbar_forward_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (toolbar_about), "clicked", - GTK_SIGNAL_FUNC (on_toolbar_about_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (slider), "button_release_event", - GTK_SIGNAL_FUNC (FamiliarSliderRelease), - NULL); - gtk_signal_connect (GTK_OBJECT (slider), "button_press_event", - GTK_SIGNAL_FUNC (FamiliarSliderPress), - NULL); - gtk_signal_connect (GTK_OBJECT (buttonMrlGo), "clicked", - GTK_SIGNAL_FUNC (FamiliarMrlGo), - NULL); - gtk_signal_connect (GTK_OBJECT (mrl_entry), "changed", - GTK_SIGNAL_FUNC (on_comboURL_entry_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (clistmedia), "select_row", - GTK_SIGNAL_FUNC (on_clistmedia_select_row), - NULL); - gtk_signal_connect (GTK_OBJECT (clistmedia), "click_column", - GTK_SIGNAL_FUNC (on_clistmedia_click_column), - NULL); - gtk_signal_connect (GTK_OBJECT (network_multicast), "toggled", - GTK_SIGNAL_FUNC (on_network_multicast_toggled), - NULL); - gtk_signal_connect (GTK_OBJECT (network_multicast_port), "changed", - GTK_SIGNAL_FUNC (on_network_multicast_port_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (network_multicast_address), "changed", - GTK_SIGNAL_FUNC (on_network_multicast_address_changed), - NULL); - gtk_signal_connect (GTK_OBJECT (network_http), "toggled", - GTK_SIGNAL_FUNC (on_network_http_toggled), - NULL); - gtk_signal_connect (GTK_OBJECT (network_ftp), "toggled", - GTK_SIGNAL_FUNC (on_network_ftp_toggled), - NULL); - gtk_signal_connect (GTK_OBJECT (network_mms), "toggled", - GTK_SIGNAL_FUNC (on_network_mms_toggled), - NULL); - gtk_signal_connect (GTK_OBJECT (clistplaylist), "event", - GTK_SIGNAL_FUNC (FamiliarPlaylistEvent), - NULL); - gtk_signal_connect (GTK_OBJECT (update_playlist), "clicked", - GTK_SIGNAL_FUNC (FamiliarPlaylistUpdate), - NULL); - gtk_signal_connect (GTK_OBJECT (playlist_del), "clicked", - GTK_SIGNAL_FUNC (FamiliarPlaylistDel), - NULL); - gtk_signal_connect (GTK_OBJECT (playlist_clear), "clicked", - GTK_SIGNAL_FUNC (FamiliarPlaylistClear), - NULL); - gtk_signal_connect (GTK_OBJECT (cbautoplay), "toggled", - GTK_SIGNAL_FUNC (on_cbautoplay_toggled), - NULL); - gtk_signal_connect (GTK_OBJECT (buttonApply), "clicked", - GTK_SIGNAL_FUNC (FamiliarPreferencesApply), - NULL); - - return familiar; -} - diff --git a/modules/gui/familiar/interface.h b/modules/gui/familiar/interface.h deleted file mode 100644 index 27a3bcf6467a..000000000000 --- a/modules/gui/familiar/interface.h +++ /dev/null @@ -1,5 +0,0 @@ -/* - * DO NOT EDIT THIS FILE - it is generated by Glade. - */ - -GtkWidget* create_familiar (void); diff --git a/modules/gui/familiar/network.c b/modules/gui/familiar/network.c deleted file mode 100644 index e64eaa6aa55c..000000000000 --- a/modules/gui/familiar/network.c +++ /dev/null @@ -1,136 +0,0 @@ -/***************************************************************************** - * network.c : Network interface of the gtk-familiar plugin. - ***************************************************************************** - * Copyright (C) 2000, 2001 VideoLAN - * $Id: network.c,v 1.1 2003/03/13 15:50:17 marcari Exp $ - * - * Authors: Marc Ariberti <marcari@videolan.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. - *****************************************************************************/ - - -/***************************************************************************** - * Preamble - *****************************************************************************/ -#include <sys/types.h> /* off_t */ -#include <stdlib.h> - -#include <vlc/vlc.h> -#include <vlc/intf.h> -#include <vlc/vout.h> - -#include <stdio.h> -#include <string.h> -#include <dirent.h> -#include <sys/stat.h> -#include <unistd.h> - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include <gtk/gtk.h> - -#include "callbacks.h" -#include "interface.h" -#include "support.h" -#include "familiar.h" - -static void update_network_multicast(GtkWidget * widget); - -static void update_network_multicast(GtkWidget * widget) -{ - intf_thread_t * p_intf = GtkGetIntf( widget ); - GtkToggleButton * p_network_multicast = - GTK_GET( TOGGLE_BUTTON, "network_multicast" ); - GtkEditable * p_network_multicast_address = - GTK_GET( EDITABLE, "network_multicast_address" ); - GtkEditable * p_network_multicast_port = - GTK_GET( EDITABLE, "network_multicast_port" ); - - if (gtk_toggle_button_get_active(p_network_multicast)) - { - gchar * str = g_strconcat( "udp://@", - gtk_editable_get_chars(p_network_multicast_address, 0, -1), ":", - gtk_editable_get_chars(p_network_multicast_port, 0, -1), NULL ); - gtk_entry_set_text(p_intf->p_sys->p_mrlentry, str); - g_free( str ); - } -} - - -void -on_network_multicast_toggled (GtkToggleButton *togglebutton, - gpointer user_data) -{ - update_network_multicast(GTK_WIDGET(togglebutton)); -} - - -void -on_network_multicast_port_changed (GtkEditable *editable, - gpointer user_data) -{ - update_network_multicast(GTK_WIDGET(editable)); -} - - -void -on_network_multicast_address_changed (GtkEditable *editable, - gpointer user_data) -{ - update_network_multicast(GTK_WIDGET(editable)); -} - - -void -on_network_http_toggled (GtkToggleButton *togglebutton, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( togglebutton ); - - if (gtk_toggle_button_get_active(togglebutton)) - { - gtk_entry_set_text(p_intf->p_sys->p_mrlentry, "http://"); - } -} - - -void -on_network_ftp_toggled (GtkToggleButton *togglebutton, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( togglebutton ); - - if (gtk_toggle_button_get_active(togglebutton)) - { - gtk_entry_set_text(p_intf->p_sys->p_mrlentry, "ftp://"); - } -} - - -void -on_network_mms_toggled (GtkToggleButton *togglebutton, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( togglebutton ); - - if (gtk_toggle_button_get_active(togglebutton)) - { - gtk_entry_set_text(p_intf->p_sys->p_mrlentry, "mms://"); - } -} - diff --git a/modules/gui/familiar/network.h b/modules/gui/familiar/network.h deleted file mode 100644 index d72e50af85fd..000000000000 --- a/modules/gui/familiar/network.h +++ /dev/null @@ -1,58 +0,0 @@ -/***************************************************************************** - * network.h : Network part of the gtk-familiar plugin. - ***************************************************************************** - * Copyright (C) 2000, 2001 VideoLAN - * $Id: network.h,v 1.1 2003/03/13 15:50:17 marcari Exp $ - * - * Authors: Marc Ariberti <marcari@videolan.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. - *****************************************************************************/ - -void -on_network_udp_toggled (GtkToggleButton *togglebutton, - gpointer user_data); - -void -on_network_udp_port_changed (GtkEditable *editable, - gpointer user_data); - -void -on_network_multicast_toggled (GtkToggleButton *togglebutton, - gpointer user_data); - -void -on_network_multicast_port_changed (GtkEditable *editable, - gpointer user_data); - -void -on_network_multicast_address_changed (GtkEditable *editable, - gpointer user_data); - -void -on_network_http_toggled (GtkToggleButton *togglebutton, - gpointer user_data); - -void -on_network_ftp_toggled (GtkToggleButton *togglebutton, - gpointer user_data); - -void -on_network_mms_toggled (GtkToggleButton *togglebutton, - gpointer user_data); - -void -FamiliarNetworkGo (GtkButton *button, - gpointer user_data); diff --git a/modules/gui/familiar/playlist.c b/modules/gui/familiar/playlist.c deleted file mode 100644 index baab652f5d8e..000000000000 --- a/modules/gui/familiar/playlist.c +++ /dev/null @@ -1,203 +0,0 @@ -/***************************************************************************** - * playlist.c : Playlist interface of the gtk-familiar plugin. - ***************************************************************************** - * Copyright (C) 2000, 2001 VideoLAN - * $Id: playlist.c,v 1.1 2003/03/13 15:50:17 marcari Exp $ - * - * Authors: Marc Ariberti <marcari@videolan.org> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. - *****************************************************************************/ - - -/***************************************************************************** - * Preamble - *****************************************************************************/ -#include <sys/types.h> /* off_t */ -#include <stdlib.h> - -#include <vlc/vlc.h> -#include <vlc/intf.h> -#include <vlc/vout.h> - -#include <stdio.h> -#include <string.h> -#include <dirent.h> -#include <sys/stat.h> -#include <unistd.h> - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif -#include <gtk/gtk.h> - -#include "interface.h" -#include "support.h" -#include "familiar.h" -#include "playlist.h" - -gboolean -FamiliarPlaylistEvent (GtkWidget *widget, - GdkEvent *event, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( widget ); - playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, - FIND_ANYWHERE ); - if( p_playlist == NULL ) - { - return FALSE; - } - - if( ( event->button ).type == GDK_2BUTTON_PRESS ) - { - GtkCList * p_clist; - gint i_row; - gint i_col; - - p_clist = p_intf->p_sys->p_clistplaylist; - - if( gtk_clist_get_selection_info( p_clist, (event->button).x, - (event->button).y, &i_row, &i_col ) == 1 ) - { - playlist_Goto( p_playlist, i_row ); - } - - vlc_object_release( p_playlist ); - FamiliarRebuildCList( p_clist, p_playlist ); - return TRUE; - } - - vlc_object_release( p_playlist ); - - return FALSE; -} - -void -FamiliarPlaylistClear (GtkButton *button, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( button ); - playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, - FIND_ANYWHERE ); - int item; - - if( p_playlist == NULL ) - { - return; - } - - for(item = p_playlist->i_size - 1 ; item >= 0 ; item-- ) - { - playlist_Delete( p_playlist, item); - } - - vlc_object_release( p_playlist ); - FamiliarRebuildCList( p_intf->p_sys->p_clistplaylist, p_playlist); -} - -void FamiliarRebuildCList( GtkCList * p_clist, playlist_t * p_playlist ) -{ - int i_dummy; - gchar * ppsz_text[2]; - GdkColor red; - red.red = 65535; - red.blue = 0; - red.green = 0; - - gtk_clist_freeze( p_clist ); - gtk_clist_clear( p_clist ); - - vlc_mutex_lock( &p_playlist->object_lock ); - for( i_dummy = p_playlist->i_size ; i_dummy-- ; ) - { - ppsz_text[0] = p_playlist->pp_items[i_dummy]->psz_name; - ppsz_text[1] = "no info"; - gtk_clist_insert( p_clist, 0, ppsz_text ); - } - vlc_mutex_unlock( &p_playlist->object_lock ); - - gtk_clist_set_background( p_clist, p_playlist->i_index, &red); - gtk_clist_thaw( p_clist ); -} - - -void -FamiliarPlaylistUpdate (GtkButton *button, - gpointer user_data) -{ - intf_thread_t * p_intf = GtkGetIntf( button ); - playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, - FIND_ANYWHERE ); - if( p_playlist == NULL ) - { - return; - } - - - FamiliarRebuildCList( p_intf->p_sys->p_clistplaylist, p_playlist ); -} - -static void FamiliarDeleteGListItem( gpointer data, gpointer param ) -{ - int i_cur_row = (long)data; - playlist_t * p_playlist = param; - - playlist_Delete( p_playlist, i_cur_row ); -} - -static gint FamiliarCompareItems( gconstpointer a, gconstpointer b ) -{ - return (ptrdiff_t) ( (int *)b - (int *)a ); -} - - -void -FamiliarPlaylistDel (GtkButton *button, - gpointer user_data) -{ - /* user wants to delete a file in the queue */ - GList * p_selection; - - intf_thread_t * p_intf = GtkGetIntf( button ); - playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, - FIND_ANYWHERE ); - if( p_playlist == NULL ) - { - return; - } - - - /* lock the struct */ - vlc_mutex_lock( &p_intf->change_lock ); - - p_selection = p_intf->p_sys->p_clistplaylist->selection; - - if( g_list_length( p_selection ) ) - { - /* reverse-sort so that we can delete from the furthest - * to the closest item to delete... - */ - p_selection = g_list_sort( p_selection, FamiliarCompareItems ); - g_list_foreach( p_selection, FamiliarDeleteGListItem, p_playlist ); - } - - vlc_mutex_unlock( &p_intf->change_lock ); - - - vlc_object_release( p_playlist ); - FamiliarRebuildCList( p_intf->p_sys->p_clistplaylist, p_playlist ); -} - diff --git a/modules/gui/familiar/playlist.h b/modules/gui/familiar/playlist.h deleted file mode 100644 index e76b475a11d7..000000000000 --- a/modules/gui/familiar/playlist.h +++ /dev/null @@ -1,20 +0,0 @@ - - -gboolean -FamiliarPlaylistEvent (GtkWidget *widget, - GdkEvent *event, - gpointer user_data); - -void FamiliarRebuildCList( GtkCList * p_clist, playlist_t * p_playlist ); - -void FamiliarPlaylistClear (GtkButton *button, - gpointer user_data); - - -void -FamiliarPlaylistUpdate (GtkButton *button, - gpointer user_data); - -void -FamiliarPlaylistDel (GtkButton *button, - gpointer user_data); diff --git a/modules/gui/familiar/support.c b/modules/gui/familiar/support.c deleted file mode 100644 index 5077e5914c22..000000000000 --- a/modules/gui/familiar/support.c +++ /dev/null @@ -1,162 +0,0 @@ -/* - * DO NOT EDIT THIS FILE - it is generated by Glade. - */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> -#include <string.h> - -#include <gtk/gtk.h> - -#include "support.h" - -/* This is an internally used function to check if a pixmap file exists. */ -static gchar* check_file_exists (const gchar *directory, - const gchar *filename); - -/* This is an internally used function to create pixmaps. */ -static GtkWidget* create_dummy_pixmap (GtkWidget *widget); - -GtkWidget* -lookup_widget (GtkWidget *widget, - const gchar *widget_name) -{ - GtkWidget *parent, *found_widget; - - for (;;) - { - if (GTK_IS_MENU (widget)) - parent = gtk_menu_get_attach_widget (GTK_MENU (widget)); - else - parent = widget->parent; - if (parent == NULL) - break; - widget = parent; - } - - found_widget = (GtkWidget*) gtk_object_get_data (GTK_OBJECT (widget), - widget_name); - if (!found_widget) - g_warning ("Widget not found: %s", widget_name); - return found_widget; -} - -/* This is a dummy pixmap we use when a pixmap can't be found. */ -static char *dummy_pixmap_xpm[] = { -/* columns rows colors chars-per-pixel */ -"1 1 1 1", -" c None", -/* pixels */ -" " -}; - -/* This is an internally used function to create pixmaps. */ -static GtkWidget* -create_dummy_pixmap (GtkWidget *widget) -{ - GdkColormap *colormap; - GdkPixmap *gdkpixmap; - GdkBitmap *mask; - GtkWidget *pixmap; - - colormap = gtk_widget_get_colormap (widget); - gdkpixmap = gdk_pixmap_colormap_create_from_xpm_d (NULL, colormap, &mask, - NULL, dummy_pixmap_xpm); - if (gdkpixmap == NULL) - g_error ("Couldn't create replacement pixmap."); - pixmap = gtk_pixmap_new (gdkpixmap, mask); - gdk_pixmap_unref (gdkpixmap); - gdk_bitmap_unref (mask); - return pixmap; -} - -static GList *pixmaps_directories = NULL; - -/* Use this function to set the directory containing installed pixmaps. */ -void -add_pixmap_directory (const gchar *directory) -{ - pixmaps_directories = g_list_prepend (pixmaps_directories, - g_strdup (directory)); -} - -/* This is an internally used function to create pixmaps. */ -GtkWidget* -create_pixmap (GtkWidget *widget, - const gchar *filename) -{ - gchar *found_filename = NULL; - GdkColormap *colormap; - GdkPixmap *gdkpixmap; - GdkBitmap *mask; - GtkWidget *pixmap; - GList *elem; - - if (!filename || !filename[0]) - return create_dummy_pixmap (widget); - - /* We first try any pixmaps directories set by the application. */ - elem = pixmaps_directories; - while (elem) - { - found_filename = check_file_exists ((gchar*)elem->data, filename); - if (found_filename) - break; - elem = elem->next; - } - - /* If we haven't found the pixmap, try the source directory. */ - if (!found_filename) - { - found_filename = check_file_exists ("../../../share", filename); - } - - if (!found_filename) - { - g_warning (_("Couldn't find pixmap file: %s"), filename); - return create_dummy_pixmap (widget); - } - - colormap = gtk_widget_get_colormap (widget); - gdkpixmap = gdk_pixmap_colormap_create_from_xpm (NULL, colormap, &mask, - NULL, found_filename); - if (gdkpixmap == NULL) - { - g_warning (_("Error loading pixmap file: %s"), found_filename); - g_free (found_filename); - return create_dummy_pixmap (widget); - } - g_free (found_filename); - pixmap = gtk_pixmap_new (gdkpixmap, mask); - gdk_pixmap_unref (gdkpixmap); - gdk_bitmap_unref (mask); - return pixmap; -} - -/* This is an internally used function to check if a pixmap file exists. */ -static gchar* -check_file_exists (const gchar *directory, - const gchar *filename) -{ - gchar *full_filename; - struct stat s; - gint status; - - full_filename = (gchar*) g_malloc (strlen (directory) + 1 - + strlen (filename) + 1); - strcpy (full_filename, directory); - strcat (full_filename, G_DIR_SEPARATOR_S); - strcat (full_filename, filename); - - status = stat (full_filename, &s); - if (status == 0 && S_ISREG (s.st_mode)) - return full_filename; - g_free (full_filename); - return NULL; -} - diff --git a/modules/gui/familiar/support.h b/modules/gui/familiar/support.h deleted file mode 100644 index 7a1302518624..000000000000 --- a/modules/gui/familiar/support.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Created by glade, fixed by bootstrap - */ - -#ifdef HAVE_CONFIG_H -# include <vlc/vlc.h> -#endif - -#include <gtk/gtk.h> - -/* - * Standard gettext macros. - */ -#if 0 /* Disabled by bootstrap */ -# include <libintl.h> -# undef _ -# define _(String) dgettext (PACKAGE, String) -# ifdef gettext_noop -# define N_(String) gettext_noop (String) -# else -# define N_(String) (String) -# endif -/* #else */ -# define textdomain(String) (String) -# define gettext(String) (String) -# define dgettext(Domain,Message) (Message) -# define dcgettext(Domain,Message,Type) (Message) -# define bindtextdomain(Domain,Directory) (Domain) -# define _(String) (String) -# define N_(String) (String) -#endif - - -/* - * Public Functions. - */ - -/* - * This function returns a widget in a component created by Glade. - * Call it with the toplevel widget in the component (i.e. a window/dialog), - * or alternatively any widget in the component, and the name of the widget - * you want returned. - */ -GtkWidget* lookup_widget (GtkWidget *widget, - const gchar *widget_name); - -/* get_widget() is deprecated. Use lookup_widget instead. */ -#define get_widget lookup_widget - -/* Use this function to set the directory containing installed pixmaps. */ -void add_pixmap_directory (const gchar *directory); - - -/* - * Private Functions. - */ - -/* This is used to create the pixmaps in the interface. */ -GtkWidget* create_pixmap (GtkWidget *widget, - const gchar *filename); - -- GitLab