]> git.sesse.net Git - vlc/commitdiff
Remove gtk, gtk2, qt and kde plugins
authorClément Stenac <zorglub@videolan.org>
Fri, 12 Aug 2005 21:49:28 +0000 (21:49 +0000)
committerClément Stenac <zorglub@videolan.org>
Fri, 12 Aug 2005 21:49:28 +0000 (21:49 +0000)
If you want them, take them back from the svn attic, fix them and reintroduce them. I didn't remove the configure.ac snippets, they are still in but commented

83 files changed:
configure.ac
modules/gui/gtk/Modules.am [deleted file]
modules/gui/gtk/common.h [deleted file]
modules/gui/gtk/control.c [deleted file]
modules/gui/gtk/control.h [deleted file]
modules/gui/gtk/display.c [deleted file]
modules/gui/gtk/display.h [deleted file]
modules/gui/gtk/gnome.c [deleted file]
modules/gui/gtk/gnome.glade [deleted file]
modules/gui/gtk/gnome_callbacks.c [deleted file]
modules/gui/gtk/gnome_callbacks.h [deleted file]
modules/gui/gtk/gnome_interface.c [deleted file]
modules/gui/gtk/gnome_interface.h [deleted file]
modules/gui/gtk/gnome_support.c [deleted file]
modules/gui/gtk/gnome_support.h [deleted file]
modules/gui/gtk/gtk.c [deleted file]
modules/gui/gtk/gtk.glade [deleted file]
modules/gui/gtk/gtk_callbacks.c [deleted file]
modules/gui/gtk/gtk_callbacks.h [deleted file]
modules/gui/gtk/gtk_interface.c [deleted file]
modules/gui/gtk/gtk_interface.h [deleted file]
modules/gui/gtk/gtk_support.c [deleted file]
modules/gui/gtk/gtk_support.h [deleted file]
modules/gui/gtk/menu.c [deleted file]
modules/gui/gtk/menu.h [deleted file]
modules/gui/gtk/modules.c [deleted file]
modules/gui/gtk/modules.h [deleted file]
modules/gui/gtk/open.c [deleted file]
modules/gui/gtk/open.h [deleted file]
modules/gui/gtk/playlist.c [deleted file]
modules/gui/gtk/playlist.h [deleted file]
modules/gui/gtk/preferences.c [deleted file]
modules/gui/gtk/preferences.h [deleted file]
modules/gui/gtk/sout.c [deleted file]
modules/gui/gtk2/Modules.am [deleted file]
modules/gui/gtk2/gnome2.c [deleted file]
modules/gui/gtk2/gnome2.glade [deleted file]
modules/gui/gtk2/gnome2.gladep [deleted file]
modules/gui/gtk2/gnome2_callbacks.c [deleted file]
modules/gui/gtk2/gnome2_callbacks.h [deleted file]
modules/gui/gtk2/gnome2_interface.c [deleted file]
modules/gui/gtk2/gnome2_interface.h [deleted file]
modules/gui/gtk2/gnome2_support.c [deleted file]
modules/gui/gtk2/gnome2_support.h [deleted file]
modules/gui/gtk2/gtk2.c [deleted file]
modules/gui/gtk2/gtk2.glade [deleted file]
modules/gui/gtk2/gtk2.gladep [deleted file]
modules/gui/gtk2/gtk2_callbacks.c [deleted file]
modules/gui/gtk2/gtk2_callbacks.h [deleted file]
modules/gui/gtk2/gtk2_interface.c [deleted file]
modules/gui/gtk2/gtk2_interface.h [deleted file]
modules/gui/gtk2/gtk2_support.c [deleted file]
modules/gui/gtk2/gtk2_support.h [deleted file]
modules/gui/kde/Modules.am [deleted file]
modules/gui/kde/QConfigItem.cpp [deleted file]
modules/gui/kde/QConfigItem.h [deleted file]
modules/gui/kde/common.h [deleted file]
modules/gui/kde/disc.cpp [deleted file]
modules/gui/kde/disc.h [deleted file]
modules/gui/kde/info.cpp [deleted file]
modules/gui/kde/info.h [deleted file]
modules/gui/kde/interface.cpp [deleted file]
modules/gui/kde/interface.h [deleted file]
modules/gui/kde/kde.cpp [deleted file]
modules/gui/kde/languagemenu.cpp [deleted file]
modules/gui/kde/languagemenu.h [deleted file]
modules/gui/kde/menu.cpp [deleted file]
modules/gui/kde/menu.h [deleted file]
modules/gui/kde/messages.cpp [deleted file]
modules/gui/kde/messages.h [deleted file]
modules/gui/kde/net.cpp [deleted file]
modules/gui/kde/net.h [deleted file]
modules/gui/kde/pluginsbox.cpp [deleted file]
modules/gui/kde/pluginsbox.h [deleted file]
modules/gui/kde/preferences.cpp [deleted file]
modules/gui/kde/preferences.h [deleted file]
modules/gui/kde/slider.cpp [deleted file]
modules/gui/kde/slider.h [deleted file]
modules/gui/kde/ui.rc [deleted file]
modules/gui/qt/Modules.am [deleted file]
modules/gui/qt/intf.cpp [deleted file]
modules/gui/qt/intf.h [deleted file]
modules/gui/qt/qt.cpp [deleted file]

index e0c3b3c2745998a17ddfb02933c973ccedbc7909..b285b2cf8e06abbbe22f18f166e2288d3c06cb9e 100644 (file)
@@ -4568,12 +4568,8 @@ AC_CONFIG_FILES([
   modules/gui/Makefile
   modules/gui/beos/Makefile
   modules/gui/pda/Makefile
-  modules/gui/gtk/Makefile
-  modules/gui/gtk2/Makefile
-  modules/gui/kde/Makefile
   modules/gui/macosx/Makefile
   modules/gui/qnx/Makefile
-  modules/gui/qt/Makefile
   modules/gui/skins2/Makefile
   modules/gui/wxwidgets/Makefile
   modules/gui/wince/Makefile
diff --git a/modules/gui/gtk/Modules.am b/modules/gui/gtk/Modules.am
deleted file mode 100644 (file)
index e7cefbe..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-COMMON_gtk = \
-       display.c \
-       open.c \
-       sout.c \
-       control.c \
-       menu.c \
-       playlist.c \
-       modules.c \
-       preferences.c \
-       gtk_callbacks.c \
-       $(NULL)
-
-SOURCES_gtk = \
-       gtk.c \
-       gtk_interface.c \
-       gtk_support.c \
-       $(COMMON_gtk)
-
-SOURCES_gnome = \
-       gnome.c \
-       gnome_interface.c \
-       gnome_support.c \
-       $(COMMON_gtk)
-
-noinst_HEADERS += \
-       common.h \
-       control.h \
-       gnome_callbacks.h \
-       gnome_interface.h \
-       gnome_support.h \
-       gtk_callbacks.h \
-       display.h \
-       menu.h \
-       modules.h \
-       open.h \
-       gtk_interface.h \
-       playlist.h \
-       preferences.h \
-       gtk_support.h \
-       $(NULL)
-
-EXTRA_DIST += \
-       gtk.glade \
-       gnome.glade \
-       gnome_callbacks.c \
-       $(NULL)
diff --git a/modules/gui/gtk/common.h b/modules/gui/gtk/common.h
deleted file mode 100644 (file)
index f125301..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*****************************************************************************
- * gtk_common.h: private Gtk+ interface description
- *****************************************************************************
- * Copyright (C) 1999, 2000 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.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.
- *****************************************************************************/
-
-/*****************************************************************************
- * Drag'n'drop stuff
- *****************************************************************************/
-#define DROP_ACCEPT_TEXT_URI_LIST  0
-#define DROP_ACCEPT_TEXT_PLAIN     1
-#define DROP_ACCEPT_STRING         2
-
-#define DROP_ACCEPT_END            3
-
-/*****************************************************************************
- * intf_sys_t: description and status of Gtk+ interface
- *****************************************************************************/
-struct intf_sys_t
-{
-    /* the gtk_main module */
-    module_t *          p_gtk_main;
-
-    /* special actions */
-    vlc_bool_t          b_playing;
-    vlc_bool_t          b_popup_changed;                   /* display menu ? */
-    vlc_bool_t          b_window_changed;        /* window display toggled ? */
-    vlc_bool_t          b_playlist_changed;    /* playlist display toggled ? */
-    vlc_bool_t          b_slider_free;                      /* slider status */
-    vlc_bool_t          b_deinterlace_update;
-
-    /* menus handlers */
-    vlc_bool_t          b_aout_update;
-    vlc_bool_t          b_vout_update;
-
-    vlc_bool_t          b_program_update;   /* do we need to update programs
-                                                                        menu */
-    vlc_bool_t          b_title_update;  /* do we need to update title menus */
-    vlc_bool_t          b_chapter_update;            /* do we need to update
-                                                               chapter menus */
-    vlc_bool_t          b_audio_update;  /* do we need to update audio menus */
-    vlc_bool_t          b_spu_update;      /* do we need to update spu menus */
-
-    /* windows and widgets */
-    GtkWidget *         p_window;                             /* main window */
-    GtkWidget *         p_popup;                               /* popup menu */
-    GtkWidget *         p_playwin;                               /* playlist */
-    GtkWidget *         p_modules;                         /* module manager */
-    GtkWidget *         p_about;                             /* about window */
-    GtkWidget *         p_open;                          /* multiopen window */
-    GtkWidget *         p_jump;                               /* jump window */
-    GtkWidget *         p_sout;                             /* stream output */
-
-    GtkTooltips *       p_tooltips;                              /* tooltips */
-
-    /* The input thread */
-    input_thread_t *    p_input;
-
-    /* The slider */
-    GtkFrame *          p_slider_frame;
-    GtkAdjustment *     p_adj;                   /* slider adjustment object */
-    float               f_adj_oldvalue;                    /* previous value */
-
-    /* The messages window */
-    GtkWidget *         p_messages;                       /* messages window */
-    GtkText *           p_messages_text;                   /* messages frame */
-    msg_subscription_t* p_sub;                  /* message bank subscription */
-
-    /* Playlist management */
-    int                 i_playing;                 /* playlist selected item */
-
-    /* The window labels for DVD mode */
-    GtkLabel *          p_label_title;
-    GtkLabel *          p_label_chapter;
-    guint               i_part;                           /* current chapter */
-
-    /* audio part */
-    vlc_bool_t          b_mute;
-};
-
-/*****************************************************************************
- * Prototypes
- *****************************************************************************/
-gint E_(GtkModeManage)   ( intf_thread_t * p_intf );
-void E_(GtkDisplayDate)  ( GtkAdjustment *p_adj );
-
-/*****************************************************************************
- * Useful macro
- ****************************************************************************/
-#define  GtkGetIntf( widget ) E_(__GtkGetIntf)( GTK_WIDGET( widget ) )
-void * E_(__GtkGetIntf)( GtkWidget * );
-
diff --git a/modules/gui/gtk/control.c b/modules/gui/gtk/control.c
deleted file mode 100644 (file)
index dec4f52..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-/*****************************************************************************
- * control.c : functions to handle stream control buttons.
- *****************************************************************************
- * Copyright (C) 2000, 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *      
- * 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>
-
-#ifdef MODULE_NAME_IS_gnome
-#   include <gnome.h>
-#else
-#   include <gtk/gtk.h>
-#endif
-
-#include <string.h>
-
-#include "gtk_callbacks.h"
-#include "gtk_interface.h"
-#include "gtk_support.h"
-
-#include "playlist.h"
-#include "common.h"
-
-/****************************************************************************
- * Control functions: this is where the functions are defined
- ****************************************************************************
- * These functions are button-items callbacks, and are used
- * by other callbacks
- ****************************************************************************/
-gboolean GtkControlBack( GtkWidget       *widget,
-                         gpointer         user_data )
-{
-    return FALSE;
-}
-
-
-gboolean GtkControlStop( GtkWidget       *widget,
-                         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;
-    }
-
-    playlist_Stop( p_playlist );
-    vlc_object_release( p_playlist );
-
-    return TRUE;
-}
-
-
-gboolean GtkControlPlay( GtkWidget       *widget,
-                         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 )
-    {
-        GtkFileOpenShow( widget, user_data );
-        return TRUE;
-    }
-
-    /* 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 );
-    }
-    else
-    {
-        vlc_mutex_unlock( &p_playlist->object_lock );
-        vlc_object_release( p_playlist );
-        GtkFileOpenShow( widget, user_data );
-    }
-
-    return TRUE;
-}
-
-
-gboolean GtkControlPause( GtkWidget       *widget,
-                          gpointer         user_data )
-{
-    intf_thread_t *  p_intf = GtkGetIntf( widget );
-
-    if( p_intf->p_sys->p_input == NULL )
-    {
-        return FALSE;
-    }
-
-    var_SetInteger( p_intf->p_sys->p_input, "state", PAUSE_S );
-
-    return TRUE;
-}
-
-
-gboolean GtkControlSlow( GtkWidget       *widget,
-                         gpointer         user_data )
-{
-    intf_thread_t *  p_intf = GtkGetIntf( widget );
-
-    if( p_intf->p_sys->p_input == NULL )
-    {
-        return FALSE;
-    }
-
-    var_SetVoid( p_intf->p_sys->p_input, "rate-slower" );
-
-    return TRUE;
-}
-
-
-gboolean GtkControlFast( GtkWidget       *widget,
-                         gpointer         user_data )
-{
-    intf_thread_t *  p_intf = GtkGetIntf( widget );
-
-    if( p_intf->p_sys->p_input == NULL )
-    {
-        return FALSE;
-    }
-
-    var_SetVoid( p_intf->p_sys->p_input, "rate-faster" );
-
-    return TRUE;
-}
-
diff --git a/modules/gui/gtk/control.h b/modules/gui/gtk/control.h
deleted file mode 100644 (file)
index 75bc763..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*****************************************************************************
- * gtk_control.h: prototypes for control functions
- *****************************************************************************
- * Copyright (C) 1999, 2000 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *
- * 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.
- *****************************************************************************/
-
-gboolean GtkControlBack ( GtkWidget *, gpointer );
-gboolean GtkControlStop ( GtkWidget *, gpointer );
-gboolean GtkControlPlay ( GtkWidget *, gpointer );
-gboolean GtkControlPause( GtkWidget *, gpointer );
-gboolean GtkControlSlow ( GtkWidget *, gpointer );
-gboolean GtkControlFast ( GtkWidget *, gpointer );
-
diff --git a/modules/gui/gtk/display.c b/modules/gui/gtk/display.c
deleted file mode 100644 (file)
index f40574a..0000000
+++ /dev/null
@@ -1,290 +0,0 @@
-/*****************************************************************************
- * display.c: Gtk+ tools for main interface
- *****************************************************************************
- * Copyright (C) 1999, 2000, 2003 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *
- * 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 <errno.h>                                                 /* ENOMEM */
-#include <stdlib.h>                                                /* free() */
-#include <string.h>                                            /* strerror() */
-#include <stdio.h>
-
-#include <vlc/vlc.h>
-#include <vlc/intf.h>
-
-#ifdef MODULE_NAME_IS_gnome
-#   include <gnome.h>
-#else
-#   include <gtk/gtk.h>
-#endif
-
-#include "gtk_callbacks.h"
-#include "gtk_interface.h"
-#include "gtk_support.h"
-
-#include "menu.h"
-#include "display.h"
-#include "common.h"
-
-/*****************************************************************************
- * 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 )
-    {
-        char psz_time[ MSTRTIME_MAX_SIZE ];
-        int64_t i_seconds;
-
-        i_seconds = var_GetTime( p_intf->p_sys->p_input, "time" ) / I64C(1000000 );
-        secstotimestr( psz_time, i_seconds );
-
-        gtk_frame_set_label( GTK_FRAME( p_intf->p_sys->p_slider_frame ),
-                             psz_time );
-     }
-}
-
-
-/*****************************************************************************
- * 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_dvd_box;
-    GtkWidget *     p_file_box;
-    GtkWidget *     p_network_box;
-    GtkWidget *     p_slider;
-    GtkWidget *     p_label;
-    vlc_bool_t      b_control;
-
-#define GETWIDGET( ptr, name ) GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( \
-                           p_intf->p_sys->ptr ) , ( name ) ) )
-    /* hide all boxes except default file box */
-    p_file_box = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                 p_intf->p_sys->p_window ), "file_box" ) );
-    gtk_widget_hide( GTK_WIDGET( p_file_box ) );
-
-    p_network_box = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                 p_intf->p_sys->p_window ), "network_box" ) );
-    gtk_widget_hide( GTK_WIDGET( p_network_box ) );
-
-    p_dvd_box = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                 p_intf->p_sys->p_window ), "dvd_box" ) );
-    gtk_widget_hide( GTK_WIDGET( p_dvd_box ) );
-
-    /* hide slider */
-    p_slider = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                           p_intf->p_sys->p_window ), "slider_frame" ) );
-    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 )
-    {
-        switch( p_intf->p_sys->p_input->stream.i_method & 0xf0 )
-        {
-            case INPUT_METHOD_FILE:
-                gtk_widget_show( GTK_WIDGET( p_file_box ) );
-                p_label = gtk_object_get_data( GTK_OBJECT(
-                            p_intf->p_sys->p_window ),
-                            "label_status" );
-                gtk_label_set_text( GTK_LABEL( p_label ),
-                                    p_intf->p_sys->p_input->psz_source );
-                break;
-            case INPUT_METHOD_DISC:
-                gtk_widget_show( GTK_WIDGET( p_dvd_box ) );
-                break;
-            case INPUT_METHOD_NETWORK:
-                gtk_widget_show( GTK_WIDGET( p_network_box ) );
-                p_label = gtk_object_get_data( GTK_OBJECT(
-                            p_intf->p_sys->p_window ),
-                            "network_address_label" );
-                gtk_label_set_text( GTK_LABEL( p_label ),
-                                    p_intf->p_sys->p_input->psz_source );
-                break;
-            default:
-                msg_Warn( p_intf, "cannot determine input method" );
-                gtk_widget_show( GTK_WIDGET( p_file_box ) );
-                p_label = gtk_object_get_data( GTK_OBJECT(
-                            p_intf->p_sys->p_window ),
-                            "label_status" );
-                gtk_label_set_text( GTK_LABEL( p_label ),
-                                    p_intf->p_sys->p_input->psz_source );
-                break;
-        }
-
-        /* initialize and show slider for seekable streams */
-        if( p_intf->p_sys->p_input->stream.b_seekable )
-        {
-            p_intf->p_sys->p_adj->value = p_intf->p_sys->f_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;
-
-        /* get ready for menu regeneration */
-        p_intf->p_sys->b_program_update = 1;
-        p_intf->p_sys->b_title_update = 1;
-        p_intf->p_sys->b_chapter_update = 1;
-        p_intf->p_sys->b_audio_update = 1;
-        p_intf->p_sys->b_spu_update = 1;
-        p_intf->p_sys->i_part = 0;
-#if 0
-        p_intf->p_sys->b_aout_update = 1;
-        p_intf->p_sys->b_vout_update = 1;
-#endif
-        p_intf->p_sys->p_input->stream.b_changed = 0;
-        msg_Dbg( p_intf, "stream has changed, refreshing interface" );
-    }
-    else
-    {
-        /* default mode */
-        p_label = gtk_object_get_data(
-                  GTK_OBJECT( p_intf->p_sys->p_window ), "label_status" );
-        gtk_label_set_text( GTK_LABEL( p_label ), "" );
-        gtk_widget_show( GTK_WIDGET( p_file_box ) );
-
-        /* unsensitize menus */
-        gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_program"),
-                                  FALSE );
-        gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_title"), FALSE );
-        gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_chapter"),
-                                  FALSE );
-        gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_audio"), FALSE );
-        gtk_widget_set_sensitive( GETWIDGET(p_window,"menubar_subpictures"),
-                                  FALSE );
-        gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_navigation"),
-                                  FALSE );
-        gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_language"), FALSE );
-        gtk_widget_set_sensitive( GETWIDGET(p_popup,"popup_subpictures"),
-                                  FALSE );
-    }
-
-    /* set control items */
-    gtk_widget_set_sensitive( GETWIDGET(p_window, "toolbar_back"), FALSE );
-    gtk_widget_set_sensitive( GETWIDGET(p_window, "toolbar_eject"), !b_control);
-    gtk_widget_set_sensitive( GETWIDGET(p_window, "toolbar_pause"), b_control );
-    gtk_widget_set_sensitive( GETWIDGET(p_window, "toolbar_slow"), b_control );
-    gtk_widget_set_sensitive( GETWIDGET(p_window, "toolbar_fast"), b_control );
-    gtk_widget_set_sensitive( GETWIDGET(p_popup, "popup_back"), FALSE );
-    gtk_widget_set_sensitive( GETWIDGET(p_popup, "popup_pause"), b_control );
-    gtk_widget_set_sensitive( GETWIDGET(p_popup, "popup_slow"), b_control );
-    gtk_widget_set_sensitive( GETWIDGET(p_popup, "popup_fast"), b_control );
-
-#undef GETWIDGET
-    return TRUE;
-}
-
-/*****************************************************************************
- * GtkHideTooltips: show or hide the tooltips depending on the configuration
- *                  option gnome-tooltips
- *****************************************************************************/
-int E_(GtkHideTooltips)( vlc_object_t *p_this, const char *psz_name,
-                         vlc_value_t oldval, vlc_value_t val, void *p_data )
-{
-    intf_thread_t *p_intf;
-    int i_index;
-    vlc_list_t *p_list = vlc_list_find( p_this, VLC_OBJECT_INTF,
-                                        FIND_ANYWHERE );
-
-    vlc_bool_t b_enable = config_GetInt( p_this, "gnome-tooltips" );
-
-    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;
-        }
-
-        if( b_enable )
-        {
-            gtk_tooltips_enable( p_intf->p_sys->p_tooltips );
-        }
-        else
-        {
-            gtk_tooltips_disable( p_intf->p_sys->p_tooltips );
-        }
-    }
-
-    vlc_list_release( p_list );
-    return VLC_SUCCESS;
-}
-
-#ifdef MODULE_NAME_IS_gnome
-/*****************************************************************************
- * GtkHideToolbartext: show or hide the tooltips depending on the
- *                     configuration option gnome-toolbartext
- *****************************************************************************
- * FIXME: GNOME only because of missing icons in gtk interface
- *****************************************************************************/
-int GtkHideToolbarText( vlc_object_t *p_this, const char *psz_name,
-                        vlc_value_t oldval, vlc_value_t val, void *p_data )
-{
-    GtkToolbarStyle style;
-    GtkToolbar * p_toolbar;
-    intf_thread_t *p_intf;
-    int i_index;
-    vlc_list_t *p_list = vlc_list_find( p_this, VLC_OBJECT_INTF,
-                                        FIND_ANYWHERE );
-
-    style = config_GetInt( p_this, "gnome-toolbartext" )
-            ? GTK_TOOLBAR_BOTH
-            : GTK_TOOLBAR_ICONS;
-
-    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;
-        }
-
-        p_toolbar = GTK_TOOLBAR(lookup_widget( p_intf->p_sys->p_window,
-                                               "toolbar" ));
-        gtk_toolbar_set_style( p_toolbar, style );
-    }
-
-    vlc_list_release( p_list );
-    return VLC_SUCCESS;
-}
-#endif
diff --git a/modules/gui/gtk/display.h b/modules/gui/gtk/display.h
deleted file mode 100644 (file)
index 4040ec6..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*****************************************************************************
- * display.h: Gtk+ tools for main interface.
- *****************************************************************************
- * Copyright (C) 1999, 2000 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *
- * 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.
- *****************************************************************************/
-
-/*****************************************************************************
- * Prototypes
- *****************************************************************************/
-
-gint E_(GtkModeManage)      ( intf_thread_t * p_intf );
-void E_(GtkDisplayDate)     ( GtkAdjustment *p_adj );
-int  E_(GtkHideTooltips)    ( vlc_object_t *, const char *,
-                              vlc_value_t, vlc_value_t, void * );
-int  GtkHideToolbarText     ( vlc_object_t *, const char *,
-                              vlc_value_t, vlc_value_t, void * );
-
diff --git a/modules/gui/gtk/gnome.c b/modules/gui/gtk/gnome.c
deleted file mode 100644 (file)
index 93e410f..0000000
+++ /dev/null
@@ -1,541 +0,0 @@
-/*****************************************************************************
- * gnome.c : Gnome plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.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 <gnome.h>
-
-#include "gnome_callbacks.h"
-#include "gnome_interface.h"
-#include "gnome_support.h"
-#include "display.h"
-#include "common.h"
-
-/*****************************************************************************
- * Local prototypes.
- *****************************************************************************/
-static int  Open         ( vlc_object_t * );
-static void Close        ( vlc_object_t * );
-
-static void Run          ( intf_thread_t * );
-static void Manage       ( intf_thread_t * );
-
-/*****************************************************************************
- * Module descriptor
- *****************************************************************************/
-#define TOOLTIPS_TEXT N_("Show tooltips")
-#define TOOLTIPS_LONGTEXT N_("Show tooltips for configuration options.")
-
-#define TOOLBAR_TEXT N_("Show text on toolbar buttons")
-#define TOOLBAR_LONGTEXT N_("Show the text below icons on the toolbar.")
-
-#define PREFS_MAXH_TEXT N_("Maximum height for the configuration windows")
-#define PREFS_MAXH_LONGTEXT N_( \
-    "You can set the maximum height that the configuration windows in the " \
-    "preferences menu will occupy.")
-
-#define PATH_TEXT N_("Interface default search path")
-#define PATH_LONGTEXT N_( \
-    "This option allows you to set the default path that the interface will " \
-    "open when looking for a file.")
-
-vlc_module_begin();
-#ifdef WIN32
-    int i = 90;
-#else
-    int i = getenv( "DISPLAY" ) == NULL ? 15 : 100;
-#endif
-    set_description( _("GNOME interface") );
-    set_category( CAT_INTERFACE );
-    set_subcategory( SUBCAT_INTERFACE_GENERAL );
-
-    add_bool( "gnome-tooltips", 1, E_(GtkHideTooltips),
-              TOOLTIPS_TEXT, TOOLTIPS_LONGTEXT, VLC_FALSE );
-    add_bool( "gnome-toolbartext", 1, GtkHideToolbarText, TOOLBAR_TEXT,
-              TOOLBAR_LONGTEXT, VLC_FALSE );
-    add_integer( "gnome-prefs-maxh", 480, NULL,
-                 PREFS_MAXH_TEXT, PREFS_MAXH_LONGTEXT, VLC_TRUE );
-    add_directory( "gnome-search-path", NULL, NULL, PATH_TEXT,
-                   PATH_LONGTEXT, VLC_TRUE );
-
-    set_capability( "interface", i );
-    set_callbacks( Open, Close );
-    set_program( "gnome-vlc" );
-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;
-    }
-
-    p_intf->p_sys->p_gtk_main =
-        module_Need( p_this, "gui-helper", "gnome", VLC_TRUE );
-    if( p_intf->p_sys->p_gtk_main == NULL )
-    {
-        free( p_intf->p_sys );
-        return VLC_ENOMOD;
-    }
-
-    p_intf->pf_run = Run;
-
-    p_intf->p_sys->p_sub = msg_Subscribe( p_intf );
-
-    /* Initialize Gnome thread */
-    p_intf->p_sys->b_playing = VLC_FALSE;
-    p_intf->p_sys->b_deinterlace_update = VLC_FALSE;
-
-    p_intf->p_sys->b_aout_update = VLC_FALSE;
-    p_intf->p_sys->b_vout_update = VLC_FALSE;
-
-    p_intf->p_sys->b_popup_changed = VLC_FALSE;
-    p_intf->p_sys->b_window_changed = VLC_FALSE;
-    p_intf->p_sys->b_playlist_changed = VLC_FALSE;
-    p_intf->p_sys->b_program_update = VLC_FALSE;
-    p_intf->p_sys->b_title_update = VLC_FALSE;
-    p_intf->p_sys->b_chapter_update = VLC_FALSE;
-    p_intf->p_sys->b_spu_update = VLC_FALSE;
-    p_intf->p_sys->b_audio_update = VLC_FALSE;
-
-    p_intf->p_sys->p_input = NULL;
-    p_intf->p_sys->i_playing = -1;
-    p_intf->p_sys->b_slider_free = VLC_TRUE;
-
-    p_intf->p_sys->i_part = 0;
-    p_intf->p_sys->b_mute = VLC_FALSE;
-
-    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 );
-    }
-
-    msg_Unsubscribe( p_intf, p_intf->p_sys->p_sub );
-
-    module_Unneed( p_intf, p_intf->p_sys->p_gtk_main );
-
-    /* Destroy structure */
-    free( p_intf->p_sys );
-}
-
-/*****************************************************************************
- * Run: Gnome 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.
- * XXX: the approach may look kludgy, and probably is, but I could not find
- * a better way to dynamically load a Gnome interface at runtime.
- *****************************************************************************/
-static void Run( intf_thread_t *p_intf )
-{
-    /* The data types we are allowed to receive */
-    static GtkTargetEntry target_table[] =
-    {
-        { "STRING", 0, DROP_ACCEPT_STRING },
-        { "text/uri-list", 0, DROP_ACCEPT_TEXT_URI_LIST },
-        { "text/plain",    0, DROP_ACCEPT_TEXT_PLAIN }
-    };
-    char *psz_sout;
-    GString *       p_target;
-
-    gdk_threads_enter();
-
-    /* Create some useful widgets that will certainly be used */
-    p_intf->p_sys->p_window = create_intf_window( );
-    p_intf->p_sys->p_popup = create_intf_popup( );
-    p_intf->p_sys->p_playwin = create_intf_playlist();
-    p_intf->p_sys->p_messages = create_intf_messages();
-    p_intf->p_sys->p_tooltips = gtk_tooltips_new();
-    p_intf->p_sys->p_sout = create_intf_sout();
-
-    /* Set the title of the main window */
-    gtk_window_set_title( GTK_WINDOW(p_intf->p_sys->p_window),
-                          VOUT_TITLE " (Gnome interface)");
-
-    /* Accept file drops on the main window */
-    gtk_drag_dest_set( GTK_WIDGET( p_intf->p_sys->p_window ),
-                       GTK_DEST_DEFAULT_ALL, target_table,
-                       DROP_ACCEPT_END, GDK_ACTION_COPY );
-    /* Accept file drops on the playlist window */
-    gtk_drag_dest_set( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                            p_intf->p_sys->p_playwin ), "playlist_clist") ),
-                       GTK_DEST_DEFAULT_ALL, target_table,
-                       DROP_ACCEPT_END, GDK_ACTION_COPY );
-
-    /* Get the slider object */
-    p_intf->p_sys->p_slider_frame = gtk_object_get_data(
-                      GTK_OBJECT( p_intf->p_sys->p_window ), "slider_frame" );
-
-    /* Configure the log window */
-    p_intf->p_sys->p_messages_text = GTK_TEXT( gtk_object_get_data(
-        GTK_OBJECT(p_intf->p_sys->p_messages ), "messages_textbox" ) );
-    gtk_text_set_line_wrap( p_intf->p_sys->p_messages_text, TRUE);
-    gtk_text_set_word_wrap( p_intf->p_sys->p_messages_text, FALSE);
-
-    /* Get the interface labels */
-    #define P_LABEL( name ) GTK_LABEL( gtk_object_get_data( \
-                         GTK_OBJECT( p_intf->p_sys->p_window ), name ) )
-    p_intf->p_sys->p_label_title = P_LABEL( "title_label" );
-    p_intf->p_sys->p_label_chapter = P_LABEL( "chapter_label" );
-    #undef P_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;
-    #undef P_SLIDER
-
-    /* We don't create these ones yet because we perhaps won't need them */
-    p_intf->p_sys->p_about = NULL;
-    p_intf->p_sys->p_modules = NULL;
-    p_intf->p_sys->p_open = NULL;
-    p_intf->p_sys->p_jump = NULL;
-
-    /* Hide tooltips if the option is set */
-    if( !config_GetInt( p_intf, "gnome-tooltips" ) )
-    {
-        gtk_tooltips_disable( p_intf->p_sys->p_tooltips );
-    }
-
-    /* Hide toolbar text of the option is set */
-    if( !config_GetInt( p_intf, "gnome-toolbartext" ) )
-    {
-        gtk_toolbar_set_style(
-            GTK_TOOLBAR(lookup_widget( p_intf->p_sys->p_window, "toolbar" )),
-            GTK_TOOLBAR_ICONS );
-    }
-
-    /* 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_popup),
-                         "p_intf", p_intf );
-    gtk_object_set_data( GTK_OBJECT( gtk_object_get_data(
-                             GTK_OBJECT(p_intf->p_sys->p_popup),
-                             "popup_audio" ) ), "p_intf", p_intf );
-    gtk_object_set_data( GTK_OBJECT( gtk_object_get_data(
-                             GTK_OBJECT(p_intf->p_sys->p_popup),
-                             "popup_video" ) ), "p_intf", p_intf );
-
-    gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_playwin ),
-                         "p_intf", p_intf );
-
-    gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_messages ),
-                         "p_intf", p_intf );
-
-    gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_adj),
-                         "p_intf", p_intf );
-
-    gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_sout ),
-                                     "p_intf", p_intf );
-
-    psz_sout = config_GetPsz( p_intf, "sout" );
-    p_target = g_string_new( psz_sout ? psz_sout : "" );
-    if( psz_sout ) free( psz_sout );
-
-    gtk_entry_set_text( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_sout ), "sout_entry_target" ), p_target->str );
-    g_string_free( p_target, TRUE );
-
-    /* FIXME it's to be sure that only file entry is selected */
-    gtk_toggle_button_set_active(  gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_sout ),
-                                   "sout_access_udp" ), TRUE );
-
-    gtk_toggle_button_set_active(  gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_sout ),
-                                   "sout_access_file" ), TRUE );
-
-    /* Show the control window */
-    gtk_widget_show( p_intf->p_sys->p_window );
-
-    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();
-        msleep( INTF_IDLE_SLEEP );
-        gdk_threads_enter();
-    }
-
-    /* Destroy the Tooltips structure */
-    gtk_object_destroy( GTK_OBJECT(p_intf->p_sys->p_tooltips) );
-    gtk_object_destroy( GTK_OBJECT(p_intf->p_sys->p_messages) );
-    gtk_object_destroy( GTK_OBJECT(p_intf->p_sys->p_playwin) );
-    gtk_object_destroy( GTK_OBJECT(p_intf->p_sys->p_popup) );
-    gtk_object_destroy( GTK_OBJECT(p_intf->p_sys->p_window) );
-
-    gdk_threads_leave();
-}
-
-/* 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 void Manage( intf_thread_t *p_intf )
-{
-    int i_start, i_stop;
-
-    vlc_mutex_lock( &p_intf->change_lock );
-
-    /* If the "display popup" flag has changed */
-    if( p_intf->b_menu_change )
-    {
-        if( !GTK_IS_WIDGET( p_intf->p_sys->p_popup ) )
-        {
-            p_intf->p_sys->p_popup = create_intf_popup();
-            gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_popup ),
-                                 "p_popup", p_intf );
-        }
-
-        gnome_popup_menu_do_popup( p_intf->p_sys->p_popup,
-                                   NULL, NULL, NULL, NULL, NULL );
-        p_intf->b_menu_change = 0;
-    }
-
-    /* Update the log window */
-    vlc_mutex_lock( p_intf->p_sys->p_sub->p_lock );
-    i_stop = *p_intf->p_sys->p_sub->pi_stop;
-    vlc_mutex_unlock( p_intf->p_sys->p_sub->p_lock );
-
-    if( p_intf->p_sys->p_sub->i_start != i_stop )
-    {
-        static GdkColor white  = { 0, 0xffff, 0xffff, 0xffff };
-        static GdkColor gray   = { 0, 0xaaaa, 0xaaaa, 0xaaaa };
-        static GdkColor yellow = { 0, 0xffff, 0xffff, 0x6666 };
-        static GdkColor red    = { 0, 0xffff, 0x6666, 0x6666 };
-
-        static const char * ppsz_type[4] = { ": ", " error: ", " warning: ",
-                                             " debug: " };
-        static GdkColor *   pp_color[4] = { &white, &red, &yellow, &gray };
-
-        for( i_start = p_intf->p_sys->p_sub->i_start;
-             i_start != i_stop;
-             i_start = (i_start+1) % VLC_MSG_QSIZE )
-        {
-            /* Append all messages to log window */
-            gtk_text_insert( p_intf->p_sys->p_messages_text, NULL, &gray,
-             NULL, p_intf->p_sys->p_sub->p_msg[i_start].psz_module, -1 );
-
-            gtk_text_insert( p_intf->p_sys->p_messages_text, NULL, &gray,
-                NULL, ppsz_type[p_intf->p_sys->p_sub->p_msg[i_start].i_type],
-                -1 );
-
-            gtk_text_insert( p_intf->p_sys->p_messages_text, NULL,
-                pp_color[p_intf->p_sys->p_sub->p_msg[i_start].i_type], NULL,
-                p_intf->p_sys->p_sub->p_msg[i_start].psz_msg, -1 );
-
-            gtk_text_insert( p_intf->p_sys->p_messages_text, NULL, &gray,
-                NULL, "\n", -1 );
-        }
-
-        vlc_mutex_lock( p_intf->p_sys->p_sub->p_lock );
-        p_intf->p_sys->p_sub->i_start = i_start;
-        vlc_mutex_unlock( p_intf->p_sys->p_sub->p_lock );
-
-        /* If the messages list becomes too big, just clean half of it. */
-        if( gtk_text_get_length( p_intf->p_sys->p_messages_text ) >
-            VLC_MSG_QSIZE * 1000 )
-        {
-            gtk_text_set_point( p_intf->p_sys->p_messages_text, 0 );
-            gtk_text_forward_delete( p_intf->p_sys->p_messages_text,
-                gtk_text_get_length( p_intf->p_sys->p_messages_text ) / 2 );
-        }
-
-        gtk_text_set_point( p_intf->p_sys->p_messages_text,
-                    gtk_text_get_length( p_intf->p_sys->p_messages_text ) );
-    }
-
-    /* Update the playlist */
-    GtkPlayListManage( p_intf );
-
-    /* Update the input */
-    if( p_intf->p_sys->p_input != NULL )
-    {
-        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 == NULL )
-    {
-        p_intf->p_sys->p_input = vlc_object_find( p_intf, VLC_OBJECT_INPUT,
-                                                          FIND_ANYWHERE );
-    }
-
-    if( p_intf->p_sys->p_input )
-    {
-        input_thread_t *p_input = p_intf->p_sys->p_input;
-        aout_instance_t *p_aout  = NULL;
-        vout_thread_t   *p_vout  = NULL;
-        vlc_bool_t      b_need_menus = VLC_FALSE;
-
-        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 )
-            {
-                E_(GtkModeManage)( p_intf );
-                GtkSetupMenus( p_intf );
-                p_intf->p_sys->b_playing = 1;
-            }
-
-            /* Manage the slider */
-            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.
-                 * Beware, the hack below is needed by the dvdplay plugin! */
-                else if( p_intf->p_sys->b_slider_free
-                /* hack -> */ && (p_intf->p_sys->f_adj_oldvalue < 100.) )
-                {
-                    if( newvalue >= 0. && newvalue < 100. )
-                    {
-                        double f_fpos = (double)newvalue / 100.0;
-
-                        /* release the lock to be able to seek */
-                        vlc_mutex_unlock( &p_input->stream.stream_lock );
-                        var_SetFloat( p_input, "position", f_fpos );
-                        vlc_mutex_lock( &p_input->stream.stream_lock );
-
-                    }
-
-                    /* Update the old value */
-                    p_intf->p_sys->f_adj_oldvalue = newvalue;
-                }
-#undef p_area
-            }
-
-            if( p_intf->p_sys->i_part !=
-                p_input->stream.p_selected_area->i_part )
-            {
-                p_intf->p_sys->b_chapter_update = 1;
-                b_need_menus = VLC_TRUE;
-            }
-
-            /* Does the audio output require to update the menus ? */
-            p_aout = (aout_instance_t *)vlc_object_find( p_intf, VLC_OBJECT_AOUT,
-                                                         FIND_ANYWHERE );
-            if( p_aout != NULL )
-            {
-                vlc_value_t val;
-                if( var_Get( (vlc_object_t *)p_aout, "intf-change", &val ) >= 0
-                    && val.b_bool )
-                {
-                    p_intf->p_sys->b_aout_update = 1;
-                    b_need_menus = 1;
-                }
-
-                vlc_object_release( (vlc_object_t *)p_aout );
-            }
-
-
-            /* Does the video output require to update the menus ? */
-            p_vout = (vout_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_VOUT,
-                                                       FIND_ANYWHERE );
-            if( p_vout != NULL ) 
-            {
-                vlc_value_t val;
-                if( var_Get( (vlc_object_t *)p_vout, "intf-change", &val ) >= 0
-                    && val.b_bool )
-                {
-                    p_intf->p_sys->b_vout_update = 1;
-                    b_need_menus = 1;
-                }
-
-                vlc_object_release( (vlc_object_t *)p_vout );
-            }
-
-            if( b_need_menus )
-            {
-                GtkSetupMenus( p_intf );
-            }
-        }
-
-        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;
-    }
-
-    vlc_mutex_unlock( &p_intf->change_lock );
-
-    return;
-}
-
diff --git a/modules/gui/gtk/gnome.glade b/modules/gui/gtk/gnome.glade
deleted file mode 100644 (file)
index c4bd32b..0000000
+++ /dev/null
@@ -1,4305 +0,0 @@
-<?xml version="1.0"?>
-<GTK-Interface>
-
-<project>
-  <name>VLC media player</name>
-  <program_name>vlc</program_name>
-  <directory></directory>
-  <source_directory></source_directory>
-  <pixmaps_directory>pixmaps</pixmaps_directory>
-  <language>C</language>
-  <gnome_support>True</gnome_support>
-  <gettext_support>True</gettext_support>
-  <output_main_file>False</output_main_file>
-  <output_build_files>False</output_build_files>
-  <backup_source_files>False</backup_source_files>
-  <main_source_file>gnome_interface.c</main_source_file>
-  <main_header_file>gnome_interface.h</main_header_file>
-  <handler_source_file>gnome_callbacks.c</handler_source_file>
-  <handler_header_file>gnome_callbacks.h</handler_header_file>
-  <support_source_file>gnome_support.c</support_source_file>
-  <support_header_file>gnome_support.h</support_header_file>
-</project>
-
-<widget>
-  <class>GnomeApp</class>
-  <name>intf_window</name>
-  <signal>
-    <name>delete_event</name>
-    <handler>GtkWindowDelete</handler>
-    <last_modification_time>Sat, 19 May 2001 03:20:57 GMT</last_modification_time>
-  </signal>
-  <signal>
-    <name>drag_data_received</name>
-    <handler>GtkWindowDrag</handler>
-    <last_modification_time>Sat, 19 May 2001 02:30:24 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>False</allow_shrink>
-  <allow_grow>True</allow_grow>
-  <auto_shrink>True</auto_shrink>
-  <enable_layout_config>True</enable_layout_config>
-
-  <widget>
-    <class>GnomeDock</class>
-    <child_name>GnomeApp:dock</child_name>
-    <name>dockitem</name>
-    <allow_floating>True</allow_floating>
-    <child>
-      <padding>0</padding>
-      <expand>True</expand>
-      <fill>True</fill>
-    </child>
-
-    <widget>
-      <class>GnomeDockItem</class>
-      <name>dockitem_menubar</name>
-      <border_width>2</border_width>
-      <placement>GNOME_DOCK_TOP</placement>
-      <band>0</band>
-      <position>0</position>
-      <offset>0</offset>
-      <locked>False</locked>
-      <exclusive>True</exclusive>
-      <never_floating>False</never_floating>
-      <never_vertical>True</never_vertical>
-      <never_horizontal>False</never_horizontal>
-      <shadow_type>GTK_SHADOW_OUT</shadow_type>
-
-      <widget>
-       <class>GtkMenuBar</class>
-       <name>menubar</name>
-       <border_width>2</border_width>
-       <shadow_type>GTK_SHADOW_NONE</shadow_type>
-
-       <widget>
-         <class>GtkMenuItem</class>
-         <name>menubar_file</name>
-         <stock_item>GNOMEUIINFO_MENU_FILE_TREE</stock_item>
-
-         <widget>
-           <class>GtkMenu</class>
-           <name>menubar_file_menu</name>
-
-           <widget>
-             <class>GtkPixmapMenuItem</class>
-             <name>menubar_open</name>
-             <tooltip>Open a file</tooltip>
-             <signal>
-               <name>activate</name>
-               <handler>GtkFileOpenShow</handler>
-               <last_modification_time>Sat, 19 May 2001 16:27:02 GMT</last_modification_time>
-             </signal>
-             <label>_Open File...</label>
-             <right_justify>False</right_justify>
-             <stock_icon>GNOME_STOCK_MENU_OPEN</stock_icon>
-           </widget>
-
-           <widget>
-             <class>GtkPixmapMenuItem</class>
-             <name>menubar_disc</name>
-             <tooltip>Open Disc Media</tooltip>
-             <signal>
-               <name>activate</name>
-               <handler>GtkDiscOpenShow</handler>
-               <last_modification_time>Sat, 19 May 2001 16:27:10 GMT</last_modification_time>
-             </signal>
-             <label>Open _Disc...</label>
-             <right_justify>False</right_justify>
-             <stock_icon>GNOME_STOCK_MENU_CDROM</stock_icon>
-           </widget>
-
-           <widget>
-             <class>GtkPixmapMenuItem</class>
-             <name>menubar_network</name>
-             <tooltip>Select a network stream</tooltip>
-             <signal>
-               <name>activate</name>
-               <handler>GtkNetworkOpenShow</handler>
-               <last_modification_time>Fri, 21 Dec 2001 13:11:28 GMT</last_modification_time>
-             </signal>
-             <label>_Network Stream...</label>
-             <right_justify>False</right_justify>
-             <stock_icon>GNOME_STOCK_MENU_REFRESH</stock_icon>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator1</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkPixmapMenuItem</class>
-             <name>menubar_eject</name>
-             <tooltip>Eject disc</tooltip>
-             <signal>
-               <name>activate</name>
-               <handler>GtkDiscEject</handler>
-               <last_modification_time>Fri, 21 Dec 2001 13:11:28 GMT</last_modification_time>
-             </signal>
-             <label>_Eject Disc</label>
-             <right_justify>False</right_justify>
-             <stock_icon>GNOME_STOCK_MENU_TOP</stock_icon>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator15</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkPixmapMenuItem</class>
-             <name>menubar_close</name>
-             <signal>
-               <name>activate</name>
-               <handler>GtkClose</handler>
-               <last_modification_time>Mon, 15 Jul 2002 09:14:55 GMT</last_modification_time>
-             </signal>
-             <stock_item>GNOMEUIINFO_MENU_CLOSE_ITEM</stock_item>
-           </widget>
-
-           <widget>
-             <class>GtkPixmapMenuItem</class>
-             <name>menubar_exit</name>
-             <signal>
-               <name>activate</name>
-               <handler>GnomeExit</handler>
-               <last_modification_time>Sat, 19 May 2001 16:27:52 GMT</last_modification_time>
-             </signal>
-             <stock_item>GNOMEUIINFO_MENU_EXIT_ITEM</stock_item>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkMenuItem</class>
-         <name>menubar_view</name>
-         <stock_item>GNOMEUIINFO_MENU_VIEW_TREE</stock_item>
-
-         <widget>
-           <class>GtkMenu</class>
-           <name>menubar_view_menu</name>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_hide_interface</name>
-             <signal>
-               <name>activate</name>
-               <handler>GtkWindowToggle</handler>
-               <last_modification_time>Sat, 19 May 2001 16:28:06 GMT</last_modification_time>
-             </signal>
-             <label>_Hide interface</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator9</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_program</name>
-             <sensitive>False</sensitive>
-             <tooltip>Choose the program</tooltip>
-             <label>Progr_am</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_title</name>
-             <sensitive>False</sensitive>
-             <tooltip>Choose title</tooltip>
-             <label>_Title</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_chapter</name>
-             <sensitive>False</sensitive>
-             <tooltip>Choose chapter</tooltip>
-             <label>_Chapter</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator7</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkPixmapMenuItem</class>
-             <name>menubar_playlist</name>
-             <tooltip>Open the playlist window</tooltip>
-             <signal>
-               <name>activate</name>
-               <handler>GtkPlaylistShow</handler>
-               <last_modification_time>Sat, 19 May 2001 16:28:41 GMT</last_modification_time>
-             </signal>
-             <label>_Playlist...</label>
-             <right_justify>False</right_justify>
-             <stock_icon>GNOME_STOCK_MENU_INDEX</stock_icon>
-           </widget>
-
-           <widget>
-             <class>GtkPixmapMenuItem</class>
-             <name>menubar_modules</name>
-             <sensitive>False</sensitive>
-             <tooltip>Open the module manager</tooltip>
-             <signal>
-               <name>activate</name>
-               <handler>GtkModulesShow</handler>
-               <last_modification_time>Sat, 19 May 2001 16:28:53 GMT</last_modification_time>
-             </signal>
-             <label>_Modules...</label>
-             <right_justify>False</right_justify>
-             <stock_icon>GNOME_STOCK_MENU_ATTACH</stock_icon>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_messages</name>
-             <tooltip>Open the messages window</tooltip>
-             <signal>
-               <name>activate</name>
-               <handler>GtkMessagesShow</handler>
-               <last_modification_time>Wed, 20 Feb 2002 05:43:55 GMT</last_modification_time>
-             </signal>
-             <label>Messages...</label>
-             <right_justify>False</right_justify>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkMenuItem</class>
-         <name>menubar_settings</name>
-         <stock_item>GNOMEUIINFO_MENU_SETTINGS_TREE</stock_item>
-
-         <widget>
-           <class>GtkMenu</class>
-           <name>menubar_settings_menu</name>
-
-           <widget>
-             <class>GtkPixmapMenuItem</class>
-             <name>menubar_preferences</name>
-             <signal>
-               <name>activate</name>
-               <handler>GtkPreferencesShow</handler>
-               <last_modification_time>Sat, 19 May 2001 16:29:03 GMT</last_modification_time>
-             </signal>
-             <stock_item>GNOMEUIINFO_MENU_PREFERENCES_ITEM</stock_item>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkMenuItem</class>
-         <name>menubar_config_audio</name>
-         <label>_Audio</label>
-         <right_justify>False</right_justify>
-
-         <widget>
-           <class>GtkMenu</class>
-           <name>menubar_config_audio_menu</name>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_audio</name>
-             <sensitive>False</sensitive>
-             <tooltip>Select audio channel</tooltip>
-             <label>_Language</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator25</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_volume_up</name>
-             <signal>
-               <name>activate</name>
-               <handler>GtkVolumeUp</handler>
-               <last_modification_time>Mon, 20 Jan 2003 16:30:55 GMT</last_modification_time>
-             </signal>
-             <label>Volume Up</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_volume_down</name>
-             <signal>
-               <name>activate</name>
-               <handler>GtkVolumeDown</handler>
-               <last_modification_time>Mon, 20 Jan 2003 16:30:55 GMT</last_modification_time>
-             </signal>
-             <label>Volume Down</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_volume_mute</name>
-             <signal>
-               <name>activate</name>
-               <handler>GtkVolumeMute</handler>
-               <last_modification_time>Mon, 20 Jan 2003 16:30:55 GMT</last_modification_time>
-             </signal>
-             <label>Mute</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator16</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_audio_channels</name>
-             <label>Channels</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_audio_device</name>
-             <label>Device</label>
-             <right_justify>False</right_justify>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkMenuItem</class>
-         <name>menubar_config_video_menu</name>
-         <label>_Video</label>
-         <right_justify>False</right_justify>
-
-         <widget>
-           <class>GtkMenu</class>
-           <name>menubar_config_video_menu_menu</name>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_subpictures</name>
-             <sensitive>False</sensitive>
-             <tooltip>Select subtitles channel</tooltip>
-             <label>_Subtitles</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator23</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_fullscreen</name>
-             <signal>
-               <name>activate</name>
-               <handler>GtkFullscreen</handler>
-               <last_modification_time>Sat, 19 May 2001 16:28:15 GMT</last_modification_time>
-             </signal>
-             <label>_Fullscreen</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator24</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_deinterlace</name>
-             <label>Deinterlace</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_video_device</name>
-             <label>Screen</label>
-             <right_justify>False</right_justify>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkMenuItem</class>
-         <name>menubar_help</name>
-         <stock_item>GNOMEUIINFO_MENU_HELP_TREE</stock_item>
-
-         <widget>
-           <class>GtkMenu</class>
-           <name>menubar_help_menu</name>
-
-           <widget>
-             <class>GtkPixmapMenuItem</class>
-             <name>menubar_about</name>
-             <signal>
-               <name>activate</name>
-               <handler>GtkAboutShow</handler>
-               <last_modification_time>Sat, 19 May 2001 16:29:19 GMT</last_modification_time>
-             </signal>
-             <stock_item>GNOMEUIINFO_MENU_ABOUT_ITEM</stock_item>
-           </widget>
-         </widget>
-       </widget>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GnomeDockItem</class>
-      <name>dockitem_toolbar</name>
-      <border_width>2</border_width>
-      <placement>GNOME_DOCK_TOP</placement>
-      <band>1</band>
-      <position>0</position>
-      <offset>2</offset>
-      <locked>False</locked>
-      <exclusive>True</exclusive>
-      <never_floating>False</never_floating>
-      <never_vertical>False</never_vertical>
-      <never_horizontal>False</never_horizontal>
-      <shadow_type>GTK_SHADOW_OUT</shadow_type>
-
-      <widget>
-       <class>GtkToolbar</class>
-       <name>toolbar</name>
-       <orientation>GTK_ORIENTATION_HORIZONTAL</orientation>
-       <type>GTK_TOOLBAR_BOTH</type>
-       <space_size>16</space_size>
-       <space_style>GTK_TOOLBAR_SPACE_LINE</space_style>
-       <relief>GTK_RELIEF_NONE</relief>
-       <tooltips>True</tooltips>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_file</name>
-         <tooltip>Open a file</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkFileOpenShow</handler>
-           <last_modification_time>Sat, 19 May 2001 03:14:43 GMT</last_modification_time>
-         </signal>
-         <label>File</label>
-         <stock_pixmap>GNOME_STOCK_PIXMAP_OPEN</stock_pixmap>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_disc</name>
-         <tooltip>Open Disc Media</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkDiscOpenShow</handler>
-           <last_modification_time>Sat, 19 May 2001 03:14:38 GMT</last_modification_time>
-         </signal>
-         <label>Disc</label>
-         <stock_pixmap>GNOME_STOCK_PIXMAP_CDROM</stock_pixmap>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_network</name>
-         <tooltip>Select a network stream</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkNetworkOpenShow</handler>
-           <last_modification_time>Sat, 19 May 2001 03:14:33 GMT</last_modification_time>
-         </signal>
-         <label>Net</label>
-         <stock_pixmap>GNOME_STOCK_PIXMAP_REFRESH</stock_pixmap>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_sat</name>
-         <tooltip>Open a Satellite Card</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkSatOpenShow</handler>
-           <last_modification_time>Mon, 25 Mar 2002 01:02:49 GMT</last_modification_time>
-         </signal>
-         <label>Sat</label>
-         <stock_pixmap>GNOME_STOCK_PIXMAP_MIC</stock_pixmap>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_back</name>
-         <sensitive>False</sensitive>
-         <tooltip>Go Backward</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkControlBack</handler>
-           <last_modification_time>Sat, 19 May 2001 03:14:27 GMT</last_modification_time>
-         </signal>
-         <label>Back</label>
-         <stock_pixmap>GNOME_STOCK_PIXMAP_BACK</stock_pixmap>
-         <child>
-           <new_group>True</new_group>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_stop</name>
-         <tooltip>Stop Stream</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkControlStop</handler>
-           <last_modification_time>Sat, 19 May 2001 03:14:22 GMT</last_modification_time>
-         </signal>
-         <label>Stop</label>
-         <stock_pixmap>GNOME_STOCK_PIXMAP_STOP</stock_pixmap>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_eject</name>
-         <tooltip>Eject disc</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkDiscEject</handler>
-           <last_modification_time>Fri, 21 Dec 2001 15:24:18 GMT</last_modification_time>
-         </signal>
-         <label>Eject</label>
-         <stock_pixmap>GNOME_STOCK_PIXMAP_TOP</stock_pixmap>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_play</name>
-         <tooltip>Play Stream</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkControlPlay</handler>
-           <last_modification_time>Wed, 05 Jun 2002 15:10:19 GMT</last_modification_time>
-         </signal>
-         <label>Play</label>
-         <stock_pixmap>GNOME_STOCK_PIXMAP_FORWARD</stock_pixmap>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_pause</name>
-         <sensitive>False</sensitive>
-         <tooltip>Pause Stream</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkControlPause</handler>
-           <last_modification_time>Sat, 19 May 2001 03:14:05 GMT</last_modification_time>
-         </signal>
-         <label>Pause</label>
-         <stock_pixmap>GNOME_STOCK_PIXMAP_BOTTOM</stock_pixmap>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_slow</name>
-         <sensitive>False</sensitive>
-         <tooltip>Play Slower</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkControlSlow</handler>
-           <last_modification_time>Sat, 19 May 2001 03:13:58 GMT</last_modification_time>
-         </signal>
-         <label>Slow</label>
-         <stock_pixmap>GNOME_STOCK_PIXMAP_TIMER_STOP</stock_pixmap>
-         <child>
-           <new_group>True</new_group>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_fast</name>
-         <sensitive>False</sensitive>
-         <tooltip>Play Faster</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkControlFast</handler>
-           <last_modification_time>Sat, 19 May 2001 03:13:53 GMT</last_modification_time>
-         </signal>
-         <label>Fast</label>
-         <stock_pixmap>GNOME_STOCK_PIXMAP_TIMER</stock_pixmap>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_playlist</name>
-         <tooltip>Open Playlist</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkPlaylistShow</handler>
-           <last_modification_time>Sat, 19 May 2001 03:13:48 GMT</last_modification_time>
-         </signal>
-         <label>Playlist</label>
-         <stock_pixmap>GNOME_STOCK_PIXMAP_INDEX</stock_pixmap>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_prev</name>
-         <tooltip>Previous file</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkPlaylistPrev</handler>
-           <last_modification_time>Sat, 19 May 2001 03:13:44 GMT</last_modification_time>
-         </signal>
-         <label>Prev</label>
-         <stock_pixmap>GNOME_STOCK_PIXMAP_FIRST</stock_pixmap>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_next</name>
-         <tooltip>Next File</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkPlaylistNext</handler>
-           <last_modification_time>Sat, 19 May 2001 03:13:40 GMT</last_modification_time>
-         </signal>
-         <label>Next</label>
-         <stock_pixmap>GNOME_STOCK_PIXMAP_LAST</stock_pixmap>
-       </widget>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkVBox</class>
-      <child_name>GnomeDock:contents</child_name>
-      <name>vbox8</name>
-      <homogeneous>False</homogeneous>
-      <spacing>0</spacing>
-
-      <widget>
-       <class>GtkFrame</class>
-       <name>slider_frame</name>
-       <visible>False</visible>
-       <label>-:--:--</label>
-       <label_xalign>0.05</label_xalign>
-       <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkHScale</class>
-         <name>slider</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>button_press_event</name>
-           <handler>GtkSliderPress</handler>
-           <last_modification_time>Sat, 19 May 2001 03:12:57 GMT</last_modification_time>
-         </signal>
-         <signal>
-           <name>button_release_event</name>
-           <handler>GtkSliderRelease</handler>
-           <last_modification_time>Sat, 19 May 2001 03:13:00 GMT</last_modification_time>
-         </signal>
-         <draw_value>False</draw_value>
-         <value_pos>GTK_POS_TOP</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>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkHBox</class>
-       <name>file_box</name>
-       <homogeneous>False</homogeneous>
-       <spacing>0</spacing>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>label_status</name>
-         <label></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>0</padding>
-           <expand>True</expand>
-           <fill>True</fill>
-         </child>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkHBox</class>
-       <name>dvd_box</name>
-       <visible>False</visible>
-       <homogeneous>False</homogeneous>
-       <spacing>0</spacing>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>label21</name>
-         <label>Disc</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>0</padding>
-           <expand>True</expand>
-           <fill>False</fill>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkHBox</class>
-         <name>title_chapter_box</name>
-         <homogeneous>False</homogeneous>
-         <spacing>10</spacing>
-         <child>
-           <padding>0</padding>
-           <expand>True</expand>
-           <fill>False</fill>
-         </child>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label19</name>
-           <label>Title:</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>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>title_label</name>
-           <label>--</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>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkButton</class>
-           <name>button_title_prev</name>
-           <tooltip>Select previous title</tooltip>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>clicked</name>
-             <handler>GtkTitlePrev</handler>
-             <last_modification_time>Sat, 19 May 2001 03:13:28 GMT</last_modification_time>
-           </signal>
-           <stock_button>GNOME_STOCK_BUTTON_PREV</stock_button>
-           <relief>GTK_RELIEF_NORMAL</relief>
-           <child>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkButton</class>
-           <name>button_title_next</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>clicked</name>
-             <handler>GtkTitleNext</handler>
-             <last_modification_time>Sat, 19 May 2001 03:13:23 GMT</last_modification_time>
-           </signal>
-           <stock_button>GNOME_STOCK_BUTTON_NEXT</stock_button>
-           <relief>GTK_RELIEF_NORMAL</relief>
-           <child>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkVSeparator</class>
-         <name>vseparator1</name>
-         <child>
-           <padding>0</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkHBox</class>
-         <name>dvd_chapter_box</name>
-         <homogeneous>False</homogeneous>
-         <spacing>10</spacing>
-         <child>
-           <padding>0</padding>
-           <expand>True</expand>
-           <fill>False</fill>
-         </child>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label20</name>
-           <label>Chapter:</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>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>chapter_label</name>
-           <label>---</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>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkButton</class>
-           <name>button_chapter_prev</name>
-           <tooltip>Select previous chapter</tooltip>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>clicked</name>
-             <handler>GtkChapterPrev</handler>
-             <last_modification_time>Tue, 29 May 2001 13:13:41 GMT</last_modification_time>
-           </signal>
-           <stock_button>GNOME_STOCK_BUTTON_DOWN</stock_button>
-           <relief>GTK_RELIEF_NORMAL</relief>
-           <child>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkButton</class>
-           <name>button_chapter_next</name>
-           <tooltip>Select next chapter</tooltip>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>clicked</name>
-             <handler>GtkChapterNext</handler>
-             <last_modification_time>Sat, 19 May 2001 03:13:08 GMT</last_modification_time>
-           </signal>
-           <stock_button>GNOME_STOCK_BUTTON_UP</stock_button>
-           <relief>GTK_RELIEF_NORMAL</relief>
-           <child>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-         </widget>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkHBox</class>
-       <name>network_box</name>
-       <visible>False</visible>
-       <homogeneous>True</homogeneous>
-       <spacing>0</spacing>
-       <child>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>False</fill>
-       </child>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>network_address_label</name>
-         <label>No server</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>0</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-         </child>
-       </widget>
-      </widget>
-    </widget>
-  </widget>
-
-  <widget>
-    <class>GnomeAppBar</class>
-    <child_name>GnomeApp:appbar</child_name>
-    <name>appbar</name>
-    <has_progress>False</has_progress>
-    <has_status>True</has_status>
-    <child>
-      <padding>0</padding>
-      <expand>True</expand>
-      <fill>True</fill>
-    </child>
-  </widget>
-</widget>
-
-<widget>
-  <class>GtkMenu</class>
-  <name>intf_popup</name>
-
-  <widget>
-    <class>GtkPixmapMenuItem</class>
-    <name>popup_play</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkControlPlay</handler>
-      <last_modification_time>Sat, 19 May 2001 16:16:58 GMT</last_modification_time>
-    </signal>
-    <label>Play</label>
-    <right_justify>False</right_justify>
-    <stock_icon>GNOME_STOCK_MENU_FORWARD</stock_icon>
-  </widget>
-
-  <widget>
-    <class>GtkPixmapMenuItem</class>
-    <name>popup_pause</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkControlPause</handler>
-      <last_modification_time>Sat, 19 May 2001 16:17:31 GMT</last_modification_time>
-    </signal>
-    <label>Pause</label>
-    <right_justify>False</right_justify>
-    <stock_icon>GNOME_STOCK_MENU_BOTTOM</stock_icon>
-  </widget>
-
-  <widget>
-    <class>GtkPixmapMenuItem</class>
-    <name>popup_stop</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkControlStop</handler>
-      <last_modification_time>Sat, 19 May 2001 16:18:10 GMT</last_modification_time>
-    </signal>
-    <label>Stop</label>
-    <right_justify>False</right_justify>
-    <stock_icon>GNOME_STOCK_MENU_STOP</stock_icon>
-  </widget>
-
-  <widget>
-    <class>GtkPixmapMenuItem</class>
-    <name>popup_back</name>
-    <sensitive>False</sensitive>
-    <signal>
-      <name>activate</name>
-      <handler>GtkControlBack</handler>
-      <last_modification_time>Sat, 19 May 2001 16:18:21 GMT</last_modification_time>
-    </signal>
-    <label>Back</label>
-    <right_justify>False</right_justify>
-    <stock_icon>GNOME_STOCK_MENU_BACK</stock_icon>
-  </widget>
-
-  <widget>
-    <class>GtkPixmapMenuItem</class>
-    <name>popup_slow</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkControlSlow</handler>
-      <last_modification_time>Sat, 19 May 2001 16:18:29 GMT</last_modification_time>
-    </signal>
-    <label>Slow</label>
-    <right_justify>False</right_justify>
-    <stock_icon>GNOME_STOCK_MENU_TIMER_STOP</stock_icon>
-  </widget>
-
-  <widget>
-    <class>GtkPixmapMenuItem</class>
-    <name>popup_fast</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkControlFast</handler>
-      <last_modification_time>Sat, 19 May 2001 16:18:37 GMT</last_modification_time>
-    </signal>
-    <label>Fast</label>
-    <right_justify>False</right_justify>
-    <stock_icon>GNOME_STOCK_MENU_TIMER</stock_icon>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>separator3</name>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_next</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkPlaylistNext</handler>
-      <last_modification_time>Sat, 19 May 2001 16:19:18 GMT</last_modification_time>
-    </signal>
-    <label>Next</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_prev</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkPlaylistPrev</handler>
-      <last_modification_time>Sat, 19 May 2001 16:19:26 GMT</last_modification_time>
-    </signal>
-    <label>Prev</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkPixmapMenuItem</class>
-    <name>popup_jump</name>
-    <tooltip>Got directly so specified point</tooltip>
-    <signal>
-      <name>activate</name>
-      <handler>GtkJumpShow</handler>
-      <last_modification_time>Sat, 19 May 2001 16:34:46 GMT</last_modification_time>
-    </signal>
-    <label>_Jump...</label>
-    <right_justify>False</right_justify>
-    <stock_icon>GNOME_STOCK_MENU_JUMP_TO</stock_icon>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>separator17</name>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_program</name>
-    <sensitive>False</sensitive>
-    <tooltip>Switch program</tooltip>
-    <label>Program</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkPixmapMenuItem</class>
-    <name>popup_navigation</name>
-    <sensitive>False</sensitive>
-    <tooltip>Navigate through titles and chapters</tooltip>
-    <label>_Navigation</label>
-    <right_justify>False</right_justify>
-    <stock_icon>GNOME_STOCK_MENU_SEARCH</stock_icon>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_audio</name>
-    <label>Audio</label>
-    <right_justify>False</right_justify>
-
-    <widget>
-      <class>GtkMenu</class>
-      <name>popup_audio_menu</name>
-
-      <widget>
-       <class>GtkPixmapMenuItem</class>
-       <name>popup_language</name>
-       <sensitive>False</sensitive>
-       <tooltip>Select audio channel</tooltip>
-       <label>_Language</label>
-       <right_justify>False</right_justify>
-       <stock_icon>GNOME_STOCK_MENU_VOLUME</stock_icon>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>separator20</name>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_volume_up</name>
-       <signal>
-         <name>activate</name>
-         <handler>GtkVolumeUp</handler>
-         <last_modification_time>Mon, 20 Jan 2003 16:33:43 GMT</last_modification_time>
-       </signal>
-       <label>Volume Up</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_volume_down</name>
-       <signal>
-         <name>activate</name>
-         <handler>GtkVolumeDown</handler>
-         <last_modification_time>Mon, 20 Jan 2003 16:33:43 GMT</last_modification_time>
-       </signal>
-       <label>Volume Down</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_volume_mute</name>
-       <signal>
-         <name>activate</name>
-         <handler>GtkVolumeMute</handler>
-         <last_modification_time>Mon, 20 Jan 2003 16:33:43 GMT</last_modification_time>
-       </signal>
-       <label>Mute</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>separator21</name>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_audio_channels</name>
-       <label>Channels</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_audio_device</name>
-       <label>Device</label>
-       <right_justify>False</right_justify>
-      </widget>
-    </widget>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_video</name>
-    <label>Video</label>
-    <right_justify>False</right_justify>
-
-    <widget>
-      <class>GtkMenu</class>
-      <name>popup_video_menu</name>
-
-      <widget>
-       <class>GtkPixmapMenuItem</class>
-       <name>popup_subpictures</name>
-       <sensitive>False</sensitive>
-       <tooltip>Select subtitles channel</tooltip>
-       <label>_Subtitles</label>
-       <right_justify>False</right_justify>
-       <stock_icon>GNOME_STOCK_MENU_FONT</stock_icon>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>separator18</name>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_fullscreen</name>
-       <tooltip>Toggle fullscreen mode</tooltip>
-       <signal>
-         <name>activate</name>
-         <handler>GtkFullscreen</handler>
-         <last_modification_time>Sat, 19 May 2001 16:19:07 GMT</last_modification_time>
-       </signal>
-       <label>_Fullscreen</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>separator19</name>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_deinterlace</name>
-       <label>Deinterlace</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_video_device</name>
-       <label>Screen</label>
-       <right_justify>False</right_justify>
-      </widget>
-    </widget>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>separator13</name>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_file</name>
-    <stock_item>GNOMEUIINFO_MENU_FILE_TREE</stock_item>
-
-    <widget>
-      <class>GtkMenu</class>
-      <name>popup_file_menu</name>
-
-      <widget>
-       <class>GtkPixmapMenuItem</class>
-       <name>popup_open</name>
-       <tooltip>Open a file</tooltip>
-       <signal>
-         <name>activate</name>
-         <handler>GtkFileOpenShow</handler>
-         <last_modification_time>Sat, 19 May 2001 16:20:08 GMT</last_modification_time>
-       </signal>
-       <label>_Open File...</label>
-       <right_justify>False</right_justify>
-       <stock_icon>GNOME_STOCK_MENU_OPEN</stock_icon>
-      </widget>
-
-      <widget>
-       <class>GtkPixmapMenuItem</class>
-       <name>popup_disc</name>
-       <tooltip>Open Disc Media</tooltip>
-       <signal>
-         <name>activate</name>
-         <handler>GtkDiscOpenShow</handler>
-         <last_modification_time>Sat, 19 May 2001 16:20:44 GMT</last_modification_time>
-       </signal>
-       <label>Open _Disc...</label>
-       <right_justify>False</right_justify>
-       <stock_icon>GNOME_STOCK_MENU_CDROM</stock_icon>
-      </widget>
-
-      <widget>
-       <class>GtkPixmapMenuItem</class>
-       <name>popup_network</name>
-       <tooltip>Select a network stream</tooltip>
-       <signal>
-         <name>activate</name>
-         <handler>GtkNetworkOpenShow</handler>
-         <last_modification_time>Sat, 19 May 2001 16:20:54 GMT</last_modification_time>
-       </signal>
-       <label>_Network Stream...</label>
-       <right_justify>False</right_justify>
-       <stock_icon>GNOME_STOCK_MENU_REFRESH</stock_icon>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>separator4</name>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkPixmapMenuItem</class>
-       <name>popup_about</name>
-       <signal>
-         <name>activate</name>
-         <handler>GtkAboutShow</handler>
-         <last_modification_time>Sat, 19 May 2001 16:21:02 GMT</last_modification_time>
-       </signal>
-       <stock_item>GNOMEUIINFO_MENU_ABOUT_ITEM</stock_item>
-      </widget>
-    </widget>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_interface_toggle</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkWindowToggle</handler>
-      <last_modification_time>Sat, 19 May 2001 16:18:51 GMT</last_modification_time>
-    </signal>
-    <label>Toggle _Interface</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_playlist</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkPlaylistShow</handler>
-      <last_modification_time>Sat, 19 May 2001 16:21:14 GMT</last_modification_time>
-    </signal>
-    <label>Playlist...</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkPixmapMenuItem</class>
-    <name>popup_preferences</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkPreferencesShow</handler>
-      <last_modification_time>Sat, 19 May 2001 16:21:25 GMT</last_modification_time>
-    </signal>
-    <stock_item>GNOMEUIINFO_MENU_PREFERENCES_ITEM</stock_item>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>separator2</name>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkPixmapMenuItem</class>
-    <name>popup_exit</name>
-    <signal>
-      <name>activate</name>
-      <handler>GnomeExit</handler>
-      <last_modification_time>Sat, 19 May 2001 16:21:45 GMT</last_modification_time>
-    </signal>
-    <stock_item>GNOMEUIINFO_MENU_EXIT_ITEM</stock_item>
-  </widget>
-</widget>
-
-<widget>
-  <class>GnomeAbout</class>
-  <name>intf_about</name>
-  <modal>False</modal>
-  <copyright>(c) 1996-2003 the VideoLAN team</copyright>
-  <authors>the VideoLAN team &lt;videolan@videolan.org&gt;
-http://www.videolan.org/
-</authors>
-  <comments>This is the VLC media player, a DVD, MPEG and DivX player. It can play MPEG and MPEG2 files from a file or from a network source.</comments>
-</widget>
-
-<widget>
-  <class>GnomeDialog</class>
-  <name>intf_open</name>
-  <title>Open Stream</title>
-  <type>GTK_WINDOW_TOPLEVEL</type>
-  <position>GTK_WIN_POS_NONE</position>
-  <modal>True</modal>
-  <allow_shrink>False</allow_shrink>
-  <allow_grow>False</allow_grow>
-  <auto_shrink>False</auto_shrink>
-  <auto_close>False</auto_close>
-  <hide_on_close>True</hide_on_close>
-
-  <widget>
-    <class>GtkVBox</class>
-    <child_name>GnomeDialog:vbox</child_name>
-    <name>dialog-vbox5</name>
-    <homogeneous>False</homogeneous>
-    <spacing>8</spacing>
-    <child>
-      <padding>4</padding>
-      <expand>True</expand>
-      <fill>True</fill>
-    </child>
-
-    <widget>
-      <class>GtkHButtonBox</class>
-      <child_name>GnomeDialog:action_area</child_name>
-      <name>dialog-action_area5</name>
-      <layout_style>GTK_BUTTONBOX_END</layout_style>
-      <spacing>8</spacing>
-      <child_min_width>85</child_min_width>
-      <child_min_height>27</child_min_height>
-      <child_ipad_x>7</child_ipad_x>
-      <child_ipad_y>0</child_ipad_y>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>True</fill>
-       <pack>GTK_PACK_END</pack>
-      </child>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>button1</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkOpenOk</handler>
-         <last_modification_time>Thu, 11 Jul 2002 09:10:19 GMT</last_modification_time>
-       </signal>
-       <stock_button>GNOME_STOCK_BUTTON_OK</stock_button>
-      </widget>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>button3</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkOpenCancel</handler>
-         <last_modification_time>Thu, 11 Jul 2002 09:10:29 GMT</last_modification_time>
-       </signal>
-       <stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkVBox</class>
-      <name>open_vbox</name>
-      <homogeneous>False</homogeneous>
-      <spacing>5</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkFrame</class>
-       <name>frame10</name>
-       <label>Media Resource Locator (MRL)</label>
-       <label_xalign>0</label_xalign>
-       <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-       <child>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkHBox</class>
-         <name>hbox21</name>
-         <border_width>5</border_width>
-         <homogeneous>False</homogeneous>
-         <spacing>5</spacing>
-
-         <widget>
-           <class>GtkHBox</class>
-           <name>hbox22</name>
-           <homogeneous>False</homogeneous>
-           <spacing>0</spacing>
-           <child>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>True</fill>
-           </child>
-
-           <widget>
-             <class>GtkLabel</class>
-             <name>label34</name>
-             <label>Open Target:</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>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-         </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>
-             <padding>0</padding>
-             <expand>True</expand>
-             <fill>True</fill>
-           </child>
-
-           <widget>
-             <class>GtkEntry</class>
-             <child_name>GtkCombo:entry</child_name>
-             <name>entry_open</name>
-             <can_focus>True</can_focus>
-             <editable>True</editable>
-             <text_visible>True</text_visible>
-             <text_max_length>0</text_max_length>
-             <text></text>
-           </widget>
-         </widget>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkLabel</class>
-       <name>label36</name>
-       <label>Alternatively, you can build an MRL using one of the following predefined targets:</label>
-       <justify>GTK_JUSTIFY_LEFT</justify>
-       <wrap>False</wrap>
-       <xalign>0</xalign>
-       <yalign>1</yalign>
-       <xpad>0</xpad>
-       <ypad>0</ypad>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-
-      <widget>
-       <class>GtkNotebook</class>
-       <name>open_notebook</name>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>switch_page</name>
-         <handler>GtkOpenNotebookChanged</handler>
-         <after>True</after>
-         <last_modification_time>Tue, 09 Jul 2002 14:01:19 GMT</last_modification_time>
-       </signal>
-       <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>GtkHBox</class>
-         <name>hbox20</name>
-         <border_width>5</border_width>
-         <homogeneous>False</homogeneous>
-         <spacing>5</spacing>
-
-         <widget>
-           <class>GtkCombo</class>
-           <name>combo1</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>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>True</fill>
-           </child>
-
-           <widget>
-             <class>GtkEntry</class>
-             <child_name>GtkCombo:entry</child_name>
-             <name>entry_file</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>changed</name>
-               <handler>GtkOpenChanged</handler>
-               <last_modification_time>Tue, 09 Jul 2002 13:22:33 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>
-           <class>GtkVBox</class>
-           <name>vbox13</name>
-           <homogeneous>True</homogeneous>
-           <spacing>0</spacing>
-           <child>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-
-           <widget>
-             <class>Placeholder</class>
-           </widget>
-
-           <widget>
-             <class>GtkButton</class>
-             <name>open_browse</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>clicked</name>
-               <handler>GtkFileShow</handler>
-               <data>&quot;entry_file&quot;</data>
-               <last_modification_time>Tue, 21 Jan 2003 01:55:20 GMT</last_modification_time>
-             </signal>
-             <label>Browse...</label>
-             <relief>GTK_RELIEF_NORMAL</relief>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-
-           <widget>
-             <class>Placeholder</class>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkLabel</class>
-         <child_name>Notebook:tab</child_name>
-         <name>open_file</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>GtkTable</class>
-         <name>table5</name>
-         <border_width>5</border_width>
-         <rows>5</rows>
-         <columns>2</columns>
-         <homogeneous>False</homogeneous>
-         <row_spacing>5</row_spacing>
-         <column_spacing>5</column_spacing>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label35</name>
-           <label>Disc type</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>GtkHBox</class>
-           <name>hbox24</name>
-           <homogeneous>False</homogeneous>
-           <spacing>0</spacing>
-           <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>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>True</yfill>
-           </child>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>disc_dvd</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkDiscOpenDvd</handler>
-               <last_modification_time>Sun, 13 May 2001 14:48:29 GMT</last_modification_time>
-             </signal>
-             <label>DVD</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>disc</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>disc_vcd</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkDiscOpenVcd</handler>
-               <last_modification_time>Sun, 13 May 2001 14:48:39 GMT</last_modification_time>
-             </signal>
-             <label>VCD</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>disc</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>disc_cdda</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkDiscOpenCDDA</handler>
-               <last_modification_time>Fri, 12 Dec 2003 01:00:17 GMT</last_modification_time>
-             </signal>
-             <label>Audio CD</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>disc</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-         </widget>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label19</name>
-           <label>Device name</label>
-           <justify>GTK_JUSTIFY_CENTER</justify>
-           <wrap>False</wrap>
-           <xalign>0.5</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>GtkEntry</class>
-           <name>disc_name</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:46:05 GMT</last_modification_time>
-           </signal>
-           <editable>True</editable>
-           <text_visible>True</text_visible>
-           <text_max_length>0</text_max_length>
-           <text>/dev/dvd</text>
-           <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>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>False</yfill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>disc_chapter_label</name>
-           <label>Chapter</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>4</top_attach>
-             <bottom_attach>5</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>disc_title_label</name>
-           <label>Title</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>3</top_attach>
-             <bottom_attach>4</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>GtkCheckButton</class>
-           <name>disc_dvd_use_menu</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 21 Jan 2003 13:39:20 GMT</last_modification_time>
-           </signal>
-           <label>Use DVD menus</label>
-           <active>True</active>
-           <draw_indicator>True</draw_indicator>
-           <child>
-             <left_attach>1</left_attach>
-             <right_attach>2</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</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>disc_title</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:45:04 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>True</wrap>
-           <value>1</value>
-           <lower>0</lower>
-           <upper>100</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>3</top_attach>
-             <bottom_attach>4</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>disc_chapter</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:45:38 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>1</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>4</top_attach>
-             <bottom_attach>5</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>
-
-       <widget>
-         <class>GtkLabel</class>
-         <child_name>Notebook:tab</child_name>
-         <name>open_disc</name>
-         <label>Disc</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>GtkTable</class>
-         <name>table4</name>
-         <border_width>5</border_width>
-         <rows>3</rows>
-         <columns>6</columns>
-         <homogeneous>False</homogeneous>
-         <row_spacing>5</row_spacing>
-         <column_spacing>5</column_spacing>
-
-         <widget>
-           <class>GtkRadioButton</class>
-           <name>network_udp</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkNetworkOpenUDP</handler>
-             <last_modification_time>Thu, 16 May 2002 00:47:18 GMT</last_modification_time>
-           </signal>
-           <label>UDP/RTP</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <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>GtkRadioButton</class>
-           <name>network_multicast</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkNetworkOpenMulticast</handler>
-             <last_modification_time>Thu, 16 May 2002 00:47:05 GMT</last_modification_time>
-           </signal>
-           <label>UDP/RTP Multicast</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <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>GtkRadioButton</class>
-           <name>network_http</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkNetworkOpenHTTP</handler>
-             <last_modification_time>Thu, 16 May 2002 00:47:42 GMT</last_modification_time>
-           </signal>
-           <label>HTTP/FTP/MMS</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <child>
-             <left_attach>0</left_attach>
-             <right_attach>1</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</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>network_udp_port_label</name>
-           <label>Port</label>
-           <justify>GTK_JUSTIFY_CENTER</justify>
-           <wrap>False</wrap>
-           <xalign>1</xalign>
-           <yalign>0.5</yalign>
-           <xpad>0</xpad>
-           <ypad>0</ypad>
-           <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>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>False</yfill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>network_multicast_address_label</name>
-           <sensitive>False</sensitive>
-           <label>Address</label>
-           <justify>GTK_JUSTIFY_RIGHT</justify>
-           <wrap>False</wrap>
-           <xalign>1</xalign>
-           <yalign>0.5</yalign>
-           <xpad>0</xpad>
-           <ypad>0</ypad>
-           <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>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>False</yfill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>network_http_url_label</name>
-           <sensitive>False</sensitive>
-           <label>URL</label>
-           <justify>GTK_JUSTIFY_CENTER</justify>
-           <wrap>False</wrap>
-           <xalign>1</xalign>
-           <yalign>0.5</yalign>
-           <xpad>0</xpad>
-           <ypad>0</ypad>
-           <child>
-             <left_attach>1</left_attach>
-             <right_attach>2</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</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>GtkCombo</class>
-           <name>network_multicast_address_combo</name>
-           <sensitive>False</sensitive>
-           <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>2</left_attach>
-             <right_attach>4</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>
-             <class>GtkEntry</class>
-             <child_name>GtkCombo:entry</child_name>
-             <name>network_multicast_address</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>changed</name>
-               <handler>GtkOpenChanged</handler>
-               <last_modification_time>Tue, 09 Jul 2002 13:57:06 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>
-           <class>GtkLabel</class>
-           <name>network_multicast_port_label</name>
-           <sensitive>False</sensitive>
-           <label>Port</label>
-           <justify>GTK_JUSTIFY_CENTER</justify>
-           <wrap>False</wrap>
-           <xalign>1</xalign>
-           <yalign>0.5</yalign>
-           <xpad>0</xpad>
-           <ypad>0</ypad>
-           <child>
-             <left_attach>4</left_attach>
-             <right_attach>5</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>
-           <width>75</width>
-           <sensitive>False</sensitive>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:57:36 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>0</lower>
-           <upper>65535</upper>
-           <step>1</step>
-           <page>10</page>
-           <page_size>10</page_size>
-           <child>
-             <left_attach>5</left_attach>
-             <right_attach>6</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>GtkEntry</class>
-           <name>network_http_url</name>
-           <sensitive>False</sensitive>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:57:26 GMT</last_modification_time>
-           </signal>
-           <editable>True</editable>
-           <text_visible>True</text_visible>
-           <text_max_length>0</text_max_length>
-           <text></text>
-           <child>
-             <left_attach>2</left_attach>
-             <right_attach>6</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</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>GtkSpinButton</class>
-           <name>network_udp_port</name>
-           <width>1</width>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:56:55 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>0</lower>
-           <upper>65535</upper>
-           <step>1</step>
-           <page>10</page>
-           <page_size>10</page_size>
-           <child>
-             <left_attach>2</left_attach>
-             <right_attach>3</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>
-
-       <widget>
-         <class>GtkLabel</class>
-         <child_name>Notebook:tab</child_name>
-         <name>open_net</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>
-         <class>GtkTable</class>
-         <name>table3</name>
-         <border_width>5</border_width>
-         <rows>4</rows>
-         <columns>2</columns>
-         <homogeneous>False</homogeneous>
-         <row_spacing>5</row_spacing>
-         <column_spacing>5</column_spacing>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label24</name>
-           <label>Symbol Rate</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>GtkLabel</class>
-           <name>label25</name>
-           <label>Frequency</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>label26</name>
-           <label>Polarization</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>2</top_attach>
-             <bottom_attach>3</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>sat_freq</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:58:00 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>11954</value>
-           <lower>10000</lower>
-           <upper>12999</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>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>label27</name>
-           <label>FEC</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>3</top_attach>
-             <bottom_attach>4</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>GtkHBox</class>
-           <name>hbox23</name>
-           <homogeneous>False</homogeneous>
-           <spacing>0</spacing>
-           <child>
-             <left_attach>1</left_attach>
-             <right_attach>2</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</bottom_attach>
-             <xpad>0</xpad>
-             <ypad>0</ypad>
-             <xexpand>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>True</yfill>
-           </child>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>sat_pol_vert</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkSatOpenToggle</handler>
-               <last_modification_time>Tue, 09 Jul 2002 15:16:25 GMT</last_modification_time>
-             </signal>
-             <label>Vertical</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>pol</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>sat_pol_hor</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkSatOpenToggle</handler>
-               <last_modification_time>Tue, 09 Jul 2002 15:16:36 GMT</last_modification_time>
-             </signal>
-             <label>Horizontal</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>pol</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-         </widget>
-
-         <widget>
-           <class>GtkSpinButton</class>
-           <name>sat_srate</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:58:09 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>27500</value>
-           <lower>1000</lower>
-           <upper>30000</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>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>False</yfill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkCombo</class>
-           <name>sat_fec</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>1/2
-2/3
-3/4
-4/5
-5/6
-7/8
-</items>
-           <child>
-             <left_attach>1</left_attach>
-             <right_attach>2</right_attach>
-             <top_attach>3</top_attach>
-             <bottom_attach>4</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>
-             <class>GtkEntry</class>
-             <child_name>GtkCombo:entry</child_name>
-             <name>combo-entry1</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>changed</name>
-               <handler>GtkOpenChanged</handler>
-               <last_modification_time>Tue, 09 Jul 2002 13:58:26 GMT</last_modification_time>
-             </signal>
-             <editable>True</editable>
-             <text_visible>True</text_visible>
-             <text_max_length>0</text_max_length>
-             <text>3/4</text>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkLabel</class>
-         <child_name>Notebook:tab</child_name>
-         <name>open_sat</name>
-         <label>Satellite</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>GtkCheckButton</class>
-      <name>show_subtitle</name>
-      <can_focus>True</can_focus>
-      <signal>
-       <name>clicked</name>
-       <handler>GtkOpenSubtitleShow</handler>
-       <last_modification_time>Tue, 21 Jan 2003 01:59:00 GMT</last_modification_time>
-      </signal>
-      <label>Subtitle</label>
-      <active>False</active>
-      <draw_indicator>True</draw_indicator>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>False</fill>
-      </child>
-    </widget>
-
-    <widget>
-      <class>GtkHBox</class>
-      <name>hbox_subtitle</name>
-      <border_width>5</border_width>
-      <homogeneous>False</homogeneous>
-      <spacing>5</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkCombo</class>
-       <name>combo3</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>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkEntry</class>
-         <child_name>GtkCombo:entry</child_name>
-         <name>entry_subtitle</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>changed</name>
-           <handler>GtkOpenChanged</handler>
-           <last_modification_time>Tue, 09 Jul 2002 13:22:33 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>
-       <class>GtkVBox</class>
-       <name>vbox14</name>
-       <homogeneous>True</homogeneous>
-       <spacing>0</spacing>
-       <child>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>False</fill>
-       </child>
-
-       <widget>
-         <class>GtkButton</class>
-         <name>button4</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkFileShow</handler>
-           <data>&quot;entry_subtitle&quot;</data>
-           <last_modification_time>Tue, 21 Jan 2003 01:52:07 GMT</last_modification_time>
-         </signal>
-         <label>Browse...</label>
-         <relief>GTK_RELIEF_NORMAL</relief>
-         <child>
-           <padding>0</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-         </child>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkLabel</class>
-       <name>label37</name>
-       <label>delay</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>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-
-      <widget>
-       <class>GtkSpinButton</class>
-       <name>subtitle_delay</name>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>changed</name>
-         <handler>GtkOpenChanged</handler>
-         <last_modification_time>Tue, 21 Jan 2003 01:54:32 GMT</last_modification_time>
-       </signal>
-       <climb_rate>1</climb_rate>
-       <digits>1</digits>
-       <numeric>False</numeric>
-       <update_policy>GTK_UPDATE_ALWAYS</update_policy>
-       <snap>False</snap>
-       <wrap>False</wrap>
-       <value>0</value>
-       <lower>-1000</lower>
-       <upper>1000</upper>
-       <step>0.1</step>
-       <page>10</page>
-       <page_size>10</page_size>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-
-      <widget>
-       <class>GtkLabel</class>
-       <name>label38</name>
-       <label>fps</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>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-
-      <widget>
-       <class>GtkSpinButton</class>
-       <name>subtitle_fps</name>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>changed</name>
-         <handler>GtkOpenChanged</handler>
-         <last_modification_time>Tue, 21 Jan 2003 01:54:41 GMT</last_modification_time>
-       </signal>
-       <climb_rate>1</climb_rate>
-       <digits>1</digits>
-       <numeric>False</numeric>
-       <update_policy>GTK_UPDATE_ALWAYS</update_policy>
-       <snap>False</snap>
-       <wrap>False</wrap>
-       <value>0</value>
-       <lower>0</lower>
-       <upper>100</upper>
-       <step>0.1</step>
-       <page>10</page>
-       <page_size>10</page_size>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkHBox</class>
-      <name>hbox28</name>
-      <homogeneous>False</homogeneous>
-      <spacing>0</spacing>
-      <child>
-       <padding>2</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkCheckButton</class>
-       <name>show_sout_settings</name>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkOpenSoutShow</handler>
-         <last_modification_time>Sun, 26 Jan 2003 11:50:50 GMT</last_modification_time>
-       </signal>
-       <label>Stream output</label>
-       <active>False</active>
-       <draw_indicator>True</draw_indicator>
-       <child>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>False</fill>
-       </child>
-      </widget>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>sout_settings</name>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkSoutSettings</handler>
-         <last_modification_time>Sun, 26 Jan 2003 11:51:35 GMT</last_modification_time>
-       </signal>
-       <label>Settings...</label>
-       <relief>GTK_RELIEF_NORMAL</relief>
-       <child>
-         <padding>20</padding>
-         <expand>False</expand>
-         <fill>False</fill>
-       </child>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
-<widget>
-  <class>GtkFileSelection</class>
-  <name>intf_file</name>
-  <border_width>10</border_width>
-  <title>Open File</title>
-  <type>GTK_WINDOW_TOPLEVEL</type>
-  <position>GTK_WIN_POS_NONE</position>
-  <modal>True</modal>
-  <allow_shrink>False</allow_shrink>
-  <allow_grow>True</allow_grow>
-  <auto_shrink>False</auto_shrink>
-  <show_file_op_buttons>False</show_file_op_buttons>
-
-  <widget>
-    <class>GtkButton</class>
-    <child_name>FileSel:ok_button</child_name>
-    <name>file_ok</name>
-    <can_default>True</can_default>
-    <can_focus>True</can_focus>
-    <signal>
-      <name>clicked</name>
-      <handler>GtkFileOk</handler>
-      <last_modification_time>Thu, 11 Jul 2002 09:07:44 GMT</last_modification_time>
-    </signal>
-    <stock_button>GNOME_STOCK_BUTTON_OK</stock_button>
-    <relief>GTK_RELIEF_NORMAL</relief>
-  </widget>
-
-  <widget>
-    <class>GtkButton</class>
-    <child_name>FileSel:cancel_button</child_name>
-    <name>file_cancel</name>
-    <can_default>True</can_default>
-    <can_focus>True</can_focus>
-    <signal>
-      <name>clicked</name>
-      <handler>GtkFileCancel</handler>
-      <last_modification_time>Thu, 11 Jul 2002 09:07:50 GMT</last_modification_time>
-    </signal>
-    <stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
-    <relief>GTK_RELIEF_NORMAL</relief>
-  </widget>
-</widget>
-
-<widget>
-  <class>GnomeDialog</class>
-  <name>intf_modules</name>
-  <title>Modules</title>
-  <type>GTK_WINDOW_TOPLEVEL</type>
-  <position>GTK_WIN_POS_NONE</position>
-  <modal>False</modal>
-  <allow_shrink>False</allow_shrink>
-  <allow_grow>False</allow_grow>
-  <auto_shrink>False</auto_shrink>
-  <auto_close>False</auto_close>
-  <hide_on_close>False</hide_on_close>
-
-  <widget>
-    <class>GtkVBox</class>
-    <child_name>GnomeDialog:vbox</child_name>
-    <name>dialog-vbox1</name>
-    <homogeneous>False</homogeneous>
-    <spacing>8</spacing>
-    <child>
-      <padding>4</padding>
-      <expand>True</expand>
-      <fill>True</fill>
-    </child>
-
-    <widget>
-      <class>GtkHButtonBox</class>
-      <child_name>GnomeDialog:action_area</child_name>
-      <name>dialog-action_area1</name>
-      <layout_style>GTK_BUTTONBOX_END</layout_style>
-      <spacing>8</spacing>
-      <child_min_width>85</child_min_width>
-      <child_min_height>27</child_min_height>
-      <child_ipad_x>7</child_ipad_x>
-      <child_ipad_y>0</child_ipad_y>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>True</fill>
-       <pack>GTK_PACK_END</pack>
-      </child>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>modules_ok</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <stock_button>GNOME_STOCK_BUTTON_OK</stock_button>
-      </widget>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>modules_apply</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <stock_button>GNOME_STOCK_BUTTON_APPLY</stock_button>
-      </widget>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>modules_cancel</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkLabel</class>
-      <name>label12</name>
-      <label>Sorry, the module manager isn't functional yet. Please retry in a later version.</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>0</padding>
-       <expand>False</expand>
-       <fill>False</fill>
-      </child>
-    </widget>
-  </widget>
-</widget>
-
-<widget>
-  <class>GnomeDialog</class>
-  <name>intf_playlist</name>
-  <signal>
-    <name>destroy</name>
-    <handler>gtk_widget_hide</handler>
-    <last_modification_time>Sat, 19 May 2001 03:09:08 GMT</last_modification_time>
-  </signal>
-  <signal>
-    <name>delete_event</name>
-    <handler>gtk_widget_hide</handler>
-    <last_modification_time>Sat, 19 May 2001 03:09:12 GMT</last_modification_time>
-  </signal>
-  <title>Playlist</title>
-  <type>GTK_WINDOW_TOPLEVEL</type>
-  <position>GTK_WIN_POS_NONE</position>
-  <modal>False</modal>
-  <default_width>400</default_width>
-  <default_height>300</default_height>
-  <allow_shrink>True</allow_shrink>
-  <allow_grow>True</allow_grow>
-  <auto_shrink>False</auto_shrink>
-  <auto_close>False</auto_close>
-  <hide_on_close>True</hide_on_close>
-
-  <widget>
-    <class>GtkVBox</class>
-    <child_name>GnomeDialog:vbox</child_name>
-    <name>playlist_vbox</name>
-    <homogeneous>False</homogeneous>
-    <spacing>8</spacing>
-    <child>
-      <padding>4</padding>
-      <expand>True</expand>
-      <fill>True</fill>
-    </child>
-
-    <widget>
-      <class>GtkHButtonBox</class>
-      <child_name>GnomeDialog:action_area</child_name>
-      <name>playlist_action</name>
-      <layout_style>GTK_BUTTONBOX_END</layout_style>
-      <spacing>8</spacing>
-      <child_min_width>100</child_min_width>
-      <child_min_height>38</child_min_height>
-      <child_ipad_x>7</child_ipad_x>
-      <child_ipad_y>0</child_ipad_y>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>True</fill>
-       <pack>GTK_PACK_END</pack>
-      </child>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>playlist_ok</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkPlaylistOk</handler>
-         <last_modification_time>Sat, 19 May 2001 03:09:00 GMT</last_modification_time>
-       </signal>
-       <stock_button>GNOME_STOCK_BUTTON_OK</stock_button>
-      </widget>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>playlist_cancel</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkPlaylistCancel</handler>
-         <last_modification_time>Sat, 19 May 2001 03:08:56 GMT</last_modification_time>
-       </signal>
-       <stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkScrolledWindow</class>
-      <name>playlist_scrolledwindow</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>GtkViewport</class>
-       <name>playlist_viewport</name>
-       <shadow_type>GTK_SHADOW_IN</shadow_type>
-
-       <widget>
-         <class>GtkFrame</class>
-         <name>playlist_frame</name>
-         <border_width>4</border_width>
-         <label>Playlist</label>
-         <label_xalign>0.05</label_xalign>
-         <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-
-         <widget>
-           <class>GtkCList</class>
-           <name>playlist_clist</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>event</name>
-             <handler>GtkPlaylistEvent</handler>
-             <last_modification_time>Sat, 19 May 2001 03:08:43 GMT</last_modification_time>
-           </signal>
-           <signal>
-             <name>drag_data_received</name>
-             <handler>GtkPlaylistDragData</handler>
-             <last_modification_time>Sat, 19 May 2001 03:08:45 GMT</last_modification_time>
-           </signal>
-           <signal>
-             <name>drag_motion</name>
-             <handler>GtkPlaylistDragMotion</handler>
-             <last_modification_time>Sat, 19 May 2001 03:08:49 GMT</last_modification_time>
-           </signal>
-           <columns>2</columns>
-           <column_widths>287,70</column_widths>
-           <selection_mode>GTK_SELECTION_EXTENDED</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>playlist_label_url</name>
-             <label>Url</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>playlist_label_duration</name>
-             <label>Duration</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>
-
-    <widget>
-      <class>GtkMenuBar</class>
-      <name>playlist_menubar</name>
-      <shadow_type>GTK_SHADOW_OUT</shadow_type>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>False</fill>
-      </child>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>playlist_add</name>
-       <label>Add</label>
-       <right_justify>False</right_justify>
-
-       <widget>
-         <class>GtkMenu</class>
-         <name>playlist_add_menu</name>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_add_disc</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkDiscOpenShow</handler>
-             <last_modification_time>Sat, 19 May 2001 16:22:26 GMT</last_modification_time>
-           </signal>
-           <label>Disc</label>
-           <right_justify>False</right_justify>
-         </widget>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_add_file</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkFileOpenShow</handler>
-             <last_modification_time>Sat, 19 May 2001 16:22:37 GMT</last_modification_time>
-           </signal>
-           <label>File</label>
-           <right_justify>False</right_justify>
-         </widget>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_add_network</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkNetworkOpenShow</handler>
-             <last_modification_time>Sat, 19 May 2001 16:22:52 GMT</last_modification_time>
-           </signal>
-           <label>Network</label>
-           <right_justify>False</right_justify>
-         </widget>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_add_url</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkPlaylistAddUrl</handler>
-             <last_modification_time>Sat, 19 May 2001 16:24:27 GMT</last_modification_time>
-           </signal>
-           <label>Url</label>
-           <right_justify>False</right_justify>
-         </widget>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>playlist_delete</name>
-       <label>Delete</label>
-       <right_justify>False</right_justify>
-
-       <widget>
-         <class>GtkMenu</class>
-         <name>playlist_delete_menu</name>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_delete_all</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkPlaylistDeleteAll</handler>
-             <last_modification_time>Sat, 19 May 2001 03:08:11 GMT</last_modification_time>
-           </signal>
-           <label>All</label>
-           <right_justify>False</right_justify>
-         </widget>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_delete_item</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkPlaylistDeleteSelected</handler>
-             <last_modification_time>Sat, 19 May 2001 03:08:05 GMT</last_modification_time>
-           </signal>
-           <label>Item</label>
-           <right_justify>False</right_justify>
-         </widget>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>playlist_selection</name>
-       <label>Selection</label>
-       <right_justify>False</right_justify>
-
-       <widget>
-         <class>GtkMenu</class>
-         <name>playlist_selection_menu</name>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_selection_crop</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkPlaylistCrop</handler>
-             <last_modification_time>Sat, 19 May 2001 03:07:56 GMT</last_modification_time>
-           </signal>
-           <label>Crop</label>
-           <right_justify>False</right_justify>
-         </widget>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_selection_invert</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkPlaylistInvert</handler>
-             <last_modification_time>Sat, 19 May 2001 03:07:51 GMT</last_modification_time>
-           </signal>
-           <label>Invert</label>
-           <right_justify>False</right_justify>
-         </widget>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_selection_select</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkPlaylistSelect</handler>
-             <last_modification_time>Sat, 19 May 2001 03:07:45 GMT</last_modification_time>
-           </signal>
-           <label>Select</label>
-           <right_justify>False</right_justify>
-         </widget>
-       </widget>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
-<widget>
-  <class>GnomeDialog</class>
-  <name>intf_jump</name>
-  <type>GTK_WINDOW_TOPLEVEL</type>
-  <position>GTK_WIN_POS_NONE</position>
-  <modal>False</modal>
-  <allow_shrink>False</allow_shrink>
-  <allow_grow>False</allow_grow>
-  <auto_shrink>False</auto_shrink>
-  <auto_close>False</auto_close>
-  <hide_on_close>False</hide_on_close>
-
-  <widget>
-    <class>GtkVBox</class>
-    <child_name>GnomeDialog:vbox</child_name>
-    <name>jump_vbox</name>
-    <homogeneous>False</homogeneous>
-    <spacing>8</spacing>
-    <child>
-      <padding>0</padding>
-      <expand>True</expand>
-      <fill>True</fill>
-    </child>
-
-    <widget>
-      <class>GtkHButtonBox</class>
-      <child_name>GnomeDialog:action_area</child_name>
-      <name>jump_action</name>
-      <layout_style>GTK_BUTTONBOX_END</layout_style>
-      <spacing>8</spacing>
-      <child_min_width>85</child_min_width>
-      <child_min_height>27</child_min_height>
-      <child_ipad_x>7</child_ipad_x>
-      <child_ipad_y>0</child_ipad_y>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>True</fill>
-       <pack>GTK_PACK_END</pack>
-      </child>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>jump_ok</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkJumpOk</handler>
-         <last_modification_time>Sat, 19 May 2001 03:07:27 GMT</last_modification_time>
-       </signal>
-       <stock_button>GNOME_STOCK_BUTTON_OK</stock_button>
-      </widget>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>jump_cancel</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkJumpCancel</handler>
-         <last_modification_time>Sat, 19 May 2001 03:07:20 GMT</last_modification_time>
-       </signal>
-       <stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkFrame</class>
-      <name>jump_frame</name>
-      <border_width>5</border_width>
-      <label>Jump to: </label>
-      <label_xalign>0.05</label_xalign>
-      <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>False</fill>
-      </child>
-
-      <widget>
-       <class>GtkHBox</class>
-       <name>jump_box</name>
-       <border_width>5</border_width>
-       <homogeneous>False</homogeneous>
-       <spacing>0</spacing>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>jump_label3</name>
-         <label>s.</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>0</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-           <pack>GTK_PACK_END</pack>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkSpinButton</class>
-         <name>jump_second_spinbutton</name>
-         <can_focus>True</can_focus>
-         <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>0</value>
-         <lower>0</lower>
-         <upper>100</upper>
-         <step>1</step>
-         <page>10</page>
-         <page_size>10</page_size>
-         <child>
-           <padding>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-           <pack>GTK_PACK_END</pack>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>jump_label1</name>
-         <label>m:</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>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-           <pack>GTK_PACK_END</pack>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkSpinButton</class>
-         <name>jump_minute_spinbutton</name>
-         <can_focus>True</can_focus>
-         <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>0</value>
-         <lower>0</lower>
-         <upper>59</upper>
-         <step>1</step>
-         <page>10</page>
-         <page_size>10</page_size>
-         <child>
-           <padding>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-           <pack>GTK_PACK_END</pack>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>jump_label2</name>
-         <label>h:</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>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-           <pack>GTK_PACK_END</pack>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkSpinButton</class>
-         <name>jump_hour_spinbutton</name>
-         <can_focus>True</can_focus>
-         <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>0</value>
-         <lower>0</lower>
-         <upper>10</upper>
-         <step>1</step>
-         <page>10</page>
-         <page_size>10</page_size>
-         <child>
-           <padding>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-           <pack>GTK_PACK_END</pack>
-         </child>
-       </widget>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
-<widget>
-  <class>GnomeDialog</class>
-  <name>intf_messages</name>
-  <signal>
-    <name>destroy</name>
-    <handler>gtk_widget_hide</handler>
-    <last_modification_time>Wed, 20 Feb 2002 05:11:27 GMT</last_modification_time>
-  </signal>
-  <signal>
-    <name>delete_event</name>
-    <handler>gtk_widget_hide</handler>
-    <last_modification_time>Wed, 20 Feb 2002 05:11:27 GMT</last_modification_time>
-  </signal>
-  <title>Messages</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>False</auto_shrink>
-  <auto_close>False</auto_close>
-  <hide_on_close>True</hide_on_close>
-
-  <widget>
-    <class>GtkVBox</class>
-    <child_name>GnomeDialog:vbox</child_name>
-    <name>dialog-vbox6</name>
-    <homogeneous>False</homogeneous>
-    <spacing>8</spacing>
-    <child>
-      <padding>4</padding>
-      <expand>True</expand>
-      <fill>True</fill>
-    </child>
-
-    <widget>
-      <class>GtkHButtonBox</class>
-      <child_name>GnomeDialog:action_area</child_name>
-      <name>dialog-action_area6</name>
-      <layout_style>GTK_BUTTONBOX_END</layout_style>
-      <spacing>8</spacing>
-      <child_min_width>85</child_min_width>
-      <child_min_height>27</child_min_height>
-      <child_ipad_x>7</child_ipad_x>
-      <child_ipad_y>0</child_ipad_y>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>True</fill>
-       <pack>GTK_PACK_END</pack>
-      </child>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>messages_ok</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkMessagesOk</handler>
-         <last_modification_time>Wed, 20 Feb 2002 05:12:11 GMT</last_modification_time>
-       </signal>
-       <stock_button>GNOME_STOCK_BUTTON_OK</stock_button>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkScrolledWindow</class>
-      <name>scrolledwindow1</name>
-      <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy>
-      <vscrollbar_policy>GTK_POLICY_ALWAYS</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>GtkText</class>
-       <name>messages_textbox</name>
-       <width>600</width>
-       <height>400</height>
-       <can_focus>True</can_focus>
-       <editable>False</editable>
-       <text></text>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
-<widget>
-  <class>GnomeDialog</class>
-  <name>intf_sout</name>
-  <border_width>5</border_width>
-  <type>GTK_WINDOW_TOPLEVEL</type>
-  <position>GTK_WIN_POS_NONE</position>
-  <modal>True</modal>
-  <allow_shrink>False</allow_shrink>
-  <allow_grow>False</allow_grow>
-  <auto_shrink>False</auto_shrink>
-  <auto_close>False</auto_close>
-  <hide_on_close>False</hide_on_close>
-
-  <widget>
-    <class>GtkVBox</class>
-    <child_name>GnomeDialog:vbox</child_name>
-    <name>dialog-vbox7</name>
-    <homogeneous>False</homogeneous>
-    <spacing>8</spacing>
-    <child>
-      <padding>4</padding>
-      <expand>True</expand>
-      <fill>True</fill>
-    </child>
-
-    <widget>
-      <class>GtkHButtonBox</class>
-      <child_name>GnomeDialog:action_area</child_name>
-      <name>dialog-action_area7</name>
-      <layout_style>GTK_BUTTONBOX_END</layout_style>
-      <spacing>8</spacing>
-      <child_min_width>85</child_min_width>
-      <child_min_height>27</child_min_height>
-      <child_ipad_x>7</child_ipad_x>
-      <child_ipad_y>0</child_ipad_y>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>True</fill>
-       <pack>GTK_PACK_END</pack>
-      </child>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>button7</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkSoutSettingsOk</handler>
-         <last_modification_time>Sun, 26 Jan 2003 10:59:18 GMT</last_modification_time>
-       </signal>
-       <stock_button>GNOME_STOCK_BUTTON_OK</stock_button>
-      </widget>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>button9</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkSoutSettingsCancel</handler>
-         <last_modification_time>Sun, 26 Jan 2003 10:58:55 GMT</last_modification_time>
-       </signal>
-       <stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkVBox</class>
-      <name>vbox16</name>
-      <homogeneous>False</homogeneous>
-      <spacing>0</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkFrame</class>
-       <name>frame11</name>
-       <label>Stream output (MRL)</label>
-       <label_xalign>0</label_xalign>
-       <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-       <child>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkHBox</class>
-         <name>hbox26</name>
-         <border_width>5</border_width>
-         <homogeneous>False</homogeneous>
-         <spacing>0</spacing>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label39</name>
-           <label>Destination Target: </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>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkCombo</class>
-           <name>combo4</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>
-             <padding>0</padding>
-             <expand>True</expand>
-             <fill>True</fill>
-           </child>
-
-           <widget>
-             <class>GtkEntry</class>
-             <child_name>GtkCombo:entry</child_name>
-             <name>sout_entry_target</name>
-             <can_focus>True</can_focus>
-             <editable>True</editable>
-             <text_visible>True</text_visible>
-             <text_max_length>0</text_max_length>
-             <text></text>
-           </widget>
-         </widget>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkFrame</class>
-       <name>frame12</name>
-       <label_xalign>0</label_xalign>
-       <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkTable</class>
-         <name>table6</name>
-         <rows>3</rows>
-         <columns>5</columns>
-         <homogeneous>False</homogeneous>
-         <row_spacing>5</row_spacing>
-         <column_spacing>5</column_spacing>
-
-         <widget>
-           <class>GtkRadioButton</class>
-           <name>sout_access_file</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkSoutSettingsAccessFile</handler>
-             <last_modification_time>Sun, 26 Jan 2003 10:18:26 GMT</last_modification_time>
-           </signal>
-           <label>File</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <group>sout_access</group>
-           <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>GtkRadioButton</class>
-           <name>sout_access_udp</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkSoutSettingsAccessUdp</handler>
-             <last_modification_time>Sun, 26 Jan 2003 10:18:55 GMT</last_modification_time>
-           </signal>
-           <label>UDP</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <group>sout_access</group>
-           <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>GtkRadioButton</class>
-           <name>sout_access_rtp</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkSoutSettingsAccessUdp</handler>
-             <last_modification_time>Sun, 26 Jan 2003 10:19:27 GMT</last_modification_time>
-           </signal>
-           <label>RTP</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <group>sout_access</group>
-           <child>
-             <left_attach>0</left_attach>
-             <right_attach>1</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</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>sout_file_path_label</name>
-           <label>Path:</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>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>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>False</yfill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>sout_udp_address_label</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>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>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>False</yfill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkCombo</class>
-           <name>sout_udp_address_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></items>
-           <child>
-             <left_attach>2</left_attach>
-             <right_attach>3</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>
-             <class>GtkEntry</class>
-             <child_name>GtkCombo:entry</child_name>
-             <name>sout_udp_address</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>changed</name>
-               <handler>GtkSoutSettingsChanged</handler>
-               <last_modification_time>Sun, 26 Jan 2003 10:21:33 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>
-           <class>GtkLabel</class>
-           <name>sout_udp_port_label</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>3</left_attach>
-             <right_attach>4</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>sout_udp_port</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkSoutSettingsChanged</handler>
-             <last_modification_time>Sun, 26 Jan 2003 11:00:44 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>0</lower>
-           <upper>65535</upper>
-           <step>1</step>
-           <page>10</page>
-           <page_size>10</page_size>
-           <child>
-             <left_attach>4</left_attach>
-             <right_attach>5</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>combo5</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>2</left_attach>
-             <right_attach>5</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>sout_file_path</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>changed</name>
-               <handler>GtkSoutSettingsChanged</handler>
-               <last_modification_time>Sun, 26 Jan 2003 10:21:04 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>
-           <class>GtkHBox</class>
-           <name>hbox27</name>
-           <homogeneous>False</homogeneous>
-           <spacing>0</spacing>
-           <child>
-             <left_attach>4</left_attach>
-             <right_attach>5</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</bottom_attach>
-             <xpad>0</xpad>
-             <ypad>0</ypad>
-             <xexpand>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>True</yfill>
-           </child>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>sout_mux_ts</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkSoutSettingsChanged</handler>
-               <last_modification_time>Sun, 26 Jan 2003 10:23:59 GMT</last_modification_time>
-             </signal>
-             <label>TS</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>sout_mux</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>sout_mux_ps</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkSoutSettingsChanged</handler>
-               <last_modification_time>Sun, 26 Jan 2003 10:24:33 GMT</last_modification_time>
-             </signal>
-             <label>PS</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>sout_mux</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>sout_mux_avi</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkSoutSettingsChanged</handler>
-               <last_modification_time>Sun, 26 Jan 2003 10:25:01 GMT</last_modification_time>
-             </signal>
-             <label>AVI</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>sout_mux</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-         </widget>
-       </widget>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
-</GTK-Interface>
diff --git a/modules/gui/gtk/gnome_callbacks.c b/modules/gui/gtk/gnome_callbacks.c
deleted file mode 100644 (file)
index 29f49c5..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-/*****************************************************************************
- * This file is not used: everything is in gtk_callbacks.c
- *****************************************************************************/
-
-void
-GtkDiscOpenCDDA                        (GtkToggleButton *togglebutton,
-                                        gpointer         user_data)
-{
-
-}
-
diff --git a/modules/gui/gtk/gnome_callbacks.h b/modules/gui/gtk/gnome_callbacks.h
deleted file mode 100644 (file)
index 15d64ff..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-/*****************************************************************************
- * This file is not needed: everything is in gtk_callbacks.h
- *****************************************************************************/
-#include "gtk_callbacks.h"
-
-void
-GtkDiscOpenCDDA                        (GtkToggleButton *togglebutton,
-                                        gpointer         user_data);
diff --git a/modules/gui/gtk/gnome_interface.c b/modules/gui/gtk/gnome_interface.c
deleted file mode 100644 (file)
index 290f252..0000000
+++ /dev/null
@@ -1,3052 +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 <gnome.h>
-
-#include "gnome_callbacks.h"
-#include "gnome_interface.h"
-#include "gnome_support.h"
-
-static GnomeUIInfo menubar_file_menu_uiinfo[] =
-{
-  {
-    GNOME_APP_UI_ITEM, N_("_Open File..."),
-    N_("Open a file"),
-    (gpointer) GtkFileOpenShow, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_OPEN,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Open _Disc..."),
-    N_("Open Disc Media"),
-    (gpointer) GtkDiscOpenShow, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_CDROM,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("_Network stream..."),
-    N_("Select a network stream"),
-    (gpointer) GtkNetworkOpenShow, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_REFRESH,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("_Eject Disc"),
-    N_("Eject disc"),
-    (gpointer) GtkDiscEject, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TOP,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  GNOMEUIINFO_MENU_CLOSE_ITEM (GtkClose, NULL),
-  GNOMEUIINFO_MENU_EXIT_ITEM (GnomeExit, NULL),
-  GNOMEUIINFO_END
-};
-
-static GnomeUIInfo menubar_view_menu_uiinfo[] =
-{
-  {
-    GNOME_APP_UI_ITEM, N_("_Hide interface"),
-    NULL,
-    (gpointer) GtkWindowToggle, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("Progr_am"),
-    N_("Choose the program"),
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("_Title"),
-    N_("Choose title"),
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("_Chapter"),
-    N_("Choose chapter"),
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("_Playlist..."),
-    N_("Open the playlist window"),
-    (gpointer) GtkPlaylistShow, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_INDEX,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("_Modules..."),
-    N_("Open the module manager"),
-    (gpointer) GtkModulesShow, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_ATTACH,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Messages..."),
-    N_("Open the messages window"),
-    (gpointer) GtkMessagesShow, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_END
-};
-
-static GnomeUIInfo menubar_settings_menu_uiinfo[] =
-{
-  GNOMEUIINFO_MENU_PREFERENCES_ITEM (GtkPreferencesShow, NULL),
-  GNOMEUIINFO_END
-};
-
-static GnomeUIInfo menubar_config_audio_menu_uiinfo[] =
-{
-  {
-    GNOME_APP_UI_ITEM, N_("_Language"),
-    N_("Select audio channel"),
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("Volume Up"),
-    NULL,
-    (gpointer) GtkVolumeUp, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Volume Down"),
-    NULL,
-    (gpointer) GtkVolumeDown, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Mute"),
-    NULL,
-    (gpointer) GtkVolumeMute, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("Channels"),
-    NULL,
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Device"),
-    NULL,
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_END
-};
-
-static GnomeUIInfo menubar_config_video_menu_menu_uiinfo[] =
-{
-  {
-    GNOME_APP_UI_ITEM, N_("_Subtitles"),
-    N_("Select subtitles channel"),
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("_Fullscreen"),
-    NULL,
-    (gpointer) GtkFullscreen, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("Deinterlace"),
-    NULL,
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Screen"),
-    NULL,
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_END
-};
-
-static GnomeUIInfo menubar_help_menu_uiinfo[] =
-{
-  GNOMEUIINFO_MENU_ABOUT_ITEM (GtkAboutShow, NULL),
-  GNOMEUIINFO_END
-};
-
-static GnomeUIInfo menubar_uiinfo[] =
-{
-  GNOMEUIINFO_MENU_FILE_TREE (menubar_file_menu_uiinfo),
-  GNOMEUIINFO_MENU_VIEW_TREE (menubar_view_menu_uiinfo),
-  GNOMEUIINFO_MENU_SETTINGS_TREE (menubar_settings_menu_uiinfo),
-  {
-    GNOME_APP_UI_SUBTREE, N_("_Audio"),
-    NULL,
-    menubar_config_audio_menu_uiinfo, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_SUBTREE, N_("_Video"),
-    NULL,
-    menubar_config_video_menu_menu_uiinfo, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_MENU_HELP_TREE (menubar_help_menu_uiinfo),
-  GNOMEUIINFO_END
-};
-
-GtkWidget*
-create_intf_window (void)
-{
-  GtkWidget *intf_window;
-  GtkWidget *dockitem;
-  GtkWidget *toolbar;
-  GtkWidget *tmp_toolbar_icon;
-  GtkWidget *toolbar_file;
-  GtkWidget *toolbar_disc;
-  GtkWidget *toolbar_network;
-  GtkWidget *toolbar_sat;
-  GtkWidget *toolbar_back;
-  GtkWidget *toolbar_stop;
-  GtkWidget *toolbar_eject;
-  GtkWidget *toolbar_play;
-  GtkWidget *toolbar_pause;
-  GtkWidget *toolbar_slow;
-  GtkWidget *toolbar_fast;
-  GtkWidget *toolbar_playlist;
-  GtkWidget *toolbar_prev;
-  GtkWidget *toolbar_next;
-  GtkWidget *vbox8;
-  GtkWidget *slider_frame;
-  GtkWidget *slider;
-  GtkWidget *file_box;
-  GtkWidget *label_status;
-  GtkWidget *dvd_box;
-  GtkWidget *label21;
-  GtkWidget *title_chapter_box;
-  GtkWidget *label19;
-  GtkWidget *title_label;
-  GtkWidget *button_title_prev;
-  GtkWidget *button_title_next;
-  GtkWidget *vseparator1;
-  GtkWidget *dvd_chapter_box;
-  GtkWidget *label20;
-  GtkWidget *chapter_label;
-  GtkWidget *button_chapter_prev;
-  GtkWidget *button_chapter_next;
-  GtkWidget *network_box;
-  GtkWidget *network_address_label;
-  GtkWidget *appbar;
-  GtkTooltips *tooltips;
-
-  tooltips = gtk_tooltips_new ();
-
-  intf_window = gnome_app_new ("VLC media player", _("VLC media player"));
-  gtk_object_set_data (GTK_OBJECT (intf_window), "intf_window", intf_window);
-  gtk_window_set_policy (GTK_WINDOW (intf_window), FALSE, TRUE, TRUE);
-
-  dockitem = GNOME_APP (intf_window)->dock;
-  gtk_widget_ref (dockitem);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "dockitem", dockitem,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (dockitem);
-
-  gnome_app_create_menus (GNOME_APP (intf_window), menubar_uiinfo);
-
-  gtk_widget_ref (menubar_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file",
-                            menubar_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_file_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_open",
-                            menubar_file_menu_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_file_menu_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_disc",
-                            menubar_file_menu_uiinfo[1].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_file_menu_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_network",
-                            menubar_file_menu_uiinfo[2].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_file_menu_uiinfo[3].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator1",
-                            menubar_file_menu_uiinfo[3].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_file_menu_uiinfo[4].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_eject",
-                            menubar_file_menu_uiinfo[4].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_file_menu_uiinfo[5].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator15",
-                            menubar_file_menu_uiinfo[5].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_file_menu_uiinfo[6].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_close",
-                            menubar_file_menu_uiinfo[6].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_file_menu_uiinfo[7].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_exit",
-                            menubar_file_menu_uiinfo[7].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view",
-                            menubar_uiinfo[1].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_view_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_hide_interface",
-                            menubar_view_menu_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_view_menu_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator9",
-                            menubar_view_menu_uiinfo[1].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_view_menu_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_program",
-                            menubar_view_menu_uiinfo[2].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (menubar_view_menu_uiinfo[2].widget, FALSE);
-
-  gtk_widget_ref (menubar_view_menu_uiinfo[3].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_title",
-                            menubar_view_menu_uiinfo[3].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (menubar_view_menu_uiinfo[3].widget, FALSE);
-
-  gtk_widget_ref (menubar_view_menu_uiinfo[4].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_chapter",
-                            menubar_view_menu_uiinfo[4].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (menubar_view_menu_uiinfo[4].widget, FALSE);
-
-  gtk_widget_ref (menubar_view_menu_uiinfo[5].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator7",
-                            menubar_view_menu_uiinfo[5].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_view_menu_uiinfo[6].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_playlist",
-                            menubar_view_menu_uiinfo[6].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_view_menu_uiinfo[7].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_modules",
-                            menubar_view_menu_uiinfo[7].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (menubar_view_menu_uiinfo[7].widget, FALSE);
-
-  gtk_widget_ref (menubar_view_menu_uiinfo[8].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_messages",
-                            menubar_view_menu_uiinfo[8].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings",
-                            menubar_uiinfo[2].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_settings_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_preferences",
-                            menubar_settings_menu_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_uiinfo[3].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_config_audio",
-                            menubar_uiinfo[3].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_config_audio_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio",
-                            menubar_config_audio_menu_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (menubar_config_audio_menu_uiinfo[0].widget, FALSE);
-
-  gtk_widget_ref (menubar_config_audio_menu_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator25",
-                            menubar_config_audio_menu_uiinfo[1].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_config_audio_menu_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_up",
-                            menubar_config_audio_menu_uiinfo[2].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_config_audio_menu_uiinfo[3].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_down",
-                            menubar_config_audio_menu_uiinfo[3].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_config_audio_menu_uiinfo[4].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_mute",
-                            menubar_config_audio_menu_uiinfo[4].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_config_audio_menu_uiinfo[5].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator16",
-                            menubar_config_audio_menu_uiinfo[5].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_config_audio_menu_uiinfo[6].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio_channels",
-                            menubar_config_audio_menu_uiinfo[6].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_config_audio_menu_uiinfo[7].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio_device",
-                            menubar_config_audio_menu_uiinfo[7].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_uiinfo[4].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_config_video_menu",
-                            menubar_uiinfo[4].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_subpictures",
-                            menubar_config_video_menu_menu_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (menubar_config_video_menu_menu_uiinfo[0].widget, FALSE);
-
-  gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator23",
-                            menubar_config_video_menu_menu_uiinfo[1].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_fullscreen",
-                            menubar_config_video_menu_menu_uiinfo[2].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[3].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator24",
-                            menubar_config_video_menu_menu_uiinfo[3].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[4].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_deinterlace",
-                            menubar_config_video_menu_menu_uiinfo[4].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_config_video_menu_menu_uiinfo[5].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_video_device",
-                            menubar_config_video_menu_menu_uiinfo[5].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_uiinfo[5].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help",
-                            menubar_uiinfo[5].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (menubar_help_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_about",
-                            menubar_help_menu_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  toolbar = gtk_toolbar_new ();
-  gtk_widget_ref (toolbar);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar", toolbar,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar);
-  gnome_app_add_toolbar (GNOME_APP (intf_window), GTK_TOOLBAR (toolbar), "toolbar",
-                                BONOBO_DOCK_ITEM_BEH_EXCLUSIVE,
-                                BONOBO_DOCK_TOP, 1, 0, 2);
-  //gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 16);
-  //gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
-  //gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE);
-
-  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_OPEN);
-  toolbar_file = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("File"),
-                                _("Open a file"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_file);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_file", toolbar_file,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_file);
-
-  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_CDROM);
-  toolbar_disc = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Disc"),
-                                _("Open disc"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_disc);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_disc", toolbar_disc,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_disc);
-
-  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_REFRESH);
-  toolbar_network = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Net"),
-                                _("Select a network stream"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_network);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_network", toolbar_network,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_network);
-
-  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_MIC);
-  toolbar_sat = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Sat"),
-                                _("Open a satellite card"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_sat);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_sat", toolbar_sat,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_sat);
-
-  gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
-
-  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BACK);
-  toolbar_back = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Back"),
-                                _("Go backward"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_back);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_back", toolbar_back,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_back);
-  gtk_widget_set_sensitive (toolbar_back, FALSE);
-
-  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_STOP);
-  toolbar_stop = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Stop"),
-                                _("Stop stream"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_stop);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_stop", toolbar_stop,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_stop);
-
-  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TOP);
-  toolbar_eject = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Eject"),
-                                _("Eject disc"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_eject);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_eject", toolbar_eject,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_eject);
-
-  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FORWARD);
-  toolbar_play = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Play"),
-                                _("Play stream"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_play);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_play", toolbar_play,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_play);
-
-  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_BOTTOM);
-  toolbar_pause = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Pause"),
-                                _("Pause stream"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_pause);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_pause", toolbar_pause,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_pause);
-  gtk_widget_set_sensitive (toolbar_pause, FALSE);
-
-  gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
-
-  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER_STOP);
-  toolbar_slow = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Slow"),
-                                _("Play slower"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_slow);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_slow", toolbar_slow,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_slow);
-  gtk_widget_set_sensitive (toolbar_slow, FALSE);
-
-  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_TIMER);
-  toolbar_fast = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Fast"),
-                                _("Play faster"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_fast);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_fast", toolbar_fast,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_fast);
-  gtk_widget_set_sensitive (toolbar_fast, FALSE);
-
-  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_INDEX);
-  toolbar_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Playlist"),
-                                _("Open playlist"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_playlist);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_playlist", toolbar_playlist,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_playlist);
-
-  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_FIRST);
-  toolbar_prev = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Prev"),
-                                _("Previous file"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_prev);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_prev", toolbar_prev,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_prev);
-
-  //tmp_toolbar_icon = gnome_stock_pixmap_widget (intf_window, GNOME_STOCK_PIXMAP_LAST);
-  toolbar_next = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Next"),
-                                _("Next file"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_next);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_next", toolbar_next,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_next);
-
-  vbox8 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_ref (vbox8);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "vbox8", vbox8,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox8);
-  gnome_app_set_contents (GNOME_APP (intf_window), vbox8);
-
-  slider_frame = gtk_frame_new ("-:--:--");
-  gtk_widget_ref (slider_frame);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider_frame", slider_frame,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_box_pack_start (GTK_BOX (vbox8), slider_frame, TRUE, TRUE, 0);
-  gtk_frame_set_label_align (GTK_FRAME (slider_frame), 0.05, 0.5);
-
-  slider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 6.25, 0)));
-  gtk_widget_ref (slider);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider", slider,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (slider);
-  gtk_container_add (GTK_CONTAINER (slider_frame), slider);
-  gtk_scale_set_draw_value (GTK_SCALE (slider), FALSE);
-  gtk_scale_set_digits (GTK_SCALE (slider), 3);
-
-  file_box = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (file_box);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "file_box", file_box,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (file_box);
-  gtk_box_pack_start (GTK_BOX (vbox8), file_box, TRUE, TRUE, 0);
-
-  label_status = gtk_label_new ("");
-  gtk_widget_ref (label_status);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "label_status", label_status,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label_status);
-  gtk_box_pack_start (GTK_BOX (file_box), label_status, TRUE, TRUE, 0);
-
-  dvd_box = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (dvd_box);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_box", dvd_box,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_box_pack_start (GTK_BOX (vbox8), dvd_box, TRUE, TRUE, 0);
-
-  label21 = gtk_label_new (_("Disc"));
-  gtk_widget_ref (label21);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "label21", label21,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label21);
-  gtk_box_pack_start (GTK_BOX (dvd_box), label21, TRUE, FALSE, 0);
-
-  title_chapter_box = gtk_hbox_new (FALSE, 10);
-  gtk_widget_ref (title_chapter_box);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_chapter_box", title_chapter_box,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (title_chapter_box);
-  gtk_box_pack_start (GTK_BOX (dvd_box), title_chapter_box, TRUE, FALSE, 0);
-
-  label19 = gtk_label_new (_("Title:"));
-  gtk_widget_ref (label19);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "label19", label19,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label19);
-  gtk_box_pack_start (GTK_BOX (title_chapter_box), label19, FALSE, FALSE, 0);
-
-  title_label = gtk_label_new ("--");
-  gtk_widget_ref (title_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_label", title_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (title_label);
-  gtk_box_pack_start (GTK_BOX (title_chapter_box), title_label, FALSE, FALSE, 0);
-
-  button_title_prev = gtk_button_new_from_stock (GNOME_STOCK_BUTTON_PREV);
-  gtk_widget_ref (button_title_prev);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_title_prev", button_title_prev,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (button_title_prev);
-  gtk_box_pack_start (GTK_BOX (title_chapter_box), button_title_prev, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, button_title_prev, _("Select previous title"), NULL);
-
-  button_title_next = gtk_button_new_from_stock (GNOME_STOCK_BUTTON_NEXT);
-  gtk_widget_ref (button_title_next);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_title_next", button_title_next,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (button_title_next);
-  gtk_box_pack_start (GTK_BOX (title_chapter_box), button_title_next, FALSE, FALSE, 0);
-
-  vseparator1 = gtk_vseparator_new ();
-  gtk_widget_ref (vseparator1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "vseparator1", vseparator1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vseparator1);
-  gtk_box_pack_start (GTK_BOX (dvd_box), vseparator1, FALSE, FALSE, 0);
-
-  dvd_chapter_box = gtk_hbox_new (FALSE, 10);
-  gtk_widget_ref (dvd_chapter_box);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_chapter_box", dvd_chapter_box,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (dvd_chapter_box);
-  gtk_box_pack_start (GTK_BOX (dvd_box), dvd_chapter_box, TRUE, FALSE, 0);
-
-  label20 = gtk_label_new (_("Chapter:"));
-  gtk_widget_ref (label20);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "label20", label20,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label20);
-  gtk_box_pack_start (GTK_BOX (dvd_chapter_box), label20, FALSE, FALSE, 0);
-
-  chapter_label = gtk_label_new ("---");
-  gtk_widget_ref (chapter_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_label", chapter_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (chapter_label);
-  gtk_box_pack_start (GTK_BOX (dvd_chapter_box), chapter_label, FALSE, FALSE, 0);
-
-  button_chapter_prev = gtk_button_new_from_stock (GNOME_STOCK_BUTTON_DOWN);
-  gtk_widget_ref (button_chapter_prev);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_chapter_prev", button_chapter_prev,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (button_chapter_prev);
-  gtk_box_pack_start (GTK_BOX (dvd_chapter_box), button_chapter_prev, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, button_chapter_prev, _("Select previous chapter"), NULL);
-
-  button_chapter_next = gtk_button_new_from_stock (GNOME_STOCK_BUTTON_UP);
-  gtk_widget_ref (button_chapter_next);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "button_chapter_next", button_chapter_next,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (button_chapter_next);
-  gtk_box_pack_start (GTK_BOX (dvd_chapter_box), button_chapter_next, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, button_chapter_next, _("Select next chapter"), NULL);
-
-  network_box = gtk_hbox_new (TRUE, 0);
-  gtk_widget_ref (network_box);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_box", network_box,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_box_pack_start (GTK_BOX (vbox8), network_box, FALSE, FALSE, 0);
-
-  network_address_label = gtk_label_new (_("No server"));
-  gtk_widget_ref (network_address_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_address_label", network_address_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_address_label);
-  gtk_box_pack_start (GTK_BOX (network_box), network_address_label, FALSE, FALSE, 0);
-
-  appbar = gnome_appbar_new (FALSE, TRUE, GNOME_PREFERENCES_NEVER);
-  gtk_widget_ref (appbar);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "appbar", appbar,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (appbar);
-  gnome_app_set_statusbar (GNOME_APP (intf_window), appbar);
-
-  gtk_signal_connect (GTK_OBJECT (intf_window), "delete_event",
-                      GTK_SIGNAL_FUNC (GtkWindowDelete),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (intf_window), "drag_data_received",
-                      GTK_SIGNAL_FUNC (GtkWindowDrag),
-                      NULL);
-  gnome_app_install_menu_hints (GNOME_APP (intf_window), menubar_uiinfo);
-  gtk_signal_connect (GTK_OBJECT (toolbar_file), "clicked",
-                      GTK_SIGNAL_FUNC (GtkFileOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_disc), "clicked",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_network), "clicked",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_sat), "clicked",
-                      GTK_SIGNAL_FUNC (GtkSatOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_back), "clicked",
-                      GTK_SIGNAL_FUNC (GtkControlBack),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_stop), "clicked",
-                      GTK_SIGNAL_FUNC (GtkControlStop),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_eject), "clicked",
-                      GTK_SIGNAL_FUNC (GtkDiscEject),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_play), "clicked",
-                      GTK_SIGNAL_FUNC (GtkControlPlay),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_pause), "clicked",
-                      GTK_SIGNAL_FUNC (GtkControlPause),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_slow), "clicked",
-                      GTK_SIGNAL_FUNC (GtkControlSlow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_fast), "clicked",
-                      GTK_SIGNAL_FUNC (GtkControlFast),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "clicked",
-                      GTK_SIGNAL_FUNC (GtkPlaylistShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_prev), "clicked",
-                      GTK_SIGNAL_FUNC (GtkPlaylistPrev),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_next), "clicked",
-                      GTK_SIGNAL_FUNC (GtkPlaylistNext),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (slider), "button_press_event",
-                      GTK_SIGNAL_FUNC (GtkSliderPress),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (slider), "button_release_event",
-                      GTK_SIGNAL_FUNC (GtkSliderRelease),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (button_title_prev), "clicked",
-                      GTK_SIGNAL_FUNC (GtkTitlePrev),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (button_title_next), "clicked",
-                      GTK_SIGNAL_FUNC (GtkTitleNext),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (button_chapter_prev), "clicked",
-                      GTK_SIGNAL_FUNC (GtkChapterPrev),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (button_chapter_next), "clicked",
-                      GTK_SIGNAL_FUNC (GtkChapterNext),
-                      NULL);
-
-  gtk_object_set_data (GTK_OBJECT (intf_window), "tooltips", tooltips);
-
-  return intf_window;
-}
-
-static GnomeUIInfo popup_audio_menu_uiinfo[] =
-{
-  {
-    GNOME_APP_UI_ITEM, N_("_Language"),
-    N_("Select audio channel"),
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_VOLUME,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("Volume up"),
-    NULL,
-    (gpointer) GtkVolumeUp, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Volume down"),
-    NULL,
-    (gpointer) GtkVolumeDown, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Mute"),
-    NULL,
-    (gpointer) GtkVolumeMute, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("Channels"),
-    NULL,
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Device"),
-    NULL,
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_END
-};
-
-static GnomeUIInfo popup_video_menu_uiinfo[] =
-{
-  {
-    GNOME_APP_UI_ITEM, N_("_Subtitles"),
-    N_("Select subtitles channel"),
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_FONT,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("_Fullscreen"),
-    N_("Toggle fullscreen mode"),
-    (gpointer) GtkFullscreen, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("Deinterlace"),
-    NULL,
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Screen"),
-    NULL,
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_END
-};
-
-static GnomeUIInfo popup_file_menu_uiinfo[] =
-{
-  {
-    GNOME_APP_UI_ITEM, N_("_Open File..."),
-    N_("Open a file"),
-    (gpointer) GtkFileOpenShow, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_OPEN,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Open _Disc..."),
-    N_("Open Disc Media"),
-    (gpointer) GtkDiscOpenShow, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_CDROM,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("_Network Stream..."),
-    N_("Select a network stream"),
-    (gpointer) GtkNetworkOpenShow, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_REFRESH,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  GNOMEUIINFO_MENU_ABOUT_ITEM (GtkAboutShow, NULL),
-  GNOMEUIINFO_END
-};
-
-static GnomeUIInfo intf_popup_uiinfo[] =
-{
-  {
-    GNOME_APP_UI_ITEM, N_("Play"),
-    NULL,
-    (gpointer) GtkControlPlay, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_FORWARD,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Pause"),
-    NULL,
-    (gpointer) GtkControlPause, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BOTTOM,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Stop"),
-    NULL,
-    (gpointer) GtkControlStop, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_STOP,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Back"),
-    NULL,
-    (gpointer) GtkControlBack, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_BACK,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Slow"),
-    NULL,
-    (gpointer) GtkControlSlow, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER_STOP,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Fast"),
-    NULL,
-    (gpointer) GtkControlFast, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("Next"),
-    NULL,
-    (gpointer) GtkPlaylistNext, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Prev"),
-    NULL,
-    (gpointer) GtkPlaylistPrev, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("_Jump..."),
-    N_("Got directly so specified point"),
-    (gpointer) GtkJumpShow, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_JUMP_TO,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  {
-    GNOME_APP_UI_ITEM, N_("Program"),
-    N_("Switch program"),
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("_Navigation"),
-    N_("Navigate through titles and chapters"),
-    (gpointer) NULL, NULL, NULL,
-    GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_SEARCH,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_SUBTREE, N_("Audio"),
-    NULL,
-    popup_audio_menu_uiinfo, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_SUBTREE, N_("Video"),
-    NULL,
-    popup_video_menu_uiinfo, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_SEPARATOR,
-  GNOMEUIINFO_MENU_FILE_TREE (popup_file_menu_uiinfo),
-  {
-    GNOME_APP_UI_ITEM, N_("Toggle _Interface"),
-    NULL,
-    (gpointer) GtkWindowToggle, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Playlist..."),
-    NULL,
-    (gpointer) GtkPlaylistShow, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_MENU_PREFERENCES_ITEM (GtkPreferencesShow, NULL),
-  GNOMEUIINFO_SEPARATOR,
-  GNOMEUIINFO_MENU_EXIT_ITEM (GnomeExit, NULL),
-  GNOMEUIINFO_END
-};
-
-GtkWidget*
-create_intf_popup (void)
-{
-  GtkWidget *intf_popup;
-
-  intf_popup = gtk_menu_new ();
-  gtk_object_set_data (GTK_OBJECT (intf_popup), "intf_popup", intf_popup);
-  gnome_app_fill_menu (GTK_MENU_SHELL (intf_popup), intf_popup_uiinfo,
-                       NULL, FALSE, 0);
-
-  gtk_widget_ref (intf_popup_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_play",
-                            intf_popup_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_pause",
-                            intf_popup_uiinfo[1].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_stop",
-                            intf_popup_uiinfo[2].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[3].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_back",
-                            intf_popup_uiinfo[3].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (intf_popup_uiinfo[3].widget, FALSE);
-
-  gtk_widget_ref (intf_popup_uiinfo[4].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_slow",
-                            intf_popup_uiinfo[4].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[5].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fast",
-                            intf_popup_uiinfo[5].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[6].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator3",
-                            intf_popup_uiinfo[6].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[7].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_next",
-                            intf_popup_uiinfo[7].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[8].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_prev",
-                            intf_popup_uiinfo[8].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[9].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_jump",
-                            intf_popup_uiinfo[9].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[10].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator17",
-                            intf_popup_uiinfo[10].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[11].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_program",
-                            intf_popup_uiinfo[11].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (intf_popup_uiinfo[11].widget, FALSE);
-
-  gtk_widget_ref (intf_popup_uiinfo[12].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_navigation",
-                            intf_popup_uiinfo[12].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (intf_popup_uiinfo[12].widget, FALSE);
-
-  gtk_widget_ref (intf_popup_uiinfo[13].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio",
-                            intf_popup_uiinfo[13].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_audio_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_language",
-                            popup_audio_menu_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (popup_audio_menu_uiinfo[0].widget, FALSE);
-
-  gtk_widget_ref (popup_audio_menu_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator20",
-                            popup_audio_menu_uiinfo[1].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_audio_menu_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_up",
-                            popup_audio_menu_uiinfo[2].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_audio_menu_uiinfo[3].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_down",
-                            popup_audio_menu_uiinfo[3].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_audio_menu_uiinfo[4].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_mute",
-                            popup_audio_menu_uiinfo[4].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_audio_menu_uiinfo[5].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator21",
-                            popup_audio_menu_uiinfo[5].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_audio_menu_uiinfo[6].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio_channels",
-                            popup_audio_menu_uiinfo[6].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_audio_menu_uiinfo[7].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio_device",
-                            popup_audio_menu_uiinfo[7].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[14].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_video",
-                            intf_popup_uiinfo[14].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_video_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_subpictures",
-                            popup_video_menu_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_set_sensitive (popup_video_menu_uiinfo[0].widget, FALSE);
-
-  gtk_widget_ref (popup_video_menu_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator18",
-                            popup_video_menu_uiinfo[1].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_video_menu_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fullscreen",
-                            popup_video_menu_uiinfo[2].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_video_menu_uiinfo[3].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator19",
-                            popup_video_menu_uiinfo[3].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_video_menu_uiinfo[4].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_deinterlace",
-                            popup_video_menu_uiinfo[4].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_video_menu_uiinfo[5].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_video_device",
-                            popup_video_menu_uiinfo[5].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[15].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator13",
-                            intf_popup_uiinfo[15].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[16].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_file",
-                            intf_popup_uiinfo[16].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_file_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open",
-                            popup_file_menu_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_file_menu_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_disc",
-                            popup_file_menu_uiinfo[1].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_file_menu_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_network",
-                            popup_file_menu_uiinfo[2].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_file_menu_uiinfo[3].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator4",
-                            popup_file_menu_uiinfo[3].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (popup_file_menu_uiinfo[4].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_about",
-                            popup_file_menu_uiinfo[4].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[17].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_interface_toggle",
-                            intf_popup_uiinfo[17].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[18].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_playlist",
-                            intf_popup_uiinfo[18].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[19].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_preferences",
-                            intf_popup_uiinfo[19].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[20].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator2",
-                            intf_popup_uiinfo[20].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (intf_popup_uiinfo[21].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit",
-                            intf_popup_uiinfo[21].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  return intf_popup;
-}
-
-GtkWidget*
-create_intf_about (void)
-{
-  const gchar *authors[] = {
-    "the VideoLAN team <videolan@videolan.org>",
-    "http://www.videolan.org/",
-    NULL
-  };
-  GtkWidget *intf_about;
-
-  intf_about = gnome_about_new ("VLC media player", VERSION,
-                        _("(c) 1996-2004 the VideoLAN team"),
-                        _("This is the VLC media player, a DVD, MPEG and DivX player. It can play MPEG and MPEG2 files from a file or from a network source."),
-                        authors,
-                        NULL,
-                        NULL,
-                        NULL);
-  gtk_object_set_data (GTK_OBJECT (intf_about), "intf_about", intf_about);
-
-  return intf_about;
-}
-
-GtkWidget*
-create_intf_open (void)
-{
-  GtkWidget *intf_open;
-  GtkWidget *dialog_vbox5;
-  GtkWidget *open_vbox;
-  GtkWidget *frame10;
-  GtkWidget *hbox21;
-  GtkWidget *hbox22;
-  GtkWidget *label34;
-  GtkWidget *combo2;
-  GtkWidget *entry_open;
-  GtkWidget *label36;
-  GtkWidget *open_notebook;
-  GtkWidget *hbox20;
-  GtkWidget *combo1;
-  GtkWidget *entry_file;
-  GtkWidget *vbox13;
-  GtkWidget *open_browse;
-  GtkWidget *open_file;
-  GtkWidget *table5;
-  GtkWidget *label35;
-  GtkWidget *hbox24;
-  GSList *disc_group = NULL;
-  GtkWidget *disc_dvd;
-  GtkWidget *disc_vcd;
-  GtkWidget *disc_cdda;
-  GtkWidget *label19;
-  GtkWidget *disc_name;
-  GtkWidget *disc_chapter_label;
-  GtkWidget *disc_title_label;
-  GtkWidget *disc_dvd_use_menu;
-  GtkObject *disc_title_adj;
-  GtkWidget *disc_title;
-  GtkObject *disc_chapter_adj;
-  GtkWidget *disc_chapter;
-  GtkWidget *open_disc;
-  GtkWidget *table4;
-  GSList *table4_group = NULL;
-  GtkWidget *network_udp;
-  GtkWidget *network_multicast;
-  GtkWidget *network_http;
-  GtkWidget *network_udp_port_label;
-  GtkWidget *network_multicast_address_label;
-  GtkWidget *network_http_url_label;
-  GtkWidget *network_multicast_address_combo;
-  GtkWidget *network_multicast_address;
-  GtkWidget *network_multicast_port_label;
-  GtkObject *network_multicast_port_adj;
-  GtkWidget *network_multicast_port;
-  GtkWidget *network_http_url;
-  GtkObject *network_udp_port_adj;
-  GtkWidget *network_udp_port;
-  GtkWidget *open_net;
-  GtkWidget *table3;
-  GtkWidget *label24;
-  GtkWidget *label25;
-  GtkWidget *label26;
-  GtkObject *sat_freq_adj;
-  GtkWidget *sat_freq;
-  GtkWidget *label27;
-  GtkWidget *hbox23;
-  GSList *pol_group = NULL;
-  GtkWidget *sat_pol_vert;
-  GtkWidget *sat_pol_hor;
-  GtkObject *sat_srate_adj;
-  GtkWidget *sat_srate;
-  GtkWidget *sat_fec;
-  GList *sat_fec_items = NULL;
-  GtkWidget *combo_entry1;
-  GtkWidget *open_sat;
-  GtkWidget *show_subtitle;
-  GtkWidget *hbox_subtitle;
-  GtkWidget *combo3;
-  GtkWidget *entry_subtitle;
-  GtkWidget *vbox14;
-  GtkWidget *button4;
-  GtkWidget *label37;
-  GtkObject *subtitle_delay_adj;
-  GtkWidget *subtitle_delay;
-  GtkWidget *label38;
-  GtkObject *subtitle_fps_adj;
-  GtkWidget *subtitle_fps;
-  GtkWidget *hbox28;
-  GtkWidget *show_sout_settings;
-  GtkWidget *sout_settings;
-  GtkWidget *dialog_action_area5;
-  GtkWidget *button1;
-  GtkWidget *button3;
-
-  intf_open = gnome_dialog_new (_("Open Stream"), NULL);
-  gtk_object_set_data (GTK_OBJECT (intf_open), "intf_open", intf_open);
-  gtk_window_set_modal (GTK_WINDOW (intf_open), TRUE);
-  gtk_window_set_policy (GTK_WINDOW (intf_open), FALSE, FALSE, FALSE);
-  gnome_dialog_close_hides (GNOME_DIALOG (intf_open), TRUE);
-
-  dialog_vbox5 = GNOME_DIALOG (intf_open)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_vbox5", dialog_vbox5);
-  gtk_widget_show (dialog_vbox5);
-
-  open_vbox = gtk_vbox_new (FALSE, 5);
-  gtk_widget_ref (open_vbox);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_vbox", open_vbox,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_vbox);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox5), open_vbox, TRUE, TRUE, 0);
-
-  frame10 = gtk_frame_new ("Media Resource Locator (MRL)");
-  gtk_widget_ref (frame10);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame10", frame10,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame10);
-  gtk_box_pack_start (GTK_BOX (open_vbox), frame10, FALSE, TRUE, 0);
-
-  hbox21 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox21);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox21", hbox21,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox21);
-  gtk_container_add (GTK_CONTAINER (frame10), hbox21);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox21), 5);
-
-  hbox22 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox22);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox22", hbox22,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox22);
-  gtk_box_pack_start (GTK_BOX (hbox21), hbox22, FALSE, TRUE, 0);
-
-  label34 = gtk_label_new (_("Open Target:"));
-  gtk_widget_ref (label34);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label34", label34,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label34);
-  gtk_box_pack_start (GTK_BOX (hbox22), label34, FALSE, FALSE, 0);
-
-  combo2 = gtk_combo_new ();
-  gtk_widget_ref (combo2);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo2", combo2,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo2);
-  gtk_box_pack_start (GTK_BOX (hbox21), combo2, TRUE, TRUE, 0);
-
-  entry_open = GTK_COMBO (combo2)->entry;
-  gtk_widget_ref (entry_open);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_open", entry_open,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (entry_open);
-
-  label36 = gtk_label_new (_("Alternatively, you can build an MRL using one of the following predefined targets:"));
-  gtk_widget_ref (label36);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label36", label36,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label36);
-  gtk_box_pack_start (GTK_BOX (open_vbox), label36, TRUE, TRUE, 0);
-  gtk_label_set_justify (GTK_LABEL (label36), GTK_JUSTIFY_LEFT);
-  gtk_misc_set_alignment (GTK_MISC (label36), 0, 1);
-
-  open_notebook = gtk_notebook_new ();
-  gtk_widget_ref (open_notebook);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_notebook", open_notebook,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_notebook);
-  gtk_box_pack_start (GTK_BOX (open_vbox), open_notebook, TRUE, TRUE, 0);
-
-  hbox20 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox20);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox20", hbox20,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox20);
-  gtk_container_add (GTK_CONTAINER (open_notebook), hbox20);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox20), 5);
-
-  combo1 = gtk_combo_new ();
-  gtk_widget_ref (combo1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo1", combo1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo1);
-  gtk_box_pack_start (GTK_BOX (hbox20), combo1, FALSE, TRUE, 0);
-
-  entry_file = GTK_COMBO (combo1)->entry;
-  gtk_widget_ref (entry_file);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_file", entry_file,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (entry_file);
-
-  vbox13 = gtk_vbox_new (TRUE, 0);
-  gtk_widget_ref (vbox13);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox13", vbox13,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox13);
-  gtk_box_pack_start (GTK_BOX (hbox20), vbox13, FALSE, FALSE, 0);
-
-  open_browse = gtk_button_new_with_label (_("Browse..."));
-  gtk_widget_ref (open_browse);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_browse", open_browse,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_browse);
-  gtk_box_pack_start (GTK_BOX (vbox13), open_browse, FALSE, FALSE, 0);
-
-  open_file = gtk_label_new (_("File"));
-  gtk_widget_ref (open_file);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_file", open_file,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_file);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 0), open_file);
-
-  table5 = gtk_table_new (5, 2, FALSE);
-  gtk_widget_ref (table5);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "table5", table5,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (table5);
-  gtk_container_add (GTK_CONTAINER (open_notebook), table5);
-  gtk_container_set_border_width (GTK_CONTAINER (table5), 5);
-  gtk_table_set_row_spacings (GTK_TABLE (table5), 5);
-  gtk_table_set_col_spacings (GTK_TABLE (table5), 5);
-
-  label35 = gtk_label_new (_("Disc type"));
-  gtk_widget_ref (label35);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label35", label35,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label35);
-  gtk_table_attach (GTK_TABLE (table5), label35, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label35), 0, 0.5);
-
-  hbox24 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox24);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox24", hbox24,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox24);
-  gtk_table_attach (GTK_TABLE (table5), hbox24, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  disc_dvd = gtk_radio_button_new_with_label (disc_group, _("DVD"));
-  disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_dvd));
-  gtk_widget_ref (disc_dvd);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_dvd", disc_dvd,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_dvd);
-  gtk_box_pack_start (GTK_BOX (hbox24), disc_dvd, FALSE, FALSE, 0);
-
-  disc_vcd = gtk_radio_button_new_with_label (disc_group, _("VCD"));
-  disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_vcd));
-  gtk_widget_ref (disc_vcd);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_vcd", disc_vcd,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_vcd);
-  gtk_box_pack_start (GTK_BOX (hbox24), disc_vcd, FALSE, FALSE, 0);
-
-  disc_cdda = gtk_radio_button_new_with_label (disc_group, _("Audio CD"));
-  disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_cdda));
-  gtk_widget_ref (disc_cdda);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_cdda", disc_cdda,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_cdda);
-  gtk_box_pack_start (GTK_BOX (hbox24), disc_cdda, FALSE, FALSE, 0);
-
-  label19 = gtk_label_new (_("Device name"));
-  gtk_widget_ref (label19);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label19", label19,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label19);
-  gtk_table_attach (GTK_TABLE (table5), label19, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  disc_name = gtk_entry_new ();
-  gtk_widget_ref (disc_name);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_name", disc_name,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_name);
-  gtk_table_attach (GTK_TABLE (table5), disc_name, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_entry_set_text (GTK_ENTRY (disc_name), "/dev/dvd");
-
-  disc_chapter_label = gtk_label_new (_("Chapter"));
-  gtk_widget_ref (disc_chapter_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_chapter_label", disc_chapter_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_chapter_label);
-  gtk_table_attach (GTK_TABLE (table5), disc_chapter_label, 0, 1, 4, 5,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (disc_chapter_label), 0, 0.5);
-
-  disc_title_label = gtk_label_new (_("Title"));
-  gtk_widget_ref (disc_title_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_title_label", disc_title_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_title_label);
-  gtk_table_attach (GTK_TABLE (table5), disc_title_label, 0, 1, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (disc_title_label), 0, 0.5);
-
-  disc_dvd_use_menu = gtk_check_button_new_with_label (_("Use DVD menus"));
-  gtk_widget_ref (disc_dvd_use_menu);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_dvd_use_menu", disc_dvd_use_menu,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_dvd_use_menu);
-  gtk_table_attach (GTK_TABLE (table5), disc_dvd_use_menu, 1, 2, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (disc_dvd_use_menu), TRUE);
-
-  disc_title_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
-  disc_title = gtk_spin_button_new (GTK_ADJUSTMENT (disc_title_adj), 1, 0);
-  gtk_widget_ref (disc_title);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_title", disc_title,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_title);
-  gtk_table_attach (GTK_TABLE (table5), disc_title, 1, 2, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  disc_chapter_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
-  disc_chapter = gtk_spin_button_new (GTK_ADJUSTMENT (disc_chapter_adj), 1, 0);
-  gtk_widget_ref (disc_chapter);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_chapter", disc_chapter,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_chapter);
-  gtk_table_attach (GTK_TABLE (table5), disc_chapter, 1, 2, 4, 5,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  open_disc = gtk_label_new (_("Disc"));
-  gtk_widget_ref (open_disc);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_disc", open_disc,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_disc);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 1), open_disc);
-
-  table4 = gtk_table_new (3, 6, FALSE);
-  gtk_widget_ref (table4);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "table4", table4,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (table4);
-  gtk_container_add (GTK_CONTAINER (open_notebook), table4);
-  gtk_container_set_border_width (GTK_CONTAINER (table4), 5);
-  gtk_table_set_row_spacings (GTK_TABLE (table4), 5);
-  gtk_table_set_col_spacings (GTK_TABLE (table4), 5);
-
-  network_udp = gtk_radio_button_new_with_label (table4_group, "UDP/RTP");
-  table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_udp));
-  gtk_widget_ref (network_udp);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp", network_udp,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_udp);
-  gtk_table_attach (GTK_TABLE (table4), network_udp, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  network_multicast = gtk_radio_button_new_with_label (table4_group, _("UDP/RTP Multicast"));
-  table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_multicast));
-  gtk_widget_ref (network_multicast);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast", network_multicast,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_multicast);
-  gtk_table_attach (GTK_TABLE (table4), network_multicast, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  network_http = gtk_radio_button_new_with_label (table4_group, "HTTP/FTP/MMS");
-  table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_http));
-  gtk_widget_ref (network_http);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http", network_http,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_http);
-  gtk_table_attach (GTK_TABLE (table4), network_http, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  network_udp_port_label = gtk_label_new (_("Port"));
-  gtk_widget_ref (network_udp_port_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp_port_label", network_udp_port_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_udp_port_label);
-  gtk_table_attach (GTK_TABLE (table4), network_udp_port_label, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (network_udp_port_label), 1, 0.5);
-
-  network_multicast_address_label = gtk_label_new (_("Address"));
-  gtk_widget_ref (network_multicast_address_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address_label", network_multicast_address_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_multicast_address_label);
-  gtk_table_attach (GTK_TABLE (table4), network_multicast_address_label, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_sensitive (network_multicast_address_label, FALSE);
-  gtk_label_set_justify (GTK_LABEL (network_multicast_address_label), GTK_JUSTIFY_RIGHT);
-  gtk_misc_set_alignment (GTK_MISC (network_multicast_address_label), 1, 0.5);
-
-  network_http_url_label = gtk_label_new (_("URL"));
-  gtk_widget_ref (network_http_url_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http_url_label", network_http_url_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_http_url_label);
-  gtk_table_attach (GTK_TABLE (table4), network_http_url_label, 1, 2, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_sensitive (network_http_url_label, FALSE);
-  gtk_misc_set_alignment (GTK_MISC (network_http_url_label), 1, 0.5);
-
-  network_multicast_address_combo = gtk_combo_new ();
-  gtk_widget_ref (network_multicast_address_combo);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address_combo", network_multicast_address_combo,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_multicast_address_combo);
-  gtk_table_attach (GTK_TABLE (table4), network_multicast_address_combo, 2, 4, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_sensitive (network_multicast_address_combo, FALSE);
-
-  network_multicast_address = GTK_COMBO (network_multicast_address_combo)->entry;
-  gtk_widget_ref (network_multicast_address);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address", network_multicast_address,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_multicast_address);
-
-  network_multicast_port_label = gtk_label_new (_("Port"));
-  gtk_widget_ref (network_multicast_port_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_port_label", network_multicast_port_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_multicast_port_label);
-  gtk_table_attach (GTK_TABLE (table4), network_multicast_port_label, 4, 5, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_sensitive (network_multicast_port_label, FALSE);
-  gtk_misc_set_alignment (GTK_MISC (network_multicast_port_label), 1, 0.5);
-
-  network_multicast_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
-  network_multicast_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_multicast_port_adj), 1, 0);
-  gtk_widget_ref (network_multicast_port);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_port", network_multicast_port,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_multicast_port);
-  gtk_table_attach (GTK_TABLE (table4), network_multicast_port, 5, 6, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_usize (network_multicast_port, 75, -2);
-  gtk_widget_set_sensitive (network_multicast_port, FALSE);
-
-  network_http_url = gtk_entry_new ();
-  gtk_widget_ref (network_http_url);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http_url", network_http_url,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_http_url);
-  gtk_table_attach (GTK_TABLE (table4), network_http_url, 2, 6, 2, 3,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_sensitive (network_http_url, FALSE);
-
-  network_udp_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
-  network_udp_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_udp_port_adj), 1, 0);
-  gtk_widget_ref (network_udp_port);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp_port", network_udp_port,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_udp_port);
-  gtk_table_attach (GTK_TABLE (table4), network_udp_port, 2, 3, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_usize (network_udp_port, 1, -2);
-
-  open_net = gtk_label_new (_("Network"));
-  gtk_widget_ref (open_net);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_net", open_net,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_net);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 2), open_net);
-
-  table3 = gtk_table_new (4, 2, FALSE);
-  gtk_widget_ref (table3);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "table3", table3,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (table3);
-  gtk_container_add (GTK_CONTAINER (open_notebook), table3);
-  gtk_container_set_border_width (GTK_CONTAINER (table3), 5);
-  gtk_table_set_row_spacings (GTK_TABLE (table3), 5);
-  gtk_table_set_col_spacings (GTK_TABLE (table3), 5);
-
-  label24 = gtk_label_new (_("Symbol Rate"));
-  gtk_widget_ref (label24);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label24", label24,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label24);
-  gtk_table_attach (GTK_TABLE (table3), label24, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
-
-  label25 = gtk_label_new (_("Frequency"));
-  gtk_widget_ref (label25);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label25", label25,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label25);
-  gtk_table_attach (GTK_TABLE (table3), label25, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
-
-  label26 = gtk_label_new (_("Polarization"));
-  gtk_widget_ref (label26);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label26", label26,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label26);
-  gtk_table_attach (GTK_TABLE (table3), label26, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
-
-  sat_freq_adj = gtk_adjustment_new (11954, 10000, 12999, 1, 10, 10);
-  sat_freq = gtk_spin_button_new (GTK_ADJUSTMENT (sat_freq_adj), 1, 0);
-  gtk_widget_ref (sat_freq);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_freq", sat_freq,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_freq);
-  gtk_table_attach (GTK_TABLE (table3), sat_freq, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  label27 = gtk_label_new (_("FEC"));
-  gtk_widget_ref (label27);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label27", label27,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label27);
-  gtk_table_attach (GTK_TABLE (table3), label27, 0, 1, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5);
-
-  hbox23 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox23);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox23", hbox23,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox23);
-  gtk_table_attach (GTK_TABLE (table3), hbox23, 1, 2, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  sat_pol_vert = gtk_radio_button_new_with_label (pol_group, _("Vertical"));
-  pol_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sat_pol_vert));
-  gtk_widget_ref (sat_pol_vert);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_pol_vert", sat_pol_vert,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_pol_vert);
-  gtk_box_pack_start (GTK_BOX (hbox23), sat_pol_vert, FALSE, FALSE, 0);
-
-  sat_pol_hor = gtk_radio_button_new_with_label (pol_group, _("Horizontal"));
-  pol_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sat_pol_hor));
-  gtk_widget_ref (sat_pol_hor);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_pol_hor", sat_pol_hor,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_pol_hor);
-  gtk_box_pack_start (GTK_BOX (hbox23), sat_pol_hor, FALSE, FALSE, 0);
-
-  sat_srate_adj = gtk_adjustment_new (27500, 1000, 30000, 1, 10, 10);
-  sat_srate = gtk_spin_button_new (GTK_ADJUSTMENT (sat_srate_adj), 1, 0);
-  gtk_widget_ref (sat_srate);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_srate", sat_srate,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_srate);
-  gtk_table_attach (GTK_TABLE (table3), sat_srate, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  sat_fec = gtk_combo_new ();
-  gtk_widget_ref (sat_fec);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_fec", sat_fec,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_fec);
-  gtk_table_attach (GTK_TABLE (table3), sat_fec, 1, 2, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  sat_fec_items = g_list_append (sat_fec_items, (gpointer) "1/2");
-  sat_fec_items = g_list_append (sat_fec_items, (gpointer) "2/3");
-  sat_fec_items = g_list_append (sat_fec_items, (gpointer) "3/4");
-  sat_fec_items = g_list_append (sat_fec_items, (gpointer) "4/5");
-  sat_fec_items = g_list_append (sat_fec_items, (gpointer) "5/6");
-  sat_fec_items = g_list_append (sat_fec_items, (gpointer) "7/8");
-  gtk_combo_set_popdown_strings (GTK_COMBO (sat_fec), sat_fec_items);
-  g_list_free (sat_fec_items);
-
-  combo_entry1 = GTK_COMBO (sat_fec)->entry;
-  gtk_widget_ref (combo_entry1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo_entry1", combo_entry1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo_entry1);
-  gtk_entry_set_text (GTK_ENTRY (combo_entry1), "3/4");
-
-  open_sat = gtk_label_new (_("Satellite"));
-  gtk_widget_ref (open_sat);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_sat", open_sat,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_sat);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 3), open_sat);
-
-  show_subtitle = gtk_check_button_new_with_label (_("Subtitle"));
-  gtk_widget_ref (show_subtitle);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "show_subtitle", show_subtitle,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (show_subtitle);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox5), show_subtitle, FALSE, FALSE, 0);
-
-  hbox_subtitle = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox_subtitle);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox_subtitle", hbox_subtitle,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox_subtitle);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox5), hbox_subtitle, TRUE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox_subtitle), 5);
-
-  combo3 = gtk_combo_new ();
-  gtk_widget_ref (combo3);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo3", combo3,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo3);
-  gtk_box_pack_start (GTK_BOX (hbox_subtitle), combo3, FALSE, TRUE, 0);
-
-  entry_subtitle = GTK_COMBO (combo3)->entry;
-  gtk_widget_ref (entry_subtitle);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_subtitle", entry_subtitle,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (entry_subtitle);
-
-  vbox14 = gtk_vbox_new (TRUE, 0);
-  gtk_widget_ref (vbox14);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox14", vbox14,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox14);
-  gtk_box_pack_start (GTK_BOX (hbox_subtitle), vbox14, FALSE, FALSE, 0);
-
-  button4 = gtk_button_new_with_label (_("Browse..."));
-  gtk_widget_ref (button4);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "button4", button4,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (button4);
-  gtk_box_pack_start (GTK_BOX (vbox14), button4, FALSE, FALSE, 0);
-
-  label37 = gtk_label_new (_("delay"));
-  gtk_widget_ref (label37);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label37", label37,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label37);
-  gtk_box_pack_start (GTK_BOX (hbox_subtitle), label37, TRUE, TRUE, 0);
-
-  subtitle_delay_adj = gtk_adjustment_new (0, -1000, 1000, 0.1, 10, 10);
-  subtitle_delay = gtk_spin_button_new (GTK_ADJUSTMENT (subtitle_delay_adj), 1, 1);
-  gtk_widget_ref (subtitle_delay);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "subtitle_delay", subtitle_delay,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (subtitle_delay);
-  gtk_box_pack_start (GTK_BOX (hbox_subtitle), subtitle_delay, TRUE, TRUE, 0);
-
-  label38 = gtk_label_new (_("fps"));
-  gtk_widget_ref (label38);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label38", label38,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label38);
-  gtk_box_pack_start (GTK_BOX (hbox_subtitle), label38, TRUE, TRUE, 0);
-
-  subtitle_fps_adj = gtk_adjustment_new (0, 0, 100, 0.1, 10, 10);
-  subtitle_fps = gtk_spin_button_new (GTK_ADJUSTMENT (subtitle_fps_adj), 1, 1);
-  gtk_widget_ref (subtitle_fps);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "subtitle_fps", subtitle_fps,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (subtitle_fps);
-  gtk_box_pack_start (GTK_BOX (hbox_subtitle), subtitle_fps, TRUE, TRUE, 0);
-
-  hbox28 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox28);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox28", hbox28,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox28);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox5), hbox28, TRUE, TRUE, 2);
-
-  show_sout_settings = gtk_check_button_new_with_label (_("stream output"));
-  gtk_widget_ref (show_sout_settings);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "show_sout_settings", show_sout_settings,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (show_sout_settings);
-  gtk_box_pack_start (GTK_BOX (hbox28), show_sout_settings, FALSE, FALSE, 0);
-
-  sout_settings = gtk_button_new_with_label (_("Settings..."));
-  gtk_widget_ref (sout_settings);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "sout_settings", sout_settings,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_settings);
-  gtk_box_pack_start (GTK_BOX (hbox28), sout_settings, FALSE, FALSE, 20);
-
-  dialog_action_area5 = GNOME_DIALOG (intf_open)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_action_area5", dialog_action_area5);
-  gtk_widget_show (dialog_action_area5);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area5), GTK_BUTTONBOX_END);
-  gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area5), 8);
-
-  gnome_dialog_append_button (GNOME_DIALOG (intf_open), GNOME_STOCK_BUTTON_OK);
-  button1 = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_open)->buttons)->data);
-  gtk_widget_ref (button1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "button1", button1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (button1);
-  GTK_WIDGET_SET_FLAGS (button1, GTK_CAN_DEFAULT);
-
-  gnome_dialog_append_button (GNOME_DIALOG (intf_open), GNOME_STOCK_BUTTON_CANCEL);
-  button3 = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_open)->buttons)->data);
-  gtk_widget_ref (button3);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "button3", button3,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (button3);
-  GTK_WIDGET_SET_FLAGS (button3, GTK_CAN_DEFAULT);
-
-  gtk_signal_connect_after (GTK_OBJECT (open_notebook), "switch_page",
-                            GTK_SIGNAL_FUNC (GtkOpenNotebookChanged),
-                            NULL);
-  gtk_signal_connect (GTK_OBJECT (entry_file), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (open_browse), "clicked",
-                      GTK_SIGNAL_FUNC (GtkFileShow),
-                      "entry_file");
-  gtk_signal_connect (GTK_OBJECT (disc_dvd), "toggled",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenDvd),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (disc_vcd), "toggled",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenVcd),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (disc_cdda), "toggled",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenCDDA),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (disc_name), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (disc_dvd_use_menu), "toggled",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (disc_title), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (disc_chapter), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_udp), "toggled",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenUDP),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_multicast), "toggled",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenMulticast),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_http), "toggled",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenHTTP),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_multicast_address), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_multicast_port), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_http_url), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_udp_port), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sat_freq), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sat_pol_vert), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSatOpenToggle),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sat_pol_hor), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSatOpenToggle),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sat_srate), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (combo_entry1), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (show_subtitle), "clicked",
-                      GTK_SIGNAL_FUNC (GtkOpenSubtitleShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (entry_subtitle), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (button4), "clicked",
-                      GTK_SIGNAL_FUNC (GtkFileShow),
-                      "entry_subtitle");
-  gtk_signal_connect (GTK_OBJECT (subtitle_delay), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (subtitle_fps), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (show_sout_settings), "clicked",
-                      GTK_SIGNAL_FUNC (GtkOpenSoutShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_settings), "clicked",
-                      GTK_SIGNAL_FUNC (GtkSoutSettings),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (button1), "clicked",
-                      GTK_SIGNAL_FUNC (GtkOpenOk),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (button3), "clicked",
-                      GTK_SIGNAL_FUNC (GtkOpenCancel),
-                      NULL);
-
-  return intf_open;
-}
-
-GtkWidget*
-create_intf_file (void)
-{
-  GtkWidget *intf_file;
-  GtkWidget *file_ok;
-  GtkWidget *file_cancel;
-
-  intf_file = gtk_file_selection_new (_("Open File"));
-  gtk_object_set_data (GTK_OBJECT (intf_file), "intf_file", intf_file);
-  gtk_container_set_border_width (GTK_CONTAINER (intf_file), 10);
-  gtk_window_set_modal (GTK_WINDOW (intf_file), TRUE);
-  gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (intf_file));
-
-  file_ok = GTK_FILE_SELECTION (intf_file)->ok_button;
-  gtk_object_set_data (GTK_OBJECT (intf_file), "file_ok", file_ok);
-  gtk_widget_show (file_ok);
-  GTK_WIDGET_SET_FLAGS (file_ok, GTK_CAN_DEFAULT);
-
-  file_cancel = GTK_FILE_SELECTION (intf_file)->cancel_button;
-  gtk_object_set_data (GTK_OBJECT (intf_file), "file_cancel", file_cancel);
-  gtk_widget_show (file_cancel);
-  GTK_WIDGET_SET_FLAGS (file_cancel, GTK_CAN_DEFAULT);
-
-  gtk_signal_connect (GTK_OBJECT (file_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkFileOk),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (file_cancel), "clicked",
-                      GTK_SIGNAL_FUNC (GtkFileCancel),
-                      NULL);
-
-  return intf_file;
-}
-
-GtkWidget*
-create_intf_modules (void)
-{
-  GtkWidget *intf_modules;
-  GtkWidget *dialog_vbox1;
-  GtkWidget *label12;
-  GtkWidget *dialog_action_area1;
-  GtkWidget *modules_ok;
-  GtkWidget *modules_apply;
-  GtkWidget *modules_cancel;
-
-  intf_modules = gnome_dialog_new (_("Modules"), NULL);
-  gtk_object_set_data (GTK_OBJECT (intf_modules), "intf_modules", intf_modules);
-  gtk_window_set_policy (GTK_WINDOW (intf_modules), FALSE, FALSE, FALSE);
-
-  dialog_vbox1 = GNOME_DIALOG (intf_modules)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_modules), "dialog_vbox1", dialog_vbox1);
-  gtk_widget_show (dialog_vbox1);
-
-  label12 = gtk_label_new (_("Sorry, the module manager isn't functional yet. Please retry in a later version."));
-  gtk_widget_ref (label12);
-  gtk_object_set_data_full (GTK_OBJECT (intf_modules), "label12", label12,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label12);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox1), label12, FALSE, FALSE, 0);
-
-  dialog_action_area1 = GNOME_DIALOG (intf_modules)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_modules), "dialog_action_area1", dialog_action_area1);
-  gtk_widget_show (dialog_action_area1);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
-  gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area1), 8);
-
-  gnome_dialog_append_button (GNOME_DIALOG (intf_modules), GNOME_STOCK_BUTTON_OK);
-  modules_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_modules)->buttons)->data);
-  gtk_widget_ref (modules_ok);
-  gtk_object_set_data_full (GTK_OBJECT (intf_modules), "modules_ok", modules_ok,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (modules_ok);
-  GTK_WIDGET_SET_FLAGS (modules_ok, GTK_CAN_DEFAULT);
-
-  gnome_dialog_append_button (GNOME_DIALOG (intf_modules), GNOME_STOCK_BUTTON_APPLY);
-  modules_apply = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_modules)->buttons)->data);
-  gtk_widget_ref (modules_apply);
-  gtk_object_set_data_full (GTK_OBJECT (intf_modules), "modules_apply", modules_apply,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (modules_apply);
-  GTK_WIDGET_SET_FLAGS (modules_apply, GTK_CAN_DEFAULT);
-
-  gnome_dialog_append_button (GNOME_DIALOG (intf_modules), GNOME_STOCK_BUTTON_CANCEL);
-  modules_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_modules)->buttons)->data);
-  gtk_widget_ref (modules_cancel);
-  gtk_object_set_data_full (GTK_OBJECT (intf_modules), "modules_cancel", modules_cancel,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (modules_cancel);
-  GTK_WIDGET_SET_FLAGS (modules_cancel, GTK_CAN_DEFAULT);
-
-  return intf_modules;
-}
-
-static GnomeUIInfo playlist_add_menu_uiinfo[] =
-{
-  {
-    GNOME_APP_UI_ITEM, N_("Disc"),
-    NULL,
-    (gpointer) GtkDiscOpenShow, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("File"),
-    NULL,
-    (gpointer) GtkFileOpenShow, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Network"),
-    NULL,
-    (gpointer) GtkNetworkOpenShow, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("URL"),
-    NULL,
-    (gpointer) GtkPlaylistAddUrl, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_END
-};
-
-static GnomeUIInfo playlist_delete_menu_uiinfo[] =
-{
-  {
-    GNOME_APP_UI_ITEM, N_("All"),
-    NULL,
-    (gpointer) GtkPlaylistDeleteAll, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Item"),
-    NULL,
-    (gpointer) GtkPlaylistDeleteSelected, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_END
-};
-
-static GnomeUIInfo playlist_selection_menu_uiinfo[] =
-{
-  {
-    GNOME_APP_UI_ITEM, N_("Crop"),
-    NULL,
-    (gpointer) GtkPlaylistCrop, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Invert"),
-    NULL,
-    (gpointer) GtkPlaylistInvert, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_ITEM, N_("Select"),
-    NULL,
-    (gpointer) GtkPlaylistSelect, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_END
-};
-
-static GnomeUIInfo playlist_menubar_uiinfo[] =
-{
-  {
-    GNOME_APP_UI_SUBTREE, N_("Add"),
-    NULL,
-    playlist_add_menu_uiinfo, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_SUBTREE, N_("Delete"),
-    NULL,
-    playlist_delete_menu_uiinfo, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  {
-    GNOME_APP_UI_SUBTREE, N_("Selection"),
-    NULL,
-    playlist_selection_menu_uiinfo, NULL, NULL,
-    GNOME_APP_PIXMAP_NONE, NULL,
-    0, (GdkModifierType) 0, NULL
-  },
-  GNOMEUIINFO_END
-};
-
-GtkWidget*
-create_intf_playlist (void)
-{
-  GtkWidget *intf_playlist;
-  GtkWidget *playlist_vbox;
-  GtkWidget *playlist_scrolledwindow;
-  GtkWidget *playlist_viewport;
-  GtkWidget *playlist_frame;
-  GtkWidget *playlist_clist;
-  GtkWidget *playlist_label_url;
-  GtkWidget *playlist_label_duration;
-  GtkWidget *playlist_menubar;
-  GtkWidget *playlist_action;
-  GtkWidget *playlist_ok;
-  GtkWidget *playlist_cancel;
-
-  intf_playlist = gnome_dialog_new (_("Playlist"), NULL);
-  gtk_object_set_data (GTK_OBJECT (intf_playlist), "intf_playlist", intf_playlist);
-  gtk_window_set_default_size (GTK_WINDOW (intf_playlist), 400, 300);
-  gtk_window_set_policy (GTK_WINDOW (intf_playlist), TRUE, TRUE, FALSE);
-  gnome_dialog_close_hides (GNOME_DIALOG (intf_playlist), TRUE);
-
-  playlist_vbox = GNOME_DIALOG (intf_playlist)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_playlist), "playlist_vbox", playlist_vbox);
-  gtk_widget_show (playlist_vbox);
-
-  playlist_scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_ref (playlist_scrolledwindow);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_scrolledwindow", playlist_scrolledwindow,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_scrolledwindow);
-  gtk_box_pack_start (GTK_BOX (playlist_vbox), playlist_scrolledwindow, TRUE, TRUE, 0);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (playlist_scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-
-  playlist_viewport = gtk_viewport_new (NULL, NULL);
-  gtk_widget_ref (playlist_viewport);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_viewport", playlist_viewport,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_viewport);
-  gtk_container_add (GTK_CONTAINER (playlist_scrolledwindow), playlist_viewport);
-
-  playlist_frame = gtk_frame_new (_("Playlist"));
-  gtk_widget_ref (playlist_frame);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_frame", playlist_frame,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_frame);
-  gtk_container_add (GTK_CONTAINER (playlist_viewport), playlist_frame);
-  gtk_container_set_border_width (GTK_CONTAINER (playlist_frame), 4);
-  gtk_frame_set_label_align (GTK_FRAME (playlist_frame), 0.05, 0.5);
-
-  playlist_clist = gtk_clist_new (2);
-  gtk_widget_ref (playlist_clist);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_clist", playlist_clist,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_clist);
-  gtk_container_add (GTK_CONTAINER (playlist_frame), playlist_clist);
-  gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 0, 287);
-  gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 1, 70);
-  gtk_clist_set_selection_mode (GTK_CLIST (playlist_clist), GTK_SELECTION_EXTENDED);
-  gtk_clist_column_titles_show (GTK_CLIST (playlist_clist));
-
-  playlist_label_url = gtk_label_new (_("URL"));
-  gtk_widget_ref (playlist_label_url);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_label_url", playlist_label_url,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_label_url);
-  gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 0, playlist_label_url);
-
-  playlist_label_duration = gtk_label_new (_("Duration"));
-  gtk_widget_ref (playlist_label_duration);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_label_duration", playlist_label_duration,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_label_duration);
-  gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 1, playlist_label_duration);
-
-  playlist_menubar = gtk_menu_bar_new ();
-  gtk_widget_ref (playlist_menubar);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_menubar", playlist_menubar,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_menubar);
-  gtk_box_pack_start (GTK_BOX (playlist_vbox), playlist_menubar, FALSE, FALSE, 0);
-  gnome_app_fill_menu (GTK_MENU_SHELL (playlist_menubar), playlist_menubar_uiinfo,
-                       NULL, FALSE, 0);
-
-  gtk_widget_ref (playlist_menubar_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add",
-                            playlist_menubar_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (playlist_add_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_disc",
-                            playlist_add_menu_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (playlist_add_menu_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_file",
-                            playlist_add_menu_uiinfo[1].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (playlist_add_menu_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_network",
-                            playlist_add_menu_uiinfo[2].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (playlist_add_menu_uiinfo[3].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_url",
-                            playlist_add_menu_uiinfo[3].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (playlist_menubar_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete",
-                            playlist_menubar_uiinfo[1].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (playlist_delete_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_all",
-                            playlist_delete_menu_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (playlist_delete_menu_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_item",
-                            playlist_delete_menu_uiinfo[1].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (playlist_menubar_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection",
-                            playlist_menubar_uiinfo[2].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (playlist_selection_menu_uiinfo[0].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_crop",
-                            playlist_selection_menu_uiinfo[0].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (playlist_selection_menu_uiinfo[1].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_invert",
-                            playlist_selection_menu_uiinfo[1].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  gtk_widget_ref (playlist_selection_menu_uiinfo[2].widget);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_select",
-                            playlist_selection_menu_uiinfo[2].widget,
-                            (GtkDestroyNotify) gtk_widget_unref);
-
-  playlist_action = GNOME_DIALOG (intf_playlist)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_playlist), "playlist_action", playlist_action);
-  gtk_widget_show (playlist_action);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (playlist_action), GTK_BUTTONBOX_END);
-  gtk_button_box_set_spacing (GTK_BUTTON_BOX (playlist_action), 8);
-  gtk_button_box_set_child_size (GTK_BUTTON_BOX (playlist_action), 100, 38);
-
-  gnome_dialog_append_button (GNOME_DIALOG (intf_playlist), GNOME_STOCK_BUTTON_OK);
-  playlist_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_playlist)->buttons)->data);
-  gtk_widget_ref (playlist_ok);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_ok", playlist_ok,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_ok);
-  GTK_WIDGET_SET_FLAGS (playlist_ok, GTK_CAN_DEFAULT);
-
-  gnome_dialog_append_button (GNOME_DIALOG (intf_playlist), GNOME_STOCK_BUTTON_CANCEL);
-  playlist_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_playlist)->buttons)->data);
-  gtk_widget_ref (playlist_cancel);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_cancel", playlist_cancel,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_cancel);
-  GTK_WIDGET_SET_FLAGS (playlist_cancel, GTK_CAN_DEFAULT);
-
-  gtk_signal_connect (GTK_OBJECT (intf_playlist), "destroy",
-                      GTK_SIGNAL_FUNC (gtk_widget_hide),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (intf_playlist), "delete_event",
-                      GTK_SIGNAL_FUNC (gtk_widget_hide),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_clist), "event",
-                      GTK_SIGNAL_FUNC (GtkPlaylistEvent),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_data_received",
-                      GTK_SIGNAL_FUNC (GtkPlaylistDragData),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_motion",
-                      GTK_SIGNAL_FUNC (GtkPlaylistDragMotion),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkPlaylistOk),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_cancel), "clicked",
-                      GTK_SIGNAL_FUNC (GtkPlaylistCancel),
-                      NULL);
-
-  return intf_playlist;
-}
-
-GtkWidget*
-create_intf_jump (void)
-{
-  GtkWidget *intf_jump;
-  GtkWidget *jump_vbox;
-  GtkWidget *jump_frame;
-  GtkWidget *jump_box;
-  GtkWidget *jump_label3;
-  GtkObject *jump_second_spinbutton_adj;
-  GtkWidget *jump_second_spinbutton;
-  GtkWidget *jump_label1;
-  GtkObject *jump_minute_spinbutton_adj;
-  GtkWidget *jump_minute_spinbutton;
-  GtkWidget *jump_label2;
-  GtkObject *jump_hour_spinbutton_adj;
-  GtkWidget *jump_hour_spinbutton;
-  GtkWidget *jump_action;
-  GtkWidget *jump_ok;
-  GtkWidget *jump_cancel;
-
-  intf_jump = gnome_dialog_new (NULL, NULL);
-  gtk_object_set_data (GTK_OBJECT (intf_jump), "intf_jump", intf_jump);
-  gtk_window_set_policy (GTK_WINDOW (intf_jump), FALSE, FALSE, FALSE);
-
-  jump_vbox = GNOME_DIALOG (intf_jump)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_jump), "jump_vbox", jump_vbox);
-  gtk_widget_show (jump_vbox);
-
-  jump_frame = gtk_frame_new (_("Jump to: "));
-  gtk_widget_ref (jump_frame);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_frame", jump_frame,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_frame);
-  gtk_box_pack_start (GTK_BOX (jump_vbox), jump_frame, FALSE, FALSE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (jump_frame), 5);
-  gtk_frame_set_label_align (GTK_FRAME (jump_frame), 0.05, 0.5);
-
-  jump_box = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (jump_box);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_box", jump_box,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_box);
-  gtk_container_add (GTK_CONTAINER (jump_frame), jump_box);
-  gtk_container_set_border_width (GTK_CONTAINER (jump_box), 5);
-
-  jump_label3 = gtk_label_new ("s.");
-  gtk_widget_ref (jump_label3);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_label3", jump_label3,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_label3);
-  gtk_box_pack_end (GTK_BOX (jump_box), jump_label3, FALSE, FALSE, 0);
-
-  jump_second_spinbutton_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
-  jump_second_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_second_spinbutton_adj), 1, 0);
-  gtk_widget_ref (jump_second_spinbutton);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_second_spinbutton", jump_second_spinbutton,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_second_spinbutton);
-  gtk_box_pack_end (GTK_BOX (jump_box), jump_second_spinbutton, FALSE, FALSE, 5);
-
-  jump_label1 = gtk_label_new ("m:");
-  gtk_widget_ref (jump_label1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_label1", jump_label1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_label1);
-  gtk_box_pack_end (GTK_BOX (jump_box), jump_label1, FALSE, FALSE, 5);
-
-  jump_minute_spinbutton_adj = gtk_adjustment_new (0, 0, 59, 1, 10, 10);
-  jump_minute_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_minute_spinbutton_adj), 1, 0);
-  gtk_widget_ref (jump_minute_spinbutton);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_minute_spinbutton", jump_minute_spinbutton,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_minute_spinbutton);
-  gtk_box_pack_end (GTK_BOX (jump_box), jump_minute_spinbutton, FALSE, FALSE, 5);
-
-  jump_label2 = gtk_label_new ("h:");
-  gtk_widget_ref (jump_label2);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_label2", jump_label2,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_label2);
-  gtk_box_pack_end (GTK_BOX (jump_box), jump_label2, FALSE, FALSE, 5);
-
-  jump_hour_spinbutton_adj = gtk_adjustment_new (0, 0, 10, 1, 10, 10);
-  jump_hour_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_hour_spinbutton_adj), 1, 0);
-  gtk_widget_ref (jump_hour_spinbutton);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_hour_spinbutton", jump_hour_spinbutton,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_hour_spinbutton);
-  gtk_box_pack_end (GTK_BOX (jump_box), jump_hour_spinbutton, FALSE, FALSE, 5);
-
-  jump_action = GNOME_DIALOG (intf_jump)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_jump), "jump_action", jump_action);
-  gtk_widget_show (jump_action);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (jump_action), GTK_BUTTONBOX_END);
-  gtk_button_box_set_spacing (GTK_BUTTON_BOX (jump_action), 8);
-
-  gnome_dialog_append_button (GNOME_DIALOG (intf_jump), GNOME_STOCK_BUTTON_OK);
-  jump_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_jump)->buttons)->data);
-  gtk_widget_ref (jump_ok);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_ok", jump_ok,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_ok);
-  GTK_WIDGET_SET_FLAGS (jump_ok, GTK_CAN_DEFAULT);
-
-  gnome_dialog_append_button (GNOME_DIALOG (intf_jump), GNOME_STOCK_BUTTON_CANCEL);
-  jump_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_jump)->buttons)->data);
-  gtk_widget_ref (jump_cancel);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_cancel", jump_cancel,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_cancel);
-  GTK_WIDGET_SET_FLAGS (jump_cancel, GTK_CAN_DEFAULT);
-
-  gtk_signal_connect (GTK_OBJECT (jump_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkJumpOk),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (jump_cancel), "clicked",
-                      GTK_SIGNAL_FUNC (GtkJumpCancel),
-                      NULL);
-
-  return intf_jump;
-}
-
-GtkWidget*
-create_intf_messages (void)
-{
-  GtkWidget *intf_messages;
-  GtkWidget *dialog_vbox6;
-  GtkWidget *scrolledwindow1;
-  GtkWidget *messages_textbox;
-  GtkWidget *dialog_action_area6;
-  GtkWidget *messages_ok;
-
-  intf_messages = gnome_dialog_new (_("Messages"), NULL);
-  gtk_object_set_data (GTK_OBJECT (intf_messages), "intf_messages", intf_messages);
-  gtk_window_set_policy (GTK_WINDOW (intf_messages), TRUE, TRUE, FALSE);
-  gnome_dialog_close_hides (GNOME_DIALOG (intf_messages), TRUE);
-
-  dialog_vbox6 = GNOME_DIALOG (intf_messages)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_messages), "dialog_vbox6", dialog_vbox6);
-  gtk_widget_show (dialog_vbox6);
-
-  scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_ref (scrolledwindow1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_messages), "scrolledwindow1", scrolledwindow1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (scrolledwindow1);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox6), scrolledwindow1, TRUE, TRUE, 0);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
-
-  messages_textbox = gtk_text_new (NULL, NULL);
-  gtk_widget_ref (messages_textbox);
-  gtk_object_set_data_full (GTK_OBJECT (intf_messages), "messages_textbox", messages_textbox,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (messages_textbox);
-  gtk_container_add (GTK_CONTAINER (scrolledwindow1), messages_textbox);
-  gtk_widget_set_usize (messages_textbox, 600, 400);
-
-  dialog_action_area6 = GNOME_DIALOG (intf_messages)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_messages), "dialog_action_area6", dialog_action_area6);
-  gtk_widget_show (dialog_action_area6);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area6), GTK_BUTTONBOX_END);
-  gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area6), 8);
-
-  gnome_dialog_append_button (GNOME_DIALOG (intf_messages), GNOME_STOCK_BUTTON_OK);
-  messages_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_messages)->buttons)->data);
-  gtk_widget_ref (messages_ok);
-  gtk_object_set_data_full (GTK_OBJECT (intf_messages), "messages_ok", messages_ok,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (messages_ok);
-  GTK_WIDGET_SET_FLAGS (messages_ok, GTK_CAN_DEFAULT);
-
-  gtk_signal_connect (GTK_OBJECT (intf_messages), "destroy",
-                      GTK_SIGNAL_FUNC (gtk_widget_hide),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (intf_messages), "delete_event",
-                      GTK_SIGNAL_FUNC (gtk_widget_hide),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (messages_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkMessagesOk),
-                      NULL);
-
-  return intf_messages;
-}
-
-GtkWidget*
-create_intf_sout (void)
-{
-  GtkWidget *intf_sout;
-  GtkWidget *dialog_vbox7;
-  GtkWidget *vbox16;
-  GtkWidget *frame11;
-  GtkWidget *hbox26;
-  GtkWidget *label39;
-  GtkWidget *combo4;
-  GtkWidget *sout_entry_target;
-  GtkWidget *frame12;
-  GtkWidget *table6;
-  GSList *sout_access_group = NULL;
-  GtkWidget *sout_access_file;
-  GtkWidget *sout_access_udp;
-  GtkWidget *sout_access_rtp;
-  GtkWidget *sout_file_path_label;
-  GtkWidget *sout_udp_address_label;
-  GtkWidget *sout_udp_address_combo;
-  GtkWidget *sout_udp_address;
-  GtkWidget *sout_udp_port_label;
-  GtkObject *sout_udp_port_adj;
-  GtkWidget *sout_udp_port;
-  GtkWidget *combo5;
-  GtkWidget *sout_file_path;
-  GtkWidget *hbox27;
-  GSList *sout_mux_group = NULL;
-  GtkWidget *sout_mux_ts;
-  GtkWidget *sout_mux_ps;
-  GtkWidget *sout_mux_avi;
-  GtkWidget *dialog_action_area7;
-  GtkWidget *button7;
-  GtkWidget *button9;
-
-  intf_sout = gnome_dialog_new (NULL, NULL);
-  gtk_object_set_data (GTK_OBJECT (intf_sout), "intf_sout", intf_sout);
-  gtk_container_set_border_width (GTK_CONTAINER (intf_sout), 5);
-  gtk_window_set_modal (GTK_WINDOW (intf_sout), TRUE);
-  gtk_window_set_policy (GTK_WINDOW (intf_sout), FALSE, FALSE, FALSE);
-
-  dialog_vbox7 = GNOME_DIALOG (intf_sout)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_sout), "dialog_vbox7", dialog_vbox7);
-  gtk_widget_show (dialog_vbox7);
-
-  vbox16 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_ref (vbox16);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "vbox16", vbox16,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox16);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox7), vbox16, TRUE, TRUE, 0);
-
-  frame11 = gtk_frame_new (_("stream output (MRL)"));
-  gtk_widget_ref (frame11);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "frame11", frame11,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame11);
-  gtk_box_pack_start (GTK_BOX (vbox16), frame11, FALSE, TRUE, 0);
-
-  hbox26 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox26);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox26", hbox26,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox26);
-  gtk_container_add (GTK_CONTAINER (frame11), hbox26);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox26), 5);
-
-  label39 = gtk_label_new (_("Destination Target: "));
-  gtk_widget_ref (label39);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "label39", label39,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label39);
-  gtk_box_pack_start (GTK_BOX (hbox26), label39, FALSE, FALSE, 0);
-
-  combo4 = gtk_combo_new ();
-  gtk_widget_ref (combo4);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "combo4", combo4,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo4);
-  gtk_box_pack_start (GTK_BOX (hbox26), combo4, TRUE, TRUE, 0);
-
-  sout_entry_target = GTK_COMBO (combo4)->entry;
-  gtk_widget_ref (sout_entry_target);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_entry_target", sout_entry_target,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_entry_target);
-
-  frame12 = gtk_frame_new (NULL);
-  gtk_widget_ref (frame12);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "frame12", frame12,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame12);
-  gtk_box_pack_start (GTK_BOX (vbox16), frame12, TRUE, TRUE, 0);
-
-  table6 = gtk_table_new (3, 5, FALSE);
-  gtk_widget_ref (table6);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "table6", table6,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (table6);
-  gtk_container_add (GTK_CONTAINER (frame12), table6);
-  gtk_table_set_row_spacings (GTK_TABLE (table6), 5);
-  gtk_table_set_col_spacings (GTK_TABLE (table6), 5);
-
-  sout_access_file = gtk_radio_button_new_with_label (sout_access_group, _("File"));
-  sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_file));
-  gtk_widget_ref (sout_access_file);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_file", sout_access_file,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_access_file);
-  gtk_table_attach (GTK_TABLE (table6), sout_access_file, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  sout_access_udp = gtk_radio_button_new_with_label (sout_access_group, _("UDP"));
-  sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_udp));
-  gtk_widget_ref (sout_access_udp);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_udp", sout_access_udp,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_access_udp);
-  gtk_table_attach (GTK_TABLE (table6), sout_access_udp, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  sout_access_rtp = gtk_radio_button_new_with_label (sout_access_group, _("RTP"));
-  sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_rtp));
-  gtk_widget_ref (sout_access_rtp);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_rtp", sout_access_rtp,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_access_rtp);
-  gtk_table_attach (GTK_TABLE (table6), sout_access_rtp, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  sout_file_path_label = gtk_label_new (_("Path:"));
-  gtk_widget_ref (sout_file_path_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_file_path_label", sout_file_path_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_file_path_label);
-  gtk_table_attach (GTK_TABLE (table6), sout_file_path_label, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (sout_file_path_label), 0, 0.5);
-
-  sout_udp_address_label = gtk_label_new (_("Address:"));
-  gtk_widget_ref (sout_udp_address_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address_label", sout_udp_address_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_udp_address_label);
-  gtk_table_attach (GTK_TABLE (table6), sout_udp_address_label, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (sout_udp_address_label), 0, 0.5);
-
-  sout_udp_address_combo = gtk_combo_new ();
-  gtk_widget_ref (sout_udp_address_combo);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address_combo", sout_udp_address_combo,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_udp_address_combo);
-  gtk_table_attach (GTK_TABLE (table6), sout_udp_address_combo, 2, 3, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  sout_udp_address = GTK_COMBO (sout_udp_address_combo)->entry;
-  gtk_widget_ref (sout_udp_address);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address", sout_udp_address,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_udp_address);
-
-  sout_udp_port_label = gtk_label_new (_("Port"));
-  gtk_widget_ref (sout_udp_port_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_port_label", sout_udp_port_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_udp_port_label);
-  gtk_table_attach (GTK_TABLE (table6), sout_udp_port_label, 3, 4, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (sout_udp_port_label), 0, 0.5);
-
-  sout_udp_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
-  sout_udp_port = gtk_spin_button_new (GTK_ADJUSTMENT (sout_udp_port_adj), 1, 0);
-  gtk_widget_ref (sout_udp_port);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_port", sout_udp_port,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_udp_port);
-  gtk_table_attach (GTK_TABLE (table6), sout_udp_port, 4, 5, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  combo5 = gtk_combo_new ();
-  gtk_widget_ref (combo5);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "combo5", combo5,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo5);
-  gtk_table_attach (GTK_TABLE (table6), combo5, 2, 5, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  sout_file_path = GTK_COMBO (combo5)->entry;
-  gtk_widget_ref (sout_file_path);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_file_path", sout_file_path,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_file_path);
-
-  hbox27 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox27);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox27", hbox27,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox27);
-  gtk_table_attach (GTK_TABLE (table6), hbox27, 4, 5, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  sout_mux_ts = gtk_radio_button_new_with_label (sout_mux_group, _("TS"));
-  sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_ts));
-  gtk_widget_ref (sout_mux_ts);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_ts", sout_mux_ts,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_mux_ts);
-  gtk_box_pack_start (GTK_BOX (hbox27), sout_mux_ts, FALSE, FALSE, 0);
-
-  sout_mux_ps = gtk_radio_button_new_with_label (sout_mux_group, _("PS"));
-  sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_ps));
-  gtk_widget_ref (sout_mux_ps);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_ps", sout_mux_ps,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_mux_ps);
-  gtk_box_pack_start (GTK_BOX (hbox27), sout_mux_ps, FALSE, FALSE, 0);
-
-  sout_mux_avi = gtk_radio_button_new_with_label (sout_mux_group, _("AVI"));
-  sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_avi));
-  gtk_widget_ref (sout_mux_avi);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_avi", sout_mux_avi,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_mux_avi);
-  gtk_box_pack_start (GTK_BOX (hbox27), sout_mux_avi, FALSE, FALSE, 0);
-
-  dialog_action_area7 = GNOME_DIALOG (intf_sout)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_sout), "dialog_action_area7", dialog_action_area7);
-  gtk_widget_show (dialog_action_area7);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area7), GTK_BUTTONBOX_END);
-  gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area7), 8);
-
-  gnome_dialog_append_button (GNOME_DIALOG (intf_sout), GNOME_STOCK_BUTTON_OK);
-  button7 = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_sout)->buttons)->data);
-  gtk_widget_ref (button7);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "button7", button7,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (button7);
-  GTK_WIDGET_SET_FLAGS (button7, GTK_CAN_DEFAULT);
-
-  gnome_dialog_append_button (GNOME_DIALOG (intf_sout), GNOME_STOCK_BUTTON_CANCEL);
-  button9 = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_sout)->buttons)->data);
-  gtk_widget_ref (button9);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "button9", button9,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (button9);
-  GTK_WIDGET_SET_FLAGS (button9, GTK_CAN_DEFAULT);
-
-  gtk_signal_connect (GTK_OBJECT (sout_access_file), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsAccessFile),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_access_udp), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsAccessUdp),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_access_rtp), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsAccessUdp),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_udp_address), "changed",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_udp_port), "changed",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_file_path), "changed",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_mux_ts), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_mux_ps), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_mux_avi), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (button7), "clicked",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsOk),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (button9), "clicked",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsCancel),
-                      NULL);
-
-  return intf_sout;
-}
-
diff --git a/modules/gui/gtk/gnome_interface.h b/modules/gui/gtk/gnome_interface.h
deleted file mode 100644 (file)
index 33a892b..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-GtkWidget* create_intf_window (void);
-GtkWidget* create_intf_popup (void);
-GtkWidget* create_intf_about (void);
-GtkWidget* create_intf_open (void);
-GtkWidget* create_intf_file (void);
-GtkWidget* create_intf_modules (void);
-GtkWidget* create_intf_playlist (void);
-GtkWidget* create_intf_jump (void);
-GtkWidget* create_intf_messages (void);
-GtkWidget* create_intf_sout (void);
diff --git a/modules/gui/gtk/gnome_support.c b/modules/gui/gtk/gnome_support.c
deleted file mode 100644 (file)
index 1a4374d..0000000
+++ /dev/null
@@ -1,148 +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 <gnome.h>
-
-#include "gnome_support.h"
-
-/* This is an internally used function to create pixmaps. */
-static GtkWidget* create_dummy_pixmap  (GtkWidget       *widget,
-                                        gboolean         gnome_pixmap);
-
-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,
-                                        gboolean         gnome_pixmap)
-{
-  GdkColormap *colormap;
-  GdkPixmap *gdkpixmap;
-  GdkBitmap *mask;
-  GtkWidget *pixmap;
-
-  if (gnome_pixmap)
-    {
-      return gnome_pixmap_new_from_xpm_d (dummy_pixmap_xpm);
-    }
-
-  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;
-}
-
-/* This is an internally used function to create pixmaps. */
-GtkWidget*
-create_pixmap                          (GtkWidget       *widget,
-                                        const gchar     *filename,
-                                        gboolean         gnome_pixmap)
-{
-  GtkWidget *pixmap;
-  GdkColormap *colormap;
-  GdkPixmap *gdkpixmap;
-  GdkBitmap *mask;
-  gchar *pathname;
-
-  if (!filename || !filename[0])
-      return create_dummy_pixmap (widget, gnome_pixmap);
-
-  pathname = gnome_pixmap_file (filename);
-  if (!pathname)
-    {
-      g_warning (_("Couldn't find pixmap file: %s"), filename);
-      return create_dummy_pixmap (widget, gnome_pixmap);
-    }
-
-  if (gnome_pixmap)
-    {
-      pixmap = gnome_pixmap_new_from_file (pathname);
-      g_free (pathname);
-      return pixmap;
-    }
-
-  colormap = gtk_widget_get_colormap (widget);
-  gdkpixmap = gdk_pixmap_colormap_create_from_xpm (NULL, colormap, &mask,
-                                                   NULL, pathname);
-  if (gdkpixmap == NULL)
-    {
-      g_warning (_("Couldn't create pixmap from file: %s"), pathname);
-      g_free (pathname);
-      return create_dummy_pixmap (widget, gnome_pixmap);
-    }
-  g_free (pathname);
-
-  pixmap = gtk_pixmap_new (gdkpixmap, mask);
-  gdk_pixmap_unref (gdkpixmap);
-  gdk_bitmap_unref (mask);
-  return pixmap;
-}
-
-/* This is an internally used function to create imlib images. */
-#if 0
-GdkImlibImage*
-create_image                           (const gchar     *filename)
-{
-  GdkImlibImage *image;
-  gchar *pathname;
-
-  pathname = gnome_pixmap_file (filename);
-  if (!pathname)
-    {
-      g_warning (_("Couldn't find pixmap file: %s"), filename);
-      return NULL;
-    }
-
-  image = gdk_imlib_load_image (pathname);
-  g_free (pathname);
-  return image;
-}
-#endif
-
diff --git a/modules/gui/gtk/gnome_support.h b/modules/gui/gtk/gnome_support.h
deleted file mode 100644 (file)
index 873e181..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#include <gnome.h>
-
-/*
- * 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
-
-
-/*
- * Private Functions.
- */
-
-/* This is used to create the pixmaps in the interface. */
-GtkWidget*  create_pixmap              (GtkWidget       *widget,
-                                        const gchar     *filename,
-                                        gboolean         gnome_pixmap);
-
-//GdkImlibImage* create_image            (const gchar     *filename);
-
diff --git a/modules/gui/gtk/gtk.c b/modules/gui/gtk/gtk.c
deleted file mode 100644 (file)
index d3fb015..0000000
+++ /dev/null
@@ -1,562 +0,0 @@
-/*****************************************************************************
- * gtk.c : Gtk+ plugin for vlc
- *****************************************************************************
- * Copyright (C) 2000-2001 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.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>
-
-#include "gtk_callbacks.h"
-#include "gtk_interface.h"
-#include "gtk_support.h"
-
-#include "menu.h"
-#include "display.h"
-#include "common.h"
-
-/*****************************************************************************
- * Local prototypes.
- *****************************************************************************/
-static int  Open         ( vlc_object_t * );
-static void Close        ( vlc_object_t * );
-
-static void Run          ( intf_thread_t * );
-static int  Manage       ( intf_thread_t * );
-
-/*****************************************************************************
- * Module descriptor
- *****************************************************************************/
-#define TOOLTIPS_TEXT N_("Show tooltips")
-#define TOOLTIPS_LONGTEXT N_("Show tooltips for configuration options.")
-
-#define PREFS_MAXH_TEXT N_("Maximum height for the configuration windows")
-#define PREFS_MAXH_LONGTEXT N_( \
-    "You can set the maximum height that the configuration windows in the " \
-    "preferences menu will occupy.")
-
-#define PATH_TEXT N_("Interface default search path")
-#define PATH_LONGTEXT N_( \
-    "This option allows you to set the default path that the interface will " \
-    "open when looking for a file.")
-
-vlc_module_begin();
-#ifdef WIN32
-    int i = 90;
-#else
-    int i = getenv( "DISPLAY" ) == NULL ? 10 : 90;
-#endif
-    set_description( _("Gtk+ interface") );
-    set_category( CAT_INTERFACE );
-    set_subcategory( SUBCAT_INTERFACE_GENERAL );
-
-    add_bool( "gtk-tooltips", 1, E_(GtkHideTooltips),
-              TOOLTIPS_TEXT, TOOLTIPS_LONGTEXT, VLC_FALSE );
-    add_integer( "gtk-prefs-maxh", 480, NULL,
-                 PREFS_MAXH_TEXT, PREFS_MAXH_LONGTEXT, VLC_TRUE );
-    add_directory( "gtk-search-path", NULL, NULL, PATH_TEXT,
-                   PATH_LONGTEXT, VLC_TRUE );
-
-    set_capability( "interface", i );
-    set_callbacks( Open, Close );
-    add_shortcut( "gtk" );
-    set_program( "gvlc" );
-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
-    p_intf->p_sys->p_gtk_main =
-        module_Need( p_this, "gui-helper", "gtk", VLC_TRUE );
-    if( p_intf->p_sys->p_gtk_main == NULL )
-    {
-        free( p_intf->p_sys );
-        return VLC_ENOMOD;
-    }
-#endif
-
-    p_intf->pf_run = Run;
-
-    p_intf->p_sys->p_sub = msg_Subscribe( p_intf );
-
-    /* Initialize Gtk+ thread */
-    p_intf->p_sys->b_playing = VLC_FALSE;
-    p_intf->p_sys->b_deinterlace_update = VLC_FALSE;
-
-    p_intf->p_sys->b_aout_update = VLC_FALSE;
-    p_intf->p_sys->b_vout_update = VLC_FALSE;
-
-    p_intf->p_sys->b_popup_changed = VLC_FALSE;
-    p_intf->p_sys->b_window_changed = VLC_FALSE;
-    p_intf->p_sys->b_playlist_changed = VLC_FALSE;
-    p_intf->p_sys->b_program_update = VLC_FALSE;
-    p_intf->p_sys->b_title_update = VLC_FALSE;
-    p_intf->p_sys->b_chapter_update = VLC_FALSE;
-    p_intf->p_sys->b_spu_update = VLC_FALSE;
-    p_intf->p_sys->b_audio_update = VLC_FALSE;
-
-    p_intf->p_sys->p_input = NULL;
-    p_intf->p_sys->i_playing = -1;
-    p_intf->p_sys->b_slider_free = VLC_TRUE;
-
-    p_intf->p_sys->i_part = 0;
-    p_intf->p_sys->b_mute = VLC_FALSE;
-
-    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 );
-    }
-
-    msg_Unsubscribe( p_intf, p_intf->p_sys->p_sub );
-
-#ifdef NEED_GTK_MAIN
-    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 )
-{
-    /* The data types we are allowed to receive */
-    static GtkTargetEntry target_table[] =
-    {
-        { "STRING", 0, DROP_ACCEPT_STRING },
-        { "text/uri-list", 0, DROP_ACCEPT_TEXT_URI_LIST },
-        { "text/plain", 0, DROP_ACCEPT_TEXT_PLAIN }
-    };
-    char *psz_sout;
-    GString *       p_target;
-
-#ifdef NEED_GTK_MAIN
-    gdk_threads_enter();
-#else
-    /* 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;
-
-    gtk_init( &i_args, &pp_args );
-#endif
-
-    /* Create some useful widgets that will certainly be used */
-    p_intf->p_sys->p_window = create_intf_window();
-    p_intf->p_sys->p_popup = create_intf_popup();
-    p_intf->p_sys->p_playwin = create_intf_playlist();
-    p_intf->p_sys->p_messages = create_intf_messages();
-    p_intf->p_sys->p_tooltips = gtk_tooltips_new();
-    p_intf->p_sys->p_sout = create_intf_sout();
-
-    /* Set the title of the main window */
-    gtk_window_set_title( GTK_WINDOW(p_intf->p_sys->p_window),
-                          VOUT_TITLE " (Gtk+ interface)");
-
-    /* Accept file drops on the main window */
-    gtk_drag_dest_set( GTK_WIDGET( p_intf->p_sys->p_window ),
-                       GTK_DEST_DEFAULT_ALL, target_table,
-                       DROP_ACCEPT_END, GDK_ACTION_COPY );
-
-    /* Accept file drops on the playlist window */
-    gtk_drag_dest_set( GTK_WIDGET( lookup_widget( p_intf->p_sys->p_playwin,
-                                   "playlist_clist") ),
-                       GTK_DEST_DEFAULT_ALL, target_table,
-                       DROP_ACCEPT_END, GDK_ACTION_COPY );
-
-    /* Get the slider object */
-    p_intf->p_sys->p_slider_frame = GTK_FRAME( gtk_object_get_data(
-        GTK_OBJECT( p_intf->p_sys->p_window ), "slider_frame" ) );
-
-    /* Configure the log window */
-    p_intf->p_sys->p_messages_text = GTK_TEXT( gtk_object_get_data(
-        GTK_OBJECT(p_intf->p_sys->p_messages ), "messages_textbox" ) );
-    gtk_text_set_line_wrap( p_intf->p_sys->p_messages_text, TRUE);
-    gtk_text_set_word_wrap( p_intf->p_sys->p_messages_text, FALSE);
-
-    /* Get the interface labels */
-#define P_LABEL( name ) GTK_LABEL( gtk_object_get_data( \
-                         GTK_OBJECT( p_intf->p_sys->p_window ), name ) )
-    p_intf->p_sys->p_label_title = P_LABEL( "title_label" );
-    p_intf->p_sys->p_label_chapter = P_LABEL( "chapter_label" );
-#undef P_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;
-#undef P_SLIDER
-
-
-
-    /* We don't create these ones yet because we perhaps won't need them */
-    p_intf->p_sys->p_about = NULL;
-    p_intf->p_sys->p_modules = NULL;
-    p_intf->p_sys->p_open = NULL;
-    p_intf->p_sys->p_jump = NULL;
-
-    /* Hide tooltips if the option is set */
-    if( !config_GetInt( p_intf, "gtk-tooltips" ) )
-    {
-        gtk_tooltips_disable( p_intf->p_sys->p_tooltips );
-    }
-
-    /* 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_popup),
-                         "p_intf", p_intf );
-    gtk_object_set_data( GTK_OBJECT( gtk_object_get_data(
-                             GTK_OBJECT(p_intf->p_sys->p_popup),
-                             "popup_audio" ) ), "p_intf", p_intf );
-    gtk_object_set_data( GTK_OBJECT( gtk_object_get_data(
-                             GTK_OBJECT(p_intf->p_sys->p_popup),
-                             "popup_video" ) ), "p_intf", p_intf );
-
-    gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_playwin ),
-                         "p_intf", p_intf );
-
-    gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_messages ),
-                         "p_intf", p_intf );
-
-    gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_adj),
-                         "p_intf", p_intf );
-    gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_sout ),
-                         "p_intf", p_intf );
-
-    psz_sout = config_GetPsz( p_intf, "sout" );
-    p_target = g_string_new( psz_sout ? psz_sout : "" );
-    if( psz_sout ) free( psz_sout );
-
-    gtk_entry_set_text( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_sout ), "sout_entry_target" ), p_target->str );
-    g_string_free( p_target, TRUE );
-
-    /* FIXME it's to be sure that only file entry is selected */
-    gtk_toggle_button_set_active(  gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_sout ),
-                                   "sout_access_udp" ), TRUE );
-
-    gtk_toggle_button_set_active(  gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_sout ),
-                                   "sout_access_file" ), TRUE );
-
-    /* Show the control window */
-    gtk_widget_show( p_intf->p_sys->p_window );
-
-#ifdef NEED_GTK_MAIN
-    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();
-        msleep( INTF_IDLE_SLEEP );
-        gdk_threads_enter();
-    }
-#else
-    /* Sleep to avoid using all CPU - since some interfaces needs to access
-     * keyboard events, a 100ms delay is a good compromise */
-    i_dummy = gtk_timeout_add( INTF_IDLE_SLEEP / 1000, (GtkFunction)Manage,
-                               p_intf );
-    /* Enter Gtk mode */
-    gtk_main();
-    /* Remove the timeout */
-    gtk_timeout_remove( i_dummy );
-#endif
-
-    /* Destroy the Tooltips structure */
-    gtk_object_destroy( GTK_OBJECT(p_intf->p_sys->p_tooltips) );
-    gtk_object_destroy( GTK_OBJECT(p_intf->p_sys->p_messages) );
-    gtk_object_destroy( GTK_OBJECT(p_intf->p_sys->p_playwin) );
-    gtk_object_destroy( GTK_OBJECT(p_intf->p_sys->p_popup) );
-    gtk_object_destroy( GTK_OBJECT(p_intf->p_sys->p_window) );
-
-#ifdef NEED_GTK_MAIN
-    gdk_threads_leave();
-#endif
-}
-
-/* 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 )
-{
-    int i_start, i_stop;
-
-    vlc_mutex_lock( &p_intf->change_lock );
-
-    /* If the "display popup" flag has changed */
-    if( p_intf->b_menu_change )
-    {
-        if( !GTK_IS_WIDGET( p_intf->p_sys->p_popup ) )
-        {
-            p_intf->p_sys->p_popup = create_intf_popup();
-            gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_popup ),
-                                 "p_intf", p_intf );
-        }
-        gtk_menu_popup( GTK_MENU( p_intf->p_sys->p_popup ),
-                        NULL, NULL, NULL, NULL, 0, GDK_CURRENT_TIME );
-        p_intf->b_menu_change = 0;
-    }
-
-    /* Update the log window */
-    vlc_mutex_lock( p_intf->p_sys->p_sub->p_lock );
-    i_stop = *p_intf->p_sys->p_sub->pi_stop;
-    vlc_mutex_unlock( p_intf->p_sys->p_sub->p_lock );
-
-    if( p_intf->p_sys->p_sub->i_start != i_stop )
-    {
-        static GdkColor white  = { 0, 0xffff, 0xffff, 0xffff };
-        static GdkColor gray   = { 0, 0xaaaa, 0xaaaa, 0xaaaa };
-        static GdkColor yellow = { 0, 0xffff, 0xffff, 0x6666 };
-        static GdkColor red    = { 0, 0xffff, 0x6666, 0x6666 };
-
-        static const char * ppsz_type[4] = { ": ", " error: ", " warning: ",
-                                             " debug: " };
-        static GdkColor *   pp_color[4] = { &white, &red, &yellow, &gray };
-
-        for( i_start = p_intf->p_sys->p_sub->i_start;
-             i_start != i_stop;
-             i_start = (i_start+1) % VLC_MSG_QSIZE )
-        {
-            /* Append all messages to log window */
-            gtk_text_insert( p_intf->p_sys->p_messages_text, NULL, &gray,
-             NULL, p_intf->p_sys->p_sub->p_msg[i_start].psz_module, -1 );
-
-            gtk_text_insert( p_intf->p_sys->p_messages_text, NULL, &gray,
-                NULL, ppsz_type[p_intf->p_sys->p_sub->p_msg[i_start].i_type],
-                -1 );
-
-            gtk_text_insert( p_intf->p_sys->p_messages_text, NULL,
-                pp_color[p_intf->p_sys->p_sub->p_msg[i_start].i_type], NULL,
-                p_intf->p_sys->p_sub->p_msg[i_start].psz_msg, -1 );
-
-            gtk_text_insert( p_intf->p_sys->p_messages_text, NULL, &gray,
-                NULL, "\n", -1 );
-        }
-
-        vlc_mutex_lock( p_intf->p_sys->p_sub->p_lock );
-        p_intf->p_sys->p_sub->i_start = i_start;
-        vlc_mutex_unlock( p_intf->p_sys->p_sub->p_lock );
-
-        /* If the messages list becomes too big, just clean half of it. */
-        if( gtk_text_get_length( p_intf->p_sys->p_messages_text ) >
-            VLC_MSG_QSIZE * 1000 )
-        {
-            gtk_text_set_point( p_intf->p_sys->p_messages_text, 0 );
-            gtk_text_forward_delete( p_intf->p_sys->p_messages_text,
-                gtk_text_get_length( p_intf->p_sys->p_messages_text ) / 2 );
-        }
-
-        gtk_text_set_point( p_intf->p_sys->p_messages_text,
-                    gtk_text_get_length( p_intf->p_sys->p_messages_text ) );
-    }
-
-    /* Update the playlist */
-    GtkPlayListManage( p_intf );
-
-    /* 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;
-        aout_instance_t *p_aout  = NULL;
-        vout_thread_t   *p_vout  = NULL;
-        vlc_bool_t      b_need_menus = VLC_FALSE;
-
-        //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 )
-            {
-                E_(GtkModeManage)( p_intf );
-                GtkSetupMenus( p_intf );
-                p_intf->p_sys->b_playing = 1;
-            }
-
-            /* Manage the slider */
-            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.
-                 * Beware, the hack below is needed by the dvdplay plugin! */
-                else if( p_intf->p_sys->b_slider_free
-                /* hack -> */ && (p_intf->p_sys->f_adj_oldvalue < 100.) )
-                {
-                    if( newvalue >= 0. && newvalue < 100. )
-                    {
-                        double f_fpos = (double)newvalue / 100.0;
-
-                        /* release the lock to be able to seek */
-                        //vlc_mutex_unlock( &p_input->stream.stream_lock );
-                        var_SetFloat( p_input, "position", f_fpos );
-                        //vlc_mutex_lock( &p_input->stream.stream_lock );
-                    }
-
-                    /* Update the old value */
-                    p_intf->p_sys->f_adj_oldvalue = newvalue;
-                }
-#undef p_area
-            }
-
-            if( p_intf->p_sys->i_part !=
-                p_input->stream.p_selected_area->i_part )
-            {
-                p_intf->p_sys->b_chapter_update = 1;
-                b_need_menus = VLC_TRUE;
-            }
-
-            /* Does the audio output require to update the menus ? */
-            p_aout = (aout_instance_t *)vlc_object_find( p_intf, VLC_OBJECT_AOUT,
-                                                         FIND_ANYWHERE );
-            if( p_aout != NULL )
-            {
-                vlc_value_t val;
-                if( var_Get( (vlc_object_t *)p_aout, "intf-change", &val ) >= 0
-                    && val.b_bool )
-                {
-                    p_intf->p_sys->b_aout_update = 1;
-                    b_need_menus = 1;
-                }
-
-                vlc_object_release( (vlc_object_t *)p_aout );
-            }
-
-            /* Does the video output require to update the menus ? */
-            p_vout = (vout_thread_t *)vlc_object_find( p_intf, VLC_OBJECT_VOUT,
-                                                       FIND_ANYWHERE );
-            if( p_vout != NULL ) 
-            {
-                vlc_value_t val;
-                if( var_Get( (vlc_object_t *)p_vout, "intf-change", &val ) >= 0
-                    && val.b_bool )
-                {
-                    p_intf->p_sys->b_vout_update = 1;
-                    b_need_menus = 1;
-                }
-
-                vlc_object_release( (vlc_object_t *)p_vout );
-            }
-            if( b_need_menus )
-            {
-                GtkSetupMenus( p_intf );
-            }
-        }
-
-        //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;
-}
diff --git a/modules/gui/gtk/gtk.glade b/modules/gui/gtk/gtk.glade
deleted file mode 100644 (file)
index 95ecf75..0000000
+++ /dev/null
@@ -1,4395 +0,0 @@
-<?xml version="1.0"?>
-<GTK-Interface>
-
-<project>
-  <name>VLC media player</name>
-  <program_name>vlc</program_name>
-  <directory></directory>
-  <source_directory></source_directory>
-  <pixmaps_directory>pixmaps</pixmaps_directory>
-  <language>C</language>
-  <gnome_support>False</gnome_support>
-  <gettext_support>True</gettext_support>
-  <output_main_file>False</output_main_file>
-  <output_build_files>False</output_build_files>
-  <main_source_file>gtk_interface.c</main_source_file>
-  <main_header_file>gtk_interface.h</main_header_file>
-  <handler_source_file>gtk_callbacks.c</handler_source_file>
-  <handler_header_file>gtk_callbacks.h</handler_header_file>
-  <support_source_file>gtk_support.c</support_source_file>
-  <support_header_file>gtk_support.h</support_header_file>
-</project>
-
-<widget>
-  <class>GtkWindow</class>
-  <name>intf_window</name>
-  <signal>
-    <name>drag_data_received</name>
-    <handler>GtkWindowDrag</handler>
-    <last_modification_time>Tue, 09 Jul 2002 09:09:48 GMT</last_modification_time>
-  </signal>
-  <signal>
-    <name>delete_event</name>
-    <handler>GtkWindowDelete</handler>
-    <last_modification_time>Tue, 09 Jul 2002 09:09:53 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>
-    <child_name>GnomeDock:contents</child_name>
-    <name>window_vbox</name>
-    <homogeneous>False</homogeneous>
-    <spacing>0</spacing>
-
-    <widget>
-      <class>GtkHandleBox</class>
-      <name>menubar_handlebox</name>
-      <shadow_type>GTK_SHADOW_OUT</shadow_type>
-      <handle_position>GTK_POS_LEFT</handle_position>
-      <snap_edge>GTK_POS_TOP</snap_edge>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkMenuBar</class>
-       <name>menubar</name>
-       <shadow_type>GTK_SHADOW_OUT</shadow_type>
-
-       <widget>
-         <class>GtkMenuItem</class>
-         <name>menubar_file</name>
-         <label>_File</label>
-         <right_justify>False</right_justify>
-
-         <widget>
-           <class>GtkMenu</class>
-           <name>menubar_file_menu</name>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_open</name>
-             <tooltip>Open a file</tooltip>
-             <accelerator>
-               <modifiers>0</modifiers>
-               <key>GDK_F3</key>
-               <signal>activate</signal>
-             </accelerator>
-             <signal>
-               <name>activate</name>
-               <handler>GtkFileOpenShow</handler>
-               <last_modification_time>Mon, 14 May 2001 21:27:36 GMT</last_modification_time>
-             </signal>
-             <label>_Open File...</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_disc</name>
-             <tooltip>Open Disc Media</tooltip>
-             <accelerator>
-               <modifiers>0</modifiers>
-               <key>GDK_F4</key>
-               <signal>activate</signal>
-             </accelerator>
-             <signal>
-               <name>activate</name>
-               <handler>GtkDiscOpenShow</handler>
-               <last_modification_time>Mon, 14 May 2001 21:27:47 GMT</last_modification_time>
-             </signal>
-             <label>Open _Disc...</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_network</name>
-             <tooltip>Select a network stream</tooltip>
-             <accelerator>
-               <modifiers>0</modifiers>
-               <key>GDK_F5</key>
-               <signal>activate</signal>
-             </accelerator>
-             <signal>
-               <name>activate</name>
-               <handler>GtkNetworkOpenShow</handler>
-               <last_modification_time>Mon, 14 May 2001 21:28:06 GMT</last_modification_time>
-             </signal>
-             <label>_Network Stream...</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator4</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_eject</name>
-             <tooltip>Eject disc</tooltip>
-             <signal>
-               <name>activate</name>
-               <handler>GtkDiscEject</handler>
-               <last_modification_time>Fri, 21 Dec 2001 12:51:34 GMT</last_modification_time>
-             </signal>
-             <label>_Eject Disc</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator14</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_close</name>
-             <tooltip>Close the window</tooltip>
-             <accelerator>
-               <modifiers>GDK_CONTROL_MASK</modifiers>
-               <key>GDK_W</key>
-               <signal>activate</signal>
-             </accelerator>
-             <signal>
-               <name>activate</name>
-               <handler>GtkClose</handler>
-               <last_modification_time>Mon, 15 Jul 2002 08:55:26 GMT</last_modification_time>
-             </signal>
-             <label>_Close</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_exit</name>
-             <tooltip>Exit the program</tooltip>
-             <accelerator>
-               <modifiers>GDK_CONTROL_MASK</modifiers>
-               <key>GDK_Q</key>
-               <signal>activate</signal>
-             </accelerator>
-             <signal>
-               <name>activate</name>
-               <handler>GtkExit</handler>
-               <last_modification_time>Mon, 14 May 2001 21:28:20 GMT</last_modification_time>
-             </signal>
-             <label>E_xit</label>
-             <right_justify>False</right_justify>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkMenuItem</class>
-         <name>menubar_view</name>
-         <label>_View</label>
-         <right_justify>False</right_justify>
-
-         <widget>
-           <class>GtkMenu</class>
-           <name>menubar_view_menu</name>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_interface_hide</name>
-             <tooltip>Hide the main interface window</tooltip>
-             <signal>
-               <name>activate</name>
-               <handler>GtkWindowToggle</handler>
-               <last_modification_time>Mon, 14 May 2001 21:32:49 GMT</last_modification_time>
-             </signal>
-             <label>_Hide interface</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator13</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_program</name>
-             <sensitive>False</sensitive>
-             <tooltip>Choose the program</tooltip>
-             <label>Progr_am</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_title</name>
-             <sensitive>False</sensitive>
-             <tooltip>Navigate through the stream</tooltip>
-             <label>_Title</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_chapter</name>
-             <sensitive>False</sensitive>
-             <label>_Chapter</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator11</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_playlist</name>
-             <tooltip>Open the playlist window</tooltip>
-             <signal>
-               <name>activate</name>
-               <handler>GtkPlaylistShow</handler>
-               <last_modification_time>Mon, 14 May 2001 21:29:34 GMT</last_modification_time>
-             </signal>
-             <label>_Playlist...</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_modules</name>
-             <sensitive>False</sensitive>
-             <tooltip>Open the module manager</tooltip>
-             <signal>
-               <name>activate</name>
-               <handler>GtkModulesShow</handler>
-               <last_modification_time>Mon, 14 May 2001 21:29:44 GMT</last_modification_time>
-             </signal>
-             <label>_Modules...</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_messages</name>
-             <tooltip>Open the messages window</tooltip>
-             <signal>
-               <name>activate</name>
-               <handler>GtkMessagesShow</handler>
-               <last_modification_time>Tue, 19 Feb 2002 02:03:47 GMT</last_modification_time>
-             </signal>
-             <label>Messages...</label>
-             <right_justify>False</right_justify>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkMenuItem</class>
-         <name>menubar_settings</name>
-         <label>_Settings</label>
-         <right_justify>False</right_justify>
-
-         <widget>
-           <class>GtkMenu</class>
-           <name>menubar_settings_menu</name>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_preferences</name>
-             <tooltip>Configure the application</tooltip>
-             <signal>
-               <name>activate</name>
-               <handler>GtkPreferencesShow</handler>
-               <last_modification_time>Mon, 14 May 2001 21:30:02 GMT</last_modification_time>
-             </signal>
-             <label>_Preferences...</label>
-             <right_justify>False</right_justify>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkMenuItem</class>
-         <name>menubar_config_audio</name>
-         <label>_Audio</label>
-         <right_justify>False</right_justify>
-
-         <widget>
-           <class>GtkMenu</class>
-           <name>menubar_config_audio_menu</name>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_audio</name>
-             <sensitive>False</sensitive>
-             <tooltip>Select audio channel</tooltip>
-             <label>_Language</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator18</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_volume_up</name>
-             <signal>
-               <name>activate</name>
-               <handler>GtkVolumeUp</handler>
-               <last_modification_time>Mon, 20 Jan 2003 10:11:53 GMT</last_modification_time>
-             </signal>
-             <label>Volume Up</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_volume_down</name>
-             <signal>
-               <name>activate</name>
-               <handler>GtkVolumeDown</handler>
-               <last_modification_time>Mon, 20 Jan 2003 10:11:53 GMT</last_modification_time>
-             </signal>
-             <label>Volume Down</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_volume_mute</name>
-             <signal>
-               <name>activate</name>
-               <handler>GtkVolumeMute</handler>
-               <last_modification_time>Mon, 20 Jan 2003 10:11:53 GMT</last_modification_time>
-             </signal>
-             <label>Mute</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator15</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_audio_channels</name>
-             <label>Channels</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_audio_device</name>
-             <label>Device</label>
-             <right_justify>False</right_justify>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkMenuItem</class>
-         <name>menubar_config_video</name>
-         <label>_Video</label>
-         <right_justify>False</right_justify>
-
-         <widget>
-           <class>GtkMenu</class>
-           <name>menubar_config_video_menu</name>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_subpictures</name>
-             <sensitive>False</sensitive>
-             <tooltip>Select subtitles channel</tooltip>
-             <label>_Subtitles</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator25</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_fullscreen</name>
-             <signal>
-               <name>activate</name>
-               <handler>GtkFullscreen</handler>
-               <last_modification_time>Mon, 14 May 2001 21:29:21 GMT</last_modification_time>
-             </signal>
-             <label>_Fullscreen</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>separator24</name>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_deinterlace</name>
-             <label>Deinterlace</label>
-             <right_justify>False</right_justify>
-           </widget>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_video_device</name>
-             <label>Screen</label>
-             <right_justify>False</right_justify>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkMenuItem</class>
-         <name>menubar_help</name>
-         <label>_Help</label>
-         <right_justify>False</right_justify>
-
-         <widget>
-           <class>GtkMenu</class>
-           <name>menubar_help_menu</name>
-
-           <widget>
-             <class>GtkMenuItem</class>
-             <name>menubar_about</name>
-             <tooltip>About this application</tooltip>
-             <signal>
-               <name>activate</name>
-               <handler>GtkAboutShow</handler>
-               <last_modification_time>Mon, 14 May 2001 21:30:15 GMT</last_modification_time>
-             </signal>
-             <label>_About...</label>
-             <right_justify>False</right_justify>
-           </widget>
-         </widget>
-       </widget>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkHandleBox</class>
-      <name>toolbar_handlebox</name>
-      <shadow_type>GTK_SHADOW_OUT</shadow_type>
-      <handle_position>GTK_POS_LEFT</handle_position>
-      <snap_edge>GTK_POS_TOP</snap_edge>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkToolbar</class>
-       <name>toolbar</name>
-       <border_width>1</border_width>
-       <orientation>GTK_ORIENTATION_HORIZONTAL</orientation>
-       <type>GTK_TOOLBAR_BOTH</type>
-       <space_size>16</space_size>
-       <space_style>GTK_TOOLBAR_SPACE_LINE</space_style>
-       <relief>GTK_RELIEF_NONE</relief>
-       <tooltips>True</tooltips>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_open</name>
-         <tooltip>Open a file</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkFileOpenShow</handler>
-           <last_modification_time>Mon, 08 Jul 2002 16:14:58 GMT</last_modification_time>
-         </signal>
-         <label>File</label>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_disc</name>
-         <tooltip>Open Disc Media</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkDiscOpenShow</handler>
-           <last_modification_time>Sun, 13 May 2001 15:10:30 GMT</last_modification_time>
-         </signal>
-         <label>Disc</label>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_network</name>
-         <tooltip>Select a network stream</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkNetworkOpenShow</handler>
-           <last_modification_time>Sun, 13 May 2001 15:10:37 GMT</last_modification_time>
-         </signal>
-         <label>Net</label>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_sat</name>
-         <tooltip>Open a Satellite Card</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkSatOpenShow</handler>
-           <last_modification_time>Sun, 24 Mar 2002 15:08:57 GMT</last_modification_time>
-         </signal>
-         <label>Sat</label>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_back</name>
-         <sensitive>False</sensitive>
-         <tooltip>Go Backward</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkControlBack</handler>
-           <last_modification_time>Sun, 13 May 2001 15:10:47 GMT</last_modification_time>
-         </signal>
-         <label>Back</label>
-         <child>
-           <new_group>True</new_group>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_stop</name>
-         <tooltip>Stop Stream</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkControlStop</handler>
-           <last_modification_time>Sun, 13 May 2001 15:10:57 GMT</last_modification_time>
-         </signal>
-         <label>Stop</label>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_eject</name>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkDiscEject</handler>
-           <last_modification_time>Fri, 21 Dec 2001 15:33:26 GMT</last_modification_time>
-         </signal>
-         <label>Eject</label>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_play</name>
-         <tooltip>Play Stream</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkControlPlay</handler>
-           <last_modification_time>Sun, 13 May 2001 15:11:06 GMT</last_modification_time>
-         </signal>
-         <label>Play</label>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_pause</name>
-         <sensitive>False</sensitive>
-         <tooltip>Pause Stream</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkControlPause</handler>
-           <last_modification_time>Sun, 13 May 2001 15:11:13 GMT</last_modification_time>
-         </signal>
-         <label>Pause</label>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_slow</name>
-         <sensitive>False</sensitive>
-         <tooltip>Play Slower</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkControlSlow</handler>
-           <last_modification_time>Sun, 13 May 2001 15:11:20 GMT</last_modification_time>
-         </signal>
-         <label>Slow</label>
-         <child>
-           <new_group>True</new_group>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_fast</name>
-         <sensitive>False</sensitive>
-         <tooltip>Play Faster</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkControlFast</handler>
-           <last_modification_time>Sun, 13 May 2001 15:11:31 GMT</last_modification_time>
-         </signal>
-         <label>Fast</label>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_playlist</name>
-         <tooltip>Open Playlist</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkPlaylistShow</handler>
-           <last_modification_time>Sun, 13 May 2001 15:11:38 GMT</last_modification_time>
-         </signal>
-         <label>Playlist</label>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_prev</name>
-         <tooltip>Previous file</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkPlaylistPrev</handler>
-           <last_modification_time>Sun, 13 May 2001 15:11:45 GMT</last_modification_time>
-         </signal>
-         <label>Prev</label>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <child_name>Toolbar:button</child_name>
-         <name>toolbar_next</name>
-         <tooltip>Next File</tooltip>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkPlaylistNext</handler>
-           <last_modification_time>Sun, 13 May 2001 15:11:58 GMT</last_modification_time>
-         </signal>
-         <label>Next</label>
-       </widget>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkFrame</class>
-      <name>slider_frame</name>
-      <visible>False</visible>
-      <label>-:--:--</label>
-      <label_xalign>0.05</label_xalign>
-      <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-      <child>
-       <padding>0</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkHScale</class>
-       <name>slider</name>
-       <width>500</width>
-       <height>15</height>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>button_release_event</name>
-         <handler>GtkSliderRelease</handler>
-         <last_modification_time>Sun, 13 May 2001 14:40:22 GMT</last_modification_time>
-       </signal>
-       <signal>
-         <name>button_press_event</name>
-         <handler>GtkSliderPress</handler>
-         <last_modification_time>Sun, 13 May 2001 14:40:38 GMT</last_modification_time>
-       </signal>
-       <draw_value>False</draw_value>
-       <value_pos>GTK_POS_TOP</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>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkHBox</class>
-      <name>file_box</name>
-      <width>500</width>
-      <height>24</height>
-      <homogeneous>False</homogeneous>
-      <spacing>0</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkLabel</class>
-       <name>label_status</name>
-       <label></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>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkHBox</class>
-      <name>dvd_box</name>
-      <width>500</width>
-      <height>24</height>
-      <visible>False</visible>
-      <homogeneous>False</homogeneous>
-      <spacing>0</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkLabel</class>
-       <name>dvd_label</name>
-       <label>Disc</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>0</padding>
-         <expand>True</expand>
-         <fill>False</fill>
-       </child>
-      </widget>
-
-      <widget>
-       <class>GtkHBox</class>
-       <name>title_box</name>
-       <homogeneous>False</homogeneous>
-       <spacing>0</spacing>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>title</name>
-         <label>Title:</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>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>title_label</name>
-         <label>--</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>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <name>title_prev_button</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkTitlePrev</handler>
-           <last_modification_time>Sun, 13 May 2001 14:41:41 GMT</last_modification_time>
-         </signal>
-         <label>Prev</label>
-         <relief>GTK_RELIEF_NONE</relief>
-         <child>
-           <padding>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <name>title_next_button</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkTitleNext</handler>
-           <last_modification_time>Sun, 13 May 2001 14:42:00 GMT</last_modification_time>
-         </signal>
-         <label>Next</label>
-         <relief>GTK_RELIEF_NONE</relief>
-         <child>
-           <padding>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-         </child>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkVSeparator</class>
-       <name>dvd_separator</name>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-
-      <widget>
-       <class>GtkHBox</class>
-       <name>chapter_box</name>
-       <homogeneous>False</homogeneous>
-       <spacing>0</spacing>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>chapter</name>
-         <label>Chapter:</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>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>chapter_label</name>
-         <label>---</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>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <name>chapter_prev_button</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkChapterPrev</handler>
-           <last_modification_time>Sun, 13 May 2001 14:42:25 GMT</last_modification_time>
-         </signal>
-         <label>Prev</label>
-         <relief>GTK_RELIEF_NONE</relief>
-         <child>
-           <padding>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <name>chapter_next_button</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkChapterNext</handler>
-           <last_modification_time>Sun, 13 May 2001 14:42:42 GMT</last_modification_time>
-         </signal>
-         <label>Next</label>
-         <relief>GTK_RELIEF_NONE</relief>
-         <child>
-           <padding>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-         </child>
-       </widget>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkHBox</class>
-      <name>network_box</name>
-      <width>500</width>
-      <height>24</height>
-      <visible>False</visible>
-      <homogeneous>False</homogeneous>
-      <spacing>0</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkLabel</class>
-       <name>network_address_label</name>
-       <label>No server</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>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkStatusbar</class>
-      <name>intf_statusbar</name>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>False</fill>
-      </child>
-    </widget>
-  </widget>
-</widget>
-
-<widget>
-  <class>GtkMenu</class>
-  <name>intf_popup</name>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_play</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkControlPlay</handler>
-      <last_modification_time>Tue, 15 May 2001 13:53:43 GMT</last_modification_time>
-    </signal>
-    <label>_Play</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_pause</name>
-    <sensitive>False</sensitive>
-    <signal>
-      <name>activate</name>
-      <handler>GtkControlPause</handler>
-      <last_modification_time>Tue, 15 May 2001 13:53:37 GMT</last_modification_time>
-    </signal>
-    <label>Pause</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_stop</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkControlStop</handler>
-      <last_modification_time>Tue, 15 May 2001 13:53:29 GMT</last_modification_time>
-    </signal>
-    <label>Stop</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_back</name>
-    <sensitive>False</sensitive>
-    <signal>
-      <name>activate</name>
-      <handler>GtkControlBack</handler>
-      <last_modification_time>Tue, 15 May 2001 13:53:21 GMT</last_modification_time>
-    </signal>
-    <label>Back</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_slow</name>
-    <sensitive>False</sensitive>
-    <signal>
-      <name>activate</name>
-      <handler>GtkControlSlow</handler>
-      <last_modification_time>Tue, 15 May 2001 13:53:15 GMT</last_modification_time>
-    </signal>
-    <label>Slow</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_fast</name>
-    <sensitive>False</sensitive>
-    <signal>
-      <name>activate</name>
-      <handler>GtkControlFast</handler>
-      <last_modification_time>Tue, 15 May 2001 13:53:07 GMT</last_modification_time>
-    </signal>
-    <label>Fast</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>separator16</name>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_next</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkPlaylistNext</handler>
-      <last_modification_time>Tue, 15 May 2001 13:52:31 GMT</last_modification_time>
-    </signal>
-    <label>Next</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_prev</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkPlaylistPrev</handler>
-      <last_modification_time>Tue, 15 May 2001 13:52:23 GMT</last_modification_time>
-    </signal>
-    <label>Prev</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_jump</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkJumpShow</handler>
-      <last_modification_time>Tue, 15 May 2001 13:52:13 GMT</last_modification_time>
-    </signal>
-    <label>_Jump...</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>separator27</name>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_program</name>
-    <sensitive>False</sensitive>
-    <label>Program</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_navigation</name>
-    <sensitive>False</sensitive>
-    <label>_Navigation</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_audio</name>
-    <label>Audio</label>
-    <right_justify>False</right_justify>
-
-    <widget>
-      <class>GtkMenu</class>
-      <name>popup_audio_menu</name>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_language</name>
-       <sensitive>False</sensitive>
-       <label>_Language</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>separator19</name>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_volume_up</name>
-       <signal>
-         <name>activate</name>
-         <handler>GtkVolumeUp</handler>
-         <last_modification_time>Mon, 20 Jan 2003 10:16:02 GMT</last_modification_time>
-       </signal>
-       <label>Volume Up</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_volume_down</name>
-       <signal>
-         <name>activate</name>
-         <handler>GtkVolumeDown</handler>
-         <last_modification_time>Mon, 20 Jan 2003 10:18:25 GMT</last_modification_time>
-       </signal>
-       <label>Volume Down</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_volume_mute</name>
-       <signal>
-         <name>activate</name>
-         <handler>GtkVolumeMute</handler>
-         <last_modification_time>Mon, 20 Jan 2003 10:18:25 GMT</last_modification_time>
-       </signal>
-       <label>Mute</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>separator20</name>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_audio_channels</name>
-       <label>Channels</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_audio_device</name>
-       <label>Device</label>
-       <right_justify>False</right_justify>
-      </widget>
-    </widget>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_video</name>
-    <label>Video</label>
-    <right_justify>False</right_justify>
-
-    <widget>
-      <class>GtkMenu</class>
-      <name>popup_video_menu</name>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_subpictures</name>
-       <sensitive>False</sensitive>
-       <label>_Subtitles</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>separator21</name>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_fullscreen</name>
-       <signal>
-         <name>activate</name>
-         <handler>GtkFullscreen</handler>
-         <last_modification_time>Tue, 15 May 2001 13:52:38 GMT</last_modification_time>
-       </signal>
-       <label>_Fullscreen</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>separator23</name>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_deinterlace</name>
-       <label>Deinterlace</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_video_device</name>
-       <label>Screen</label>
-       <right_justify>False</right_justify>
-      </widget>
-    </widget>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>separator26</name>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_open</name>
-    <label>_File</label>
-    <right_justify>False</right_justify>
-
-    <widget>
-      <class>GtkMenu</class>
-      <name>popup_open_menu</name>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_file</name>
-       <tooltip>Open a file</tooltip>
-       <signal>
-         <name>activate</name>
-         <handler>GtkFileOpenShow</handler>
-         <last_modification_time>Mon, 14 May 2001 21:33:55 GMT</last_modification_time>
-       </signal>
-       <label>_Open File...</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_disc</name>
-       <tooltip>Open Disc Media</tooltip>
-       <signal>
-         <name>activate</name>
-         <handler>GtkDiscOpenShow</handler>
-         <last_modification_time>Mon, 14 May 2001 21:34:09 GMT</last_modification_time>
-       </signal>
-       <label>Open _Disc...</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_network</name>
-       <tooltip>Select a network stream</tooltip>
-       <signal>
-         <name>activate</name>
-         <handler>GtkNetworkOpenShow</handler>
-         <last_modification_time>Mon, 14 May 2001 21:34:23 GMT</last_modification_time>
-       </signal>
-       <label>_Network Stream...</label>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>separator12</name>
-       <right_justify>False</right_justify>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>popup_about</name>
-       <signal>
-         <name>activate</name>
-         <handler>GtkAboutShow</handler>
-         <last_modification_time>Mon, 14 May 2001 21:34:54 GMT</last_modification_time>
-       </signal>
-       <label>_About...</label>
-       <right_justify>False</right_justify>
-      </widget>
-    </widget>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_interface_toggle</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkWindowToggle</handler>
-      <last_modification_time>Tue, 15 May 2001 13:53:00 GMT</last_modification_time>
-    </signal>
-    <label>Toggle _Interface</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_playlist</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkPlaylistShow</handler>
-      <last_modification_time>Tue, 15 May 2001 13:51:55 GMT</last_modification_time>
-    </signal>
-    <label>Playlist...</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_preferences</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkPreferencesShow</handler>
-      <last_modification_time>Tue, 15 May 2001 13:51:46 GMT</last_modification_time>
-    </signal>
-    <label>_Preferences...</label>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>separator9</name>
-    <right_justify>False</right_justify>
-  </widget>
-
-  <widget>
-    <class>GtkMenuItem</class>
-    <name>popup_exit</name>
-    <signal>
-      <name>activate</name>
-      <handler>GtkExit</handler>
-      <last_modification_time>Tue, 15 May 2001 13:52:03 GMT</last_modification_time>
-    </signal>
-    <label>E_xit</label>
-    <right_justify>False</right_justify>
-  </widget>
-</widget>
-
-<widget>
-  <class>GtkDialog</class>
-  <name>intf_about</name>
-  <border_width>5</border_width>
-  <title>About</title>
-  <type>GTK_WINDOW_TOPLEVEL</type>
-  <position>GTK_WIN_POS_CENTER</position>
-  <modal>False</modal>
-  <allow_shrink>False</allow_shrink>
-  <allow_grow>False</allow_grow>
-  <auto_shrink>False</auto_shrink>
-
-  <widget>
-    <class>GtkVBox</class>
-    <child_name>Dialog:vbox</child_name>
-    <name>dialog-vbox1</name>
-    <homogeneous>False</homogeneous>
-    <spacing>0</spacing>
-
-    <widget>
-      <class>GtkHBox</class>
-      <child_name>Dialog:action_area</child_name>
-      <name>dialog-action_area</name>
-      <border_width>10</border_width>
-      <homogeneous>True</homogeneous>
-      <spacing>5</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>True</fill>
-       <pack>GTK_PACK_END</pack>
-      </child>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>about_ok</name>
-       <can_default>True</can_default>
-       <has_default>True</has_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkAboutOk</handler>
-         <last_modification_time>Sun, 13 May 2001 14:47:20 GMT</last_modification_time>
-       </signal>
-       <label>OK</label>
-       <relief>GTK_RELIEF_NORMAL</relief>
-       <child>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkVBox</class>
-      <name>vbox3</name>
-      <homogeneous>False</homogeneous>
-      <spacing>0</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkLabel</class>
-       <name>label14</name>
-       <label>VLC media player</label>
-       <justify>GTK_JUSTIFY_CENTER</justify>
-       <wrap>False</wrap>
-       <xalign>0.5</xalign>
-       <yalign>0.5</yalign>
-       <xpad>0</xpad>
-       <ypad>10</ypad>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-
-      <widget>
-       <class>GtkLabel</class>
-       <name>label18</name>
-       <label>(c) 1996-2003 the VideoLAN team</label>
-       <justify>GTK_JUSTIFY_LEFT</justify>
-       <wrap>False</wrap>
-       <xalign>0.5</xalign>
-       <yalign>0.5</yalign>
-       <xpad>0</xpad>
-       <ypad>5</ypad>
-       <child>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>False</fill>
-       </child>
-      </widget>
-
-      <widget>
-       <class>GtkFrame</class>
-       <name>frame1</name>
-       <label>Authors</label>
-       <label_xalign>0</label_xalign>
-       <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-       <child>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>False</fill>
-       </child>
-
-       <widget>
-         <class>GtkVBox</class>
-         <name>vbox17</name>
-         <homogeneous>False</homogeneous>
-         <spacing>0</spacing>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label16</name>
-           <label>the VideoLAN team &lt;videolan@videolan.org&gt;</label>
-           <justify>GTK_JUSTIFY_LEFT</justify>
-           <wrap>False</wrap>
-           <xalign>0.5</xalign>
-           <yalign>0</yalign>
-           <xpad>5</xpad>
-           <ypad>0</ypad>
-           <child>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label39</name>
-           <label>http://www.videolan.org/</label>
-           <justify>GTK_JUSTIFY_LEFT</justify>
-           <wrap>False</wrap>
-           <xalign>0.5</xalign>
-           <yalign>0</yalign>
-           <xpad>5</xpad>
-           <ypad>0</ypad>
-           <child>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-         </widget>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkLabel</class>
-       <name>label17</name>
-       <label>This is the VLC media player, a DVD, MPEG and DivX player. It can play MPEG and MPEG2 files from a file or from a network source.</label>
-       <justify>GTK_JUSTIFY_LEFT</justify>
-       <wrap>True</wrap>
-       <xalign>0.5</xalign>
-       <yalign>0.5</yalign>
-       <xpad>0</xpad>
-       <ypad>5</ypad>
-       <child>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>False</fill>
-       </child>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
-<widget>
-  <class>GtkDialog</class>
-  <name>intf_open</name>
-  <border_width>5</border_width>
-  <signal>
-    <name>delete_event</name>
-    <handler>gtk_widget_hide</handler>
-    <last_modification_time>Mon, 16 Sep 2002 07:48:17 GMT</last_modification_time>
-  </signal>
-  <title>Open Target</title>
-  <type>GTK_WINDOW_TOPLEVEL</type>
-  <position>GTK_WIN_POS_NONE</position>
-  <modal>False</modal>
-  <allow_shrink>False</allow_shrink>
-  <allow_grow>True</allow_grow>
-  <auto_shrink>True</auto_shrink>
-
-  <widget>
-    <class>GtkVBox</class>
-    <child_name>Dialog:vbox</child_name>
-    <name>dialog-vbox7</name>
-    <homogeneous>False</homogeneous>
-    <spacing>0</spacing>
-
-    <widget>
-      <class>GtkHBox</class>
-      <child_name>Dialog:action_area</child_name>
-      <name>dialog-action_area6</name>
-      <border_width>5</border_width>
-      <homogeneous>True</homogeneous>
-      <spacing>5</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>True</fill>
-       <pack>GTK_PACK_END</pack>
-      </child>
-
-      <widget>
-       <class>GtkHBox</class>
-       <name>hbox18</name>
-       <homogeneous>True</homogeneous>
-       <spacing>5</spacing>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkHBox</class>
-         <name>hbox19</name>
-         <homogeneous>True</homogeneous>
-         <spacing>5</spacing>
-         <child>
-           <padding>0</padding>
-           <expand>False</expand>
-           <fill>True</fill>
-           <pack>GTK_PACK_END</pack>
-         </child>
-
-         <widget>
-           <class>GtkButton</class>
-           <name>open_ok</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>clicked</name>
-             <handler>GtkOpenOk</handler>
-             <last_modification_time>Mon, 08 Jul 2002 14:52:19 GMT</last_modification_time>
-           </signal>
-           <label>OK</label>
-           <relief>GTK_RELIEF_NORMAL</relief>
-           <child>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>True</fill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkButton</class>
-           <name>open_cancel</name>
-           <can_focus>True</can_focus>
-           <accelerator>
-             <modifiers>0</modifiers>
-             <key>GDK_Escape</key>
-             <signal>clicked</signal>
-           </accelerator>
-           <signal>
-             <name>clicked</name>
-             <handler>GtkOpenCancel</handler>
-             <last_modification_time>Mon, 08 Jul 2002 14:52:36 GMT</last_modification_time>
-           </signal>
-           <label>Cancel</label>
-           <relief>GTK_RELIEF_NORMAL</relief>
-           <child>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>True</fill>
-           </child>
-         </widget>
-       </widget>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkVBox</class>
-      <name>open_vbox</name>
-      <homogeneous>False</homogeneous>
-      <spacing>5</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkFrame</class>
-       <name>frame10</name>
-       <label>Media Resource Locator (MRL)</label>
-       <label_xalign>0</label_xalign>
-       <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-       <child>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkHBox</class>
-         <name>hbox21</name>
-         <border_width>5</border_width>
-         <homogeneous>False</homogeneous>
-         <spacing>5</spacing>
-
-         <widget>
-           <class>GtkHBox</class>
-           <name>hbox22</name>
-           <homogeneous>False</homogeneous>
-           <spacing>0</spacing>
-           <child>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>True</fill>
-           </child>
-
-           <widget>
-             <class>GtkLabel</class>
-             <name>label34</name>
-             <label>Open Target:</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>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-         </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>
-             <padding>0</padding>
-             <expand>True</expand>
-             <fill>True</fill>
-           </child>
-
-           <widget>
-             <class>GtkEntry</class>
-             <child_name>GtkCombo:entry</child_name>
-             <name>entry_open</name>
-             <can_focus>True</can_focus>
-             <editable>True</editable>
-             <text_visible>True</text_visible>
-             <text_max_length>0</text_max_length>
-             <text></text>
-           </widget>
-         </widget>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkLabel</class>
-       <name>label36</name>
-       <label>Alternatively, you can build an MRL using one of the following predefined targets:</label>
-       <justify>GTK_JUSTIFY_LEFT</justify>
-       <wrap>False</wrap>
-       <xalign>0</xalign>
-       <yalign>1</yalign>
-       <xpad>0</xpad>
-       <ypad>0</ypad>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-
-      <widget>
-       <class>GtkNotebook</class>
-       <name>open_notebook</name>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>switch_page</name>
-         <handler>GtkOpenNotebookChanged</handler>
-         <after>True</after>
-         <last_modification_time>Tue, 09 Jul 2002 14:01:19 GMT</last_modification_time>
-       </signal>
-       <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>GtkHBox</class>
-         <name>hbox20</name>
-         <border_width>5</border_width>
-         <homogeneous>False</homogeneous>
-         <spacing>5</spacing>
-
-         <widget>
-           <class>GtkCombo</class>
-           <name>combo1</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>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>True</fill>
-           </child>
-
-           <widget>
-             <class>GtkEntry</class>
-             <child_name>GtkCombo:entry</child_name>
-             <name>entry_file</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>changed</name>
-               <handler>GtkOpenChanged</handler>
-               <last_modification_time>Tue, 09 Jul 2002 13:22:33 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>
-           <class>GtkVBox</class>
-           <name>vbox13</name>
-           <homogeneous>True</homogeneous>
-           <spacing>0</spacing>
-           <child>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-
-           <widget>
-             <class>Placeholder</class>
-           </widget>
-
-           <widget>
-             <class>GtkButton</class>
-             <name>open_browse</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>clicked</name>
-               <handler>GtkFileShow</handler>
-               <data>&quot;entry_file&quot;</data>
-               <last_modification_time>Mon, 20 Jan 2003 21:45:39 GMT</last_modification_time>
-             </signal>
-             <label>Browse...</label>
-             <relief>GTK_RELIEF_NORMAL</relief>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-
-           <widget>
-             <class>Placeholder</class>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkLabel</class>
-         <child_name>Notebook:tab</child_name>
-         <name>open_file</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>GtkTable</class>
-         <name>table5</name>
-         <border_width>5</border_width>
-         <rows>5</rows>
-         <columns>2</columns>
-         <homogeneous>False</homogeneous>
-         <row_spacing>5</row_spacing>
-         <column_spacing>5</column_spacing>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label35</name>
-           <label>Disc type</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>GtkHBox</class>
-           <name>hbox24</name>
-           <homogeneous>False</homogeneous>
-           <spacing>0</spacing>
-           <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>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>True</yfill>
-           </child>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>disc_dvd</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkDiscOpenDvd</handler>
-               <last_modification_time>Sun, 13 May 2001 14:48:29 GMT</last_modification_time>
-             </signal>
-             <label>DVD</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>disc</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>disc_vcd</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkDiscOpenVcd</handler>
-               <last_modification_time>Sun, 13 May 2001 14:48:39 GMT</last_modification_time>
-             </signal>
-             <label>VCD</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>disc</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>disc_cdda</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkDiscOpenCDDA</handler>
-               <last_modification_time>Sun, 13 May 2001 14:48:39 GMT</last_modification_time>
-             </signal>
-             <label>Audio CD</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>disc</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-         </widget>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label19</name>
-           <label>Device name</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>GtkLabel</class>
-           <name>disc_chapter_label</name>
-           <label>Chapter</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>4</top_attach>
-             <bottom_attach>5</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>disc_title_label</name>
-           <label>Title</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>3</top_attach>
-             <bottom_attach>4</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>GtkEntry</class>
-           <name>disc_name</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:46:05 GMT</last_modification_time>
-           </signal>
-           <editable>True</editable>
-           <text_visible>True</text_visible>
-           <text_max_length>0</text_max_length>
-           <text>/dev/dvd</text>
-           <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>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>False</yfill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkSpinButton</class>
-           <name>disc_title</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:45:04 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>1</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>3</top_attach>
-             <bottom_attach>4</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>disc_chapter</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:45:38 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>1</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>4</top_attach>
-             <bottom_attach>5</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>GtkCheckButton</class>
-           <name>disc_dvd_use_menu</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 21 Jan 2003 13:27:40 GMT</last_modification_time>
-           </signal>
-           <label>Use DVD menus</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <child>
-             <left_attach>1</left_attach>
-             <right_attach>2</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</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>
-
-       <widget>
-         <class>GtkLabel</class>
-         <child_name>Notebook:tab</child_name>
-         <name>open_disc</name>
-         <label>Disc</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>GtkTable</class>
-         <name>table4</name>
-         <border_width>5</border_width>
-         <rows>3</rows>
-         <columns>6</columns>
-         <homogeneous>False</homogeneous>
-         <row_spacing>5</row_spacing>
-         <column_spacing>5</column_spacing>
-
-         <widget>
-           <class>GtkRadioButton</class>
-           <name>network_udp</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkNetworkOpenUDP</handler>
-             <last_modification_time>Thu, 16 May 2002 00:47:18 GMT</last_modification_time>
-           </signal>
-           <label>UDP/RTP</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <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>GtkRadioButton</class>
-           <name>network_multicast</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkNetworkOpenMulticast</handler>
-             <last_modification_time>Thu, 16 May 2002 00:47:05 GMT</last_modification_time>
-           </signal>
-           <label>UDP/RTP Multicast</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <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>GtkRadioButton</class>
-           <name>network_http</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkNetworkOpenHTTP</handler>
-             <last_modification_time>Thu, 16 May 2002 00:47:42 GMT</last_modification_time>
-           </signal>
-           <label>HTTP/FTP/MMS</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <child>
-             <left_attach>0</left_attach>
-             <right_attach>1</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</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>network_udp_port_label</name>
-           <label>Port</label>
-           <justify>GTK_JUSTIFY_CENTER</justify>
-           <wrap>False</wrap>
-           <xalign>1</xalign>
-           <yalign>0.5</yalign>
-           <xpad>0</xpad>
-           <ypad>0</ypad>
-           <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>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>False</yfill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>network_multicast_address_label</name>
-           <sensitive>False</sensitive>
-           <label>Address</label>
-           <justify>GTK_JUSTIFY_RIGHT</justify>
-           <wrap>False</wrap>
-           <xalign>1</xalign>
-           <yalign>0.5</yalign>
-           <xpad>0</xpad>
-           <ypad>0</ypad>
-           <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>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>False</yfill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>network_http_url_label</name>
-           <sensitive>False</sensitive>
-           <label>URL</label>
-           <justify>GTK_JUSTIFY_CENTER</justify>
-           <wrap>False</wrap>
-           <xalign>1</xalign>
-           <yalign>0.5</yalign>
-           <xpad>0</xpad>
-           <ypad>0</ypad>
-           <child>
-             <left_attach>1</left_attach>
-             <right_attach>2</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</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>GtkCombo</class>
-           <name>network_multicast_address_combo</name>
-           <sensitive>False</sensitive>
-           <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>2</left_attach>
-             <right_attach>4</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>
-             <class>GtkEntry</class>
-             <child_name>GtkCombo:entry</child_name>
-             <name>network_multicast_address</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>changed</name>
-               <handler>GtkOpenChanged</handler>
-               <last_modification_time>Tue, 09 Jul 2002 13:57:06 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>
-           <class>GtkLabel</class>
-           <name>network_multicast_port_label</name>
-           <sensitive>False</sensitive>
-           <label>Port</label>
-           <justify>GTK_JUSTIFY_CENTER</justify>
-           <wrap>False</wrap>
-           <xalign>1</xalign>
-           <yalign>0.5</yalign>
-           <xpad>0</xpad>
-           <ypad>0</ypad>
-           <child>
-             <left_attach>4</left_attach>
-             <right_attach>5</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>
-           <width>75</width>
-           <sensitive>False</sensitive>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:57:36 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>0</lower>
-           <upper>65535</upper>
-           <step>1</step>
-           <page>10</page>
-           <page_size>10</page_size>
-           <child>
-             <left_attach>5</left_attach>
-             <right_attach>6</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>GtkEntry</class>
-           <name>network_http_url</name>
-           <sensitive>False</sensitive>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:57:26 GMT</last_modification_time>
-           </signal>
-           <editable>True</editable>
-           <text_visible>True</text_visible>
-           <text_max_length>0</text_max_length>
-           <text></text>
-           <child>
-             <left_attach>2</left_attach>
-             <right_attach>6</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</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>GtkSpinButton</class>
-           <name>network_udp_port</name>
-           <width>1</width>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:56:55 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>0</lower>
-           <upper>65535</upper>
-           <step>1</step>
-           <page>10</page>
-           <page_size>10</page_size>
-           <child>
-             <left_attach>2</left_attach>
-             <right_attach>3</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>
-
-       <widget>
-         <class>GtkLabel</class>
-         <child_name>Notebook:tab</child_name>
-         <name>open_net</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>
-         <class>GtkTable</class>
-         <name>table3</name>
-         <border_width>5</border_width>
-         <rows>4</rows>
-         <columns>2</columns>
-         <homogeneous>False</homogeneous>
-         <row_spacing>5</row_spacing>
-         <column_spacing>5</column_spacing>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label24</name>
-           <label>Symbol Rate</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>GtkLabel</class>
-           <name>label25</name>
-           <label>Frequency</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>label26</name>
-           <label>Polarization</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>2</top_attach>
-             <bottom_attach>3</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>sat_freq</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:58:00 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>11954000</value>
-           <lower>10000000</lower>
-           <upper>12999000</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>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>label27</name>
-           <label>FEC</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>3</top_attach>
-             <bottom_attach>4</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>GtkHBox</class>
-           <name>hbox23</name>
-           <homogeneous>False</homogeneous>
-           <spacing>0</spacing>
-           <child>
-             <left_attach>1</left_attach>
-             <right_attach>2</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</bottom_attach>
-             <xpad>0</xpad>
-             <ypad>0</ypad>
-             <xexpand>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>True</yfill>
-           </child>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>sat_pol_vert</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkSatOpenToggle</handler>
-               <last_modification_time>Tue, 09 Jul 2002 15:16:25 GMT</last_modification_time>
-             </signal>
-             <label>Vertical</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>pol</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>sat_pol_hor</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkSatOpenToggle</handler>
-               <last_modification_time>Tue, 09 Jul 2002 15:16:36 GMT</last_modification_time>
-             </signal>
-             <label>Horizontal</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>pol</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-         </widget>
-
-         <widget>
-           <class>GtkSpinButton</class>
-           <name>sat_srate</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:58:09 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>27500000</value>
-           <lower>1000000</lower>
-           <upper>30000000</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>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>False</yfill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkCombo</class>
-           <name>sat_fec</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>1/2
-2/3
-3/4
-4/5
-5/6
-7/8
-</items>
-           <child>
-             <left_attach>1</left_attach>
-             <right_attach>2</right_attach>
-             <top_attach>3</top_attach>
-             <bottom_attach>4</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>
-             <class>GtkEntry</class>
-             <child_name>GtkCombo:entry</child_name>
-             <name>combo-entry1</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>changed</name>
-               <handler>GtkOpenChanged</handler>
-               <last_modification_time>Tue, 09 Jul 2002 13:58:26 GMT</last_modification_time>
-             </signal>
-             <editable>True</editable>
-             <text_visible>True</text_visible>
-             <text_max_length>0</text_max_length>
-             <text>3/4</text>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkLabel</class>
-         <child_name>Notebook:tab</child_name>
-         <name>open_sat</name>
-         <label>Satellite</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>
-       <class>GtkCheckButton</class>
-       <name>show_subtitle</name>
-       <tooltip>Use a subtitles file</tooltip>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkOpenSubtitleShow</handler>
-         <last_modification_time>Mon, 20 Jan 2003 21:09:27 GMT</last_modification_time>
-       </signal>
-       <label>Subtitle</label>
-       <active>False</active>
-       <draw_indicator>True</draw_indicator>
-       <child>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>False</fill>
-       </child>
-      </widget>
-
-      <widget>
-       <class>GtkHBox</class>
-       <name>hbox_subtitle</name>
-       <border_width>5</border_width>
-       <homogeneous>False</homogeneous>
-       <spacing>5</spacing>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkCombo</class>
-         <name>combo3</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>
-           <padding>0</padding>
-           <expand>False</expand>
-           <fill>True</fill>
-         </child>
-
-         <widget>
-           <class>GtkEntry</class>
-           <child_name>GtkCombo:entry</child_name>
-           <name>entry_subtitle</name>
-           <tooltip>Select a subtitles file</tooltip>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkOpenChanged</handler>
-             <last_modification_time>Tue, 09 Jul 2002 13:22:33 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>
-         <class>GtkVBox</class>
-         <name>vbox14</name>
-         <homogeneous>True</homogeneous>
-         <spacing>0</spacing>
-         <child>
-           <padding>0</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-         </child>
-
-         <widget>
-           <class>GtkButton</class>
-           <name>open_browse_subtitle</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>clicked</name>
-             <handler>GtkFileShow</handler>
-             <data>&quot;entry_subtitle&quot;</data>
-             <last_modification_time>Mon, 20 Jan 2003 21:46:24 GMT</last_modification_time>
-           </signal>
-           <label>Browse...</label>
-           <relief>GTK_RELIEF_NORMAL</relief>
-           <child>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>label37</name>
-         <label>delay</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>0</padding>
-           <expand>True</expand>
-           <fill>True</fill>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkSpinButton</class>
-         <name>subtitle_delay</name>
-         <tooltip>Set the delay (in seconds)</tooltip>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>changed</name>
-           <handler>GtkOpenChanged</handler>
-           <last_modification_time>Tue, 21 Jan 2003 00:09:20 GMT</last_modification_time>
-         </signal>
-         <climb_rate>1</climb_rate>
-         <digits>1</digits>
-         <numeric>False</numeric>
-         <update_policy>GTK_UPDATE_ALWAYS</update_policy>
-         <snap>False</snap>
-         <wrap>False</wrap>
-         <value>0</value>
-         <lower>-1000</lower>
-         <upper>1000</upper>
-         <step>0.1</step>
-         <page>10</page>
-         <page_size>10</page_size>
-         <child>
-           <padding>0</padding>
-           <expand>True</expand>
-           <fill>True</fill>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>label3</name>
-         <label>fps</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>0</padding>
-           <expand>True</expand>
-           <fill>True</fill>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkSpinButton</class>
-         <name>subtitle_fps</name>
-         <tooltip>Set the number of Frames Per Second</tooltip>
-         <can_focus>True</can_focus>
-         <climb_rate>1</climb_rate>
-         <digits>1</digits>
-         <numeric>False</numeric>
-         <update_policy>GTK_UPDATE_ALWAYS</update_policy>
-         <snap>False</snap>
-         <wrap>False</wrap>
-         <value>0</value>
-         <lower>0</lower>
-         <upper>100</upper>
-         <step>0.1</step>
-         <page>10</page>
-         <page_size>10</page_size>
-         <child>
-           <padding>0</padding>
-           <expand>True</expand>
-           <fill>True</fill>
-         </child>
-       </widget>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkHBox</class>
-      <name>hbox30</name>
-      <homogeneous>False</homogeneous>
-      <spacing>0</spacing>
-      <child>
-       <padding>3</padding>
-       <expand>False</expand>
-       <fill>False</fill>
-      </child>
-
-      <widget>
-       <class>GtkCheckButton</class>
-       <name>show_sout_settings</name>
-       <tooltip>Use stream output</tooltip>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkOpenSoutShow</handler>
-         <last_modification_time>Sun, 26 Jan 2003 07:01:23 GMT</last_modification_time>
-       </signal>
-       <label>Stream output</label>
-       <active>False</active>
-       <draw_indicator>True</draw_indicator>
-       <child>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>False</fill>
-       </child>
-      </widget>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>sout_settings</name>
-       <tooltip>Stream output configuration </tooltip>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkSoutSettings</handler>
-         <last_modification_time>Sun, 26 Jan 2003 04:22:08 GMT</last_modification_time>
-       </signal>
-       <label>Settings...</label>
-       <relief>GTK_RELIEF_NORMAL</relief>
-       <child>
-         <padding>20</padding>
-         <expand>False</expand>
-         <fill>False</fill>
-       </child>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
-<widget>
-  <class>GtkFileSelection</class>
-  <name>intf_file</name>
-  <border_width>10</border_width>
-  <title>Select File</title>
-  <type>GTK_WINDOW_TOPLEVEL</type>
-  <position>GTK_WIN_POS_NONE</position>
-  <modal>True</modal>
-  <allow_shrink>False</allow_shrink>
-  <allow_grow>True</allow_grow>
-  <auto_shrink>False</auto_shrink>
-  <show_file_op_buttons>True</show_file_op_buttons>
-
-  <widget>
-    <class>GtkButton</class>
-    <child_name>FileSel:ok_button</child_name>
-    <name>file_ok</name>
-    <can_default>True</can_default>
-    <can_focus>True</can_focus>
-    <signal>
-      <name>clicked</name>
-      <handler>GtkFileOk</handler>
-      <last_modification_time>Wed, 10 Jul 2002 11:32:18 GMT</last_modification_time>
-    </signal>
-    <label>OK</label>
-    <relief>GTK_RELIEF_NORMAL</relief>
-  </widget>
-
-  <widget>
-    <class>GtkButton</class>
-    <child_name>FileSel:cancel_button</child_name>
-    <name>file_cancel</name>
-    <can_default>True</can_default>
-    <can_focus>True</can_focus>
-    <signal>
-      <name>clicked</name>
-      <handler>GtkFileCancel</handler>
-      <last_modification_time>Wed, 10 Jul 2002 11:32:23 GMT</last_modification_time>
-    </signal>
-    <label>Cancel</label>
-    <relief>GTK_RELIEF_NORMAL</relief>
-  </widget>
-</widget>
-
-<widget>
-  <class>GtkDialog</class>
-  <name>intf_jump</name>
-  <title>Jump</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>False</auto_shrink>
-
-  <widget>
-    <class>GtkVBox</class>
-    <child_name>Dialog:vbox</child_name>
-    <name>dialog-vbox3</name>
-    <homogeneous>False</homogeneous>
-    <spacing>0</spacing>
-
-    <widget>
-      <class>GtkHBox</class>
-      <child_name>Dialog:action_area</child_name>
-      <name>dialog-action_area2</name>
-      <border_width>10</border_width>
-      <homogeneous>True</homogeneous>
-      <spacing>5</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>True</fill>
-       <pack>GTK_PACK_END</pack>
-      </child>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>jump_ok_button</name>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkJumpOk</handler>
-         <last_modification_time>Sun, 13 May 2001 14:53:19 GMT</last_modification_time>
-       </signal>
-       <label>OK</label>
-       <relief>GTK_RELIEF_NORMAL</relief>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>jump_cancel_button</name>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkJumpCancel</handler>
-         <last_modification_time>Sun, 13 May 2001 14:53:43 GMT</last_modification_time>
-       </signal>
-       <label>Cancel</label>
-       <relief>GTK_RELIEF_NORMAL</relief>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkFrame</class>
-      <name>jump_frame</name>
-      <border_width>5</border_width>
-      <label>Go to:</label>
-      <label_xalign>0.05</label_xalign>
-      <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-      <child>
-       <padding>0</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkHBox</class>
-       <name>hbox13</name>
-       <homogeneous>False</homogeneous>
-       <spacing>0</spacing>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>jump_second_label</name>
-         <label>s.</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>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-           <pack>GTK_PACK_END</pack>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkSpinButton</class>
-         <name>jump_second_spinbutton</name>
-         <can_focus>True</can_focus>
-         <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>0</value>
-         <lower>0</lower>
-         <upper>60</upper>
-         <step>1</step>
-         <page>10</page>
-         <page_size>10</page_size>
-         <child>
-           <padding>0</padding>
-           <expand>False</expand>
-           <fill>True</fill>
-           <pack>GTK_PACK_END</pack>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>jump_minute_label</name>
-         <label>m:</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>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-           <pack>GTK_PACK_END</pack>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkSpinButton</class>
-         <name>jump_minute_spinbutton</name>
-         <can_focus>True</can_focus>
-         <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>0</value>
-         <lower>0</lower>
-         <upper>60</upper>
-         <step>1</step>
-         <page>10</page>
-         <page_size>10</page_size>
-         <child>
-           <padding>0</padding>
-           <expand>False</expand>
-           <fill>True</fill>
-           <pack>GTK_PACK_END</pack>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>jump_hour_label</name>
-         <label>h:</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>5</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-           <pack>GTK_PACK_END</pack>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkSpinButton</class>
-         <name>jump_hour_spinbutton</name>
-         <can_focus>True</can_focus>
-         <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>0</value>
-         <lower>0</lower>
-         <upper>12</upper>
-         <step>1</step>
-         <page>10</page>
-         <page_size>10</page_size>
-         <child>
-           <padding>0</padding>
-           <expand>False</expand>
-           <fill>True</fill>
-           <pack>GTK_PACK_END</pack>
-         </child>
-       </widget>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
-<widget>
-  <class>GtkDialog</class>
-  <name>intf_playlist</name>
-  <signal>
-    <name>destroy</name>
-    <handler>gtk_widget_hide</handler>
-    <last_modification_time>Tue, 15 May 2001 14:20:39 GMT</last_modification_time>
-  </signal>
-  <signal>
-    <name>delete_event</name>
-    <handler>gtk_widget_hide</handler>
-    <last_modification_time>Tue, 15 May 2001 14:20:22 GMT</last_modification_time>
-  </signal>
-  <title>Playlist</title>
-  <type>GTK_WINDOW_TOPLEVEL</type>
-  <position>GTK_WIN_POS_NONE</position>
-  <modal>False</modal>
-  <default_width>400</default_width>
-  <default_height>300</default_height>
-  <allow_shrink>True</allow_shrink>
-  <allow_grow>True</allow_grow>
-  <auto_shrink>False</auto_shrink>
-
-  <widget>
-    <class>GtkVBox</class>
-    <child_name>Dialog:vbox</child_name>
-    <name>dialog-vbox4</name>
-    <homogeneous>False</homogeneous>
-    <spacing>5</spacing>
-
-    <widget>
-      <class>GtkHBox</class>
-      <child_name>Dialog:action_area</child_name>
-      <name>dialog-action_area3</name>
-      <border_width>10</border_width>
-      <homogeneous>True</homogeneous>
-      <spacing>5</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>True</fill>
-       <pack>GTK_PACK_END</pack>
-      </child>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>playlist_ok_button</name>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkPlaylistOk</handler>
-         <last_modification_time>Sat, 12 May 2001 21:16:09 GMT</last_modification_time>
-       </signal>
-       <label>OK</label>
-       <relief>GTK_RELIEF_NORMAL</relief>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>playlist_cancel_button</name>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkPlaylistCancel</handler>
-         <last_modification_time>Sat, 12 May 2001 21:16:20 GMT</last_modification_time>
-       </signal>
-       <label>Cancel</label>
-       <relief>GTK_RELIEF_NORMAL</relief>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkMenuBar</class>
-      <name>playlist_menubar</name>
-      <shadow_type>GTK_SHADOW_OUT</shadow_type>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>False</fill>
-      </child>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>playlist_add</name>
-       <label>Add</label>
-       <right_justify>False</right_justify>
-
-       <widget>
-         <class>GtkMenu</class>
-         <name>playlist_add_menu</name>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_add_disc</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkDiscOpenShow</handler>
-             <last_modification_time>Mon, 14 May 2001 21:59:32 GMT</last_modification_time>
-           </signal>
-           <label>Disc</label>
-           <right_justify>False</right_justify>
-         </widget>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_add_file</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkFileOpenShow</handler>
-             <last_modification_time>Mon, 14 May 2001 21:59:48 GMT</last_modification_time>
-           </signal>
-           <label>File</label>
-           <right_justify>False</right_justify>
-         </widget>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_add_network</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkNetworkOpenShow</handler>
-             <last_modification_time>Mon, 14 May 2001 22:00:03 GMT</last_modification_time>
-           </signal>
-           <label>Network</label>
-           <right_justify>False</right_justify>
-         </widget>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_add_url</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkPlaylistAddUrl</handler>
-             <last_modification_time>Mon, 14 May 2001 22:00:22 GMT</last_modification_time>
-           </signal>
-           <label>Url</label>
-           <right_justify>False</right_justify>
-         </widget>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>playlist_delete</name>
-       <label>Delete</label>
-       <right_justify>False</right_justify>
-
-       <widget>
-         <class>GtkMenu</class>
-         <name>playlist_delete_menu</name>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_delete_all</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkPlaylistDeleteAll</handler>
-             <last_modification_time>Sat, 12 May 2001 21:13:11 GMT</last_modification_time>
-           </signal>
-           <label>All</label>
-           <right_justify>False</right_justify>
-         </widget>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_delete_selected</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkPlaylistDeleteSelected</handler>
-             <last_modification_time>Sat, 12 May 2001 21:12:58 GMT</last_modification_time>
-           </signal>
-           <label>Selected</label>
-           <right_justify>False</right_justify>
-         </widget>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkMenuItem</class>
-       <name>playlist_selection</name>
-       <label>Selection</label>
-       <right_justify>False</right_justify>
-
-       <widget>
-         <class>GtkMenu</class>
-         <name>playlist_selection_menu</name>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_selection_crop</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkPlaylistCrop</handler>
-             <last_modification_time>Sat, 12 May 2001 21:13:47 GMT</last_modification_time>
-           </signal>
-           <label>_Crop</label>
-           <right_justify>False</right_justify>
-         </widget>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_selection_invert</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkPlaylistInvert</handler>
-             <last_modification_time>Sat, 12 May 2001 21:13:55 GMT</last_modification_time>
-           </signal>
-           <label>_Invert</label>
-           <right_justify>False</right_justify>
-         </widget>
-
-         <widget>
-           <class>GtkMenuItem</class>
-           <name>playlist_selection_select</name>
-           <signal>
-             <name>activate</name>
-             <handler>GtkPlaylistSelect</handler>
-             <last_modification_time>Sat, 12 May 2001 21:14:04 GMT</last_modification_time>
-           </signal>
-           <label>_Select</label>
-           <right_justify>False</right_justify>
-         </widget>
-       </widget>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkScrolledWindow</class>
-      <name>scrolledwindow1</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>playlist_clist</name>
-       <border_width>5</border_width>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>event</name>
-         <handler>GtkPlaylistEvent</handler>
-         <last_modification_time>Sat, 12 May 2001 21:25:20 GMT</last_modification_time>
-       </signal>
-       <signal>
-         <name>drag_data_received</name>
-         <handler>GtkPlaylistDragData</handler>
-         <last_modification_time>Sat, 12 May 2001 21:25:53 GMT</last_modification_time>
-       </signal>
-       <signal>
-         <name>drag_motion</name>
-         <handler>GtkPlaylistDragMotion</handler>
-         <last_modification_time>Sat, 12 May 2001 21:26:23 GMT</last_modification_time>
-       </signal>
-       <columns>2</columns>
-       <column_widths>257,80</column_widths>
-       <selection_mode>GTK_SELECTION_EXTENDED</selection_mode>
-       <show_titles>True</show_titles>
-       <shadow_type>GTK_SHADOW_OUT</shadow_type>
-
-       <widget>
-         <class>GtkLabel</class>
-         <child_name>CList:title</child_name>
-         <name>label22</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>GtkLabel</class>
-         <child_name>CList:title</child_name>
-         <name>label23</name>
-         <label>Duration</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>
-
-<widget>
-  <class>GtkDialog</class>
-  <name>intf_messages</name>
-  <signal>
-    <name>delete_event</name>
-    <handler>GtkMessagesDelete</handler>
-    <last_modification_time>Tue, 19 Feb 2002 02:39:16 GMT</last_modification_time>
-  </signal>
-  <title>Messages</title>
-  <type>GTK_WINDOW_TOPLEVEL</type>
-  <position>GTK_WIN_POS_NONE</position>
-  <modal>False</modal>
-  <default_width>600</default_width>
-  <default_height>400</default_height>
-  <allow_shrink>True</allow_shrink>
-  <allow_grow>True</allow_grow>
-  <auto_shrink>False</auto_shrink>
-
-  <widget>
-    <class>GtkVBox</class>
-    <child_name>Dialog:vbox</child_name>
-    <name>dialog-vbox6</name>
-    <homogeneous>False</homogeneous>
-    <spacing>0</spacing>
-
-    <widget>
-      <class>GtkHBox</class>
-      <child_name>Dialog:action_area</child_name>
-      <name>dialog-action_area5</name>
-      <border_width>5</border_width>
-      <homogeneous>True</homogeneous>
-      <spacing>5</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>True</fill>
-       <pack>GTK_PACK_END</pack>
-      </child>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>messages_ok</name>
-       <can_default>True</can_default>
-       <has_default>True</has_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkMessagesOk</handler>
-         <last_modification_time>Tue, 19 Feb 2002 02:07:37 GMT</last_modification_time>
-       </signal>
-       <label>OK</label>
-       <relief>GTK_RELIEF_NORMAL</relief>
-       <child>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkScrolledWindow</class>
-      <name>scrolledwindow2</name>
-      <border_width>5</border_width>
-      <hscrollbar_policy>GTK_POLICY_NEVER</hscrollbar_policy>
-      <vscrollbar_policy>GTK_POLICY_ALWAYS</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>GtkText</class>
-       <name>messages_textbox</name>
-       <can_focus>True</can_focus>
-       <editable>False</editable>
-       <text></text>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
-<widget>
-  <class>GtkWindow</class>
-  <name>intf_sout</name>
-  <border_width>5</border_width>
-  <title>Stream output</title>
-  <type>GTK_WINDOW_TOPLEVEL</type>
-  <position>GTK_WIN_POS_NONE</position>
-  <modal>True</modal>
-  <allow_shrink>False</allow_shrink>
-  <allow_grow>True</allow_grow>
-  <auto_shrink>False</auto_shrink>
-
-  <widget>
-    <class>GtkVBox</class>
-    <name>vbox15</name>
-    <homogeneous>False</homogeneous>
-    <spacing>0</spacing>
-
-    <widget>
-      <class>GtkVBox</class>
-      <name>vbox16</name>
-      <homogeneous>False</homogeneous>
-      <spacing>0</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkFrame</class>
-       <name>frame11</name>
-       <label>Stream output (MRL)</label>
-       <label_xalign>0</label_xalign>
-       <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-       <child>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkHBox</class>
-         <name>hbox28</name>
-         <border_width>5</border_width>
-         <homogeneous>False</homogeneous>
-         <spacing>0</spacing>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label38</name>
-           <label>Destination Target: </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>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkCombo</class>
-           <name>combo4</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>
-             <padding>0</padding>
-             <expand>True</expand>
-             <fill>True</fill>
-           </child>
-
-           <widget>
-             <class>GtkEntry</class>
-             <child_name>GtkCombo:entry</child_name>
-             <name>sout_entry_target</name>
-             <can_focus>True</can_focus>
-             <editable>True</editable>
-             <text_visible>True</text_visible>
-             <text_max_length>0</text_max_length>
-             <text></text>
-           </widget>
-         </widget>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkFrame</class>
-       <name>frame12</name>
-       <label_xalign>0</label_xalign>
-       <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkTable</class>
-         <name>table6</name>
-         <rows>3</rows>
-         <columns>5</columns>
-         <homogeneous>False</homogeneous>
-         <row_spacing>5</row_spacing>
-         <column_spacing>5</column_spacing>
-
-         <widget>
-           <class>GtkRadioButton</class>
-           <name>sout_access_file</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkSoutSettingsAccessFile</handler>
-             <last_modification_time>Sun, 26 Jan 2003 05:40:41 GMT</last_modification_time>
-           </signal>
-           <label>File</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <group>sout_access</group>
-           <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>GtkRadioButton</class>
-           <name>sout_access_udp</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkSoutSettingsAccessUdp</handler>
-             <last_modification_time>Sun, 26 Jan 2003 05:40:51 GMT</last_modification_time>
-           </signal>
-           <label>UDP</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <group>sout_access</group>
-           <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>GtkRadioButton</class>
-           <name>sout_access_rtp</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkSoutSettingsAccessUdp</handler>
-             <last_modification_time>Sun, 26 Jan 2003 05:50:02 GMT</last_modification_time>
-           </signal>
-           <label>RTP</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <group>sout_access</group>
-           <child>
-             <left_attach>0</left_attach>
-             <right_attach>1</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</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>sout_file_path_label</name>
-           <label>Path:</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>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>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>False</yfill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkCombo</class>
-           <name>combo6</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>2</left_attach>
-             <right_attach>5</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>sout_file_path</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>changed</name>
-               <handler>GtkSoutSettingsChanged</handler>
-               <last_modification_time>Sun, 26 Jan 2003 04:54:22 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>
-           <class>GtkLabel</class>
-           <name>sout_udp_address_label</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>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>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>False</yfill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkCombo</class>
-           <name>sout_udp_address_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></items>
-           <child>
-             <left_attach>2</left_attach>
-             <right_attach>3</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>
-             <class>GtkEntry</class>
-             <child_name>GtkCombo:entry</child_name>
-             <name>sout_udp_address</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>changed</name>
-               <handler>GtkSoutSettingsChanged</handler>
-               <last_modification_time>Sun, 26 Jan 2003 04:54:29 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>
-           <class>GtkSpinButton</class>
-           <name>sout_udp_port</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>changed</name>
-             <handler>GtkSoutSettingsChanged</handler>
-             <last_modification_time>Sun, 26 Jan 2003 10:27:52 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>0</lower>
-           <upper>65535</upper>
-           <step>1</step>
-           <page>10</page>
-           <page_size>10</page_size>
-           <child>
-             <left_attach>4</left_attach>
-             <right_attach>5</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>GtkHBox</class>
-           <name>hbox29</name>
-           <homogeneous>False</homogeneous>
-           <spacing>0</spacing>
-           <child>
-             <left_attach>4</left_attach>
-             <right_attach>5</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</bottom_attach>
-             <xpad>0</xpad>
-             <ypad>0</ypad>
-             <xexpand>False</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>True</yfill>
-           </child>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>sout_mux_ts</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkSoutSettingsChanged</handler>
-               <last_modification_time>Sun, 26 Jan 2003 06:42:47 GMT</last_modification_time>
-             </signal>
-             <label>TS</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>sout_mux</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>sout_mux_ps</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkSoutSettingsChanged</handler>
-               <last_modification_time>Sun, 26 Jan 2003 06:42:53 GMT</last_modification_time>
-             </signal>
-             <label>PS</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>sout_mux</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-
-           <widget>
-             <class>GtkRadioButton</class>
-             <name>sout_mux_avi</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkSoutSettingsChanged</handler>
-               <last_modification_time>Sun, 26 Jan 2003 06:42:58 GMT</last_modification_time>
-             </signal>
-             <label>AVI</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>sout_mux</group>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-         </widget>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>sout_udp_port_label</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>3</left_attach>
-             <right_attach>4</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>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkHBox</class>
-      <name>hbox25</name>
-      <border_width>5</border_width>
-      <homogeneous>False</homogeneous>
-      <spacing>0</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>False</expand>
-       <fill>True</fill>
-       <pack>GTK_PACK_END</pack>
-      </child>
-
-      <widget>
-       <class>GtkHBox</class>
-       <name>hbox26</name>
-       <homogeneous>False</homogeneous>
-       <spacing>0</spacing>
-       <child>
-         <padding>3</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-         <pack>GTK_PACK_END</pack>
-       </child>
-
-       <widget>
-         <class>GtkButton</class>
-         <name>button1</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkSoutSettingsOk</handler>
-           <last_modification_time>Sun, 26 Jan 2003 04:52:18 GMT</last_modification_time>
-         </signal>
-         <label>OK</label>
-         <relief>GTK_RELIEF_NORMAL</relief>
-         <child>
-           <padding>2</padding>
-           <expand>True</expand>
-           <fill>True</fill>
-         </child>
-       </widget>
-
-       <widget>
-         <class>GtkButton</class>
-         <name>button2</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkSoutSettingsCancel</handler>
-           <last_modification_time>Sun, 26 Jan 2003 04:32:24 GMT</last_modification_time>
-         </signal>
-         <label>Cancel</label>
-         <relief>GTK_RELIEF_NORMAL</relief>
-         <child>
-           <padding>2</padding>
-           <expand>True</expand>
-           <fill>True</fill>
-         </child>
-       </widget>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
-</GTK-Interface>
diff --git a/modules/gui/gtk/gtk_callbacks.c b/modules/gui/gtk/gtk_callbacks.c
deleted file mode 100644 (file)
index 5c17f40..0000000
+++ /dev/null
@@ -1,598 +0,0 @@
-/*****************************************************************************
- * gtk_callbacks.c : Callbacks for the Gtk+ plugin.
- *****************************************************************************
- * Copyright (C) 2000, 2001, 2003 the VideoLAN team
- * $Id$
- *
- * Authors: Sam Hocevar <sam@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *          Julien BLACHE <jb@technologeek.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 <vlc/aout.h>
-
-#include <unistd.h>
-
-#include <gtk/gtk.h>
-
-#include <string.h>
-
-#include "gtk_callbacks.h"
-#include "gtk_interface.h"
-#include "gtk_support.h"
-
-#include "common.h"
-
-#ifdef HAVE_CDDAX
-#define CDDA_MRL "cddax://"
-#else
-#define CDDA_MRL "cdda://"
-#endif
-
-#ifdef HAVE_VCDX
-#define VCD_MRL "vcdx://"
-#else
-#define VCD_MRL "vcdx://"
-#endif
-
-/*****************************************************************************
- * 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 ) );
-        p_data = gtk_object_get_data( GTK_OBJECT( widget ), "p_intf" );
-        if( p_data )
-        {
-            return p_data;
-        }
-    }
-
-    /* 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;
-}
-
-/*****************************************************************************
- * Callbacks
- *****************************************************************************/
-
-/*
- * Main interface callbacks
- */
-
-#ifdef MODULE_NAME_IS_gtk
-#   define GTKEXIT GtkExit
-#else
-#   define GTKEXIT GnomeExit
-#endif
-
-gboolean GTKEXIT( 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 GtkClose( GtkMenuItem     *menuitem,
-               gpointer         user_data )
-{
-    intf_thread_t *p_intf = GtkGetIntf( menuitem );
-    p_intf->b_die = VLC_TRUE;
-}
-
-gboolean GtkWindowDelete( GtkWidget       *widget,
-                          GdkEvent        *event,
-                          gpointer         user_data )
-{
-    GTKEXIT( GTK_WIDGET( widget ), user_data );
-
-    return TRUE;
-}
-
-
-gboolean GtkWindowToggle( GtkWidget       *widget,
-                          gpointer         user_data )
-{
-    intf_thread_t *p_intf = GtkGetIntf( widget );
-
-    if( GTK_WIDGET_VISIBLE(p_intf->p_sys->p_window) )
-    {
-        gtk_widget_hide( p_intf->p_sys->p_window);
-    }
-    else
-    {
-        gtk_widget_show( p_intf->p_sys->p_window );
-    }
-
-    return TRUE;
-}
-
-gboolean GtkFullscreen( GtkWidget       *widget,
-                        gpointer         user_data)
-{
-    intf_thread_t *p_intf = GtkGetIntf( widget );
-    vout_thread_t *p_vout;
-
-    if( p_intf->p_sys->p_input == NULL )
-    {
-        return FALSE;
-    }
-
-    p_vout = vlc_object_find( p_intf->p_sys->p_input,
-                              VLC_OBJECT_VOUT, FIND_CHILD );
-    if( p_vout == NULL )
-    {
-        return FALSE;
-    }
-
-    p_vout->i_changes |= VOUT_FULLSCREEN_CHANGE;
-    vlc_object_release( p_vout );
-    return TRUE;
-}
-
-void GtkWindowDrag( GtkWidget       *widget,
-                    GdkDragContext  *drag_context,
-                    gint             x,
-                    gint             y,
-                    GtkSelectionData *data,
-                    guint            info,
-                    guint            time,
-                    gpointer         user_data)
-{
-    intf_thread_t * p_intf = GtkGetIntf( widget );
-    GtkDropDataReceived( p_intf, data, info, PLAYLIST_END );
-}
-
-
-/****************************************************************************
- * Slider management
- ****************************************************************************/
-
-gboolean GtkSliderRelease( 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 = VLC_TRUE;
-    vlc_mutex_unlock( &p_intf->change_lock );
-
-    return FALSE;
-}
-
-
-gboolean GtkSliderPress( 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 = VLC_FALSE;
-    vlc_mutex_unlock( &p_intf->change_lock );
-
-    return FALSE;
-}
-
-
-/****************************************************************************
- * DVD specific items
- ****************************************************************************/
-
-void GtkTitlePrev( GtkButton * button, gpointer user_data )
-{
-    intf_thread_t *  p_intf = GtkGetIntf( button );
-
-    var_SetVoid( p_intf->p_sys->p_input, "prev-title" );
-
-    p_intf->p_sys->b_title_update = VLC_TRUE;
-    vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
-    GtkSetupMenus( p_intf );
-    vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
-}
-
-
-void GtkTitleNext( GtkButton * button, gpointer user_data )
-{
-    intf_thread_t * p_intf = GtkGetIntf( button );
-
-    var_SetVoid( p_intf->p_sys->p_input, "next-title" );
-
-    p_intf->p_sys->b_title_update = VLC_TRUE;
-    vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
-    GtkSetupMenus( p_intf );
-    vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
-}
-
-
-void GtkChapterPrev( GtkButton * button, gpointer user_data )
-{
-    intf_thread_t *  p_intf = GtkGetIntf( button );
-
-    var_SetVoid( p_intf->p_sys->p_input, "prev-chapter" );
-
-    p_intf->p_sys->b_chapter_update = VLC_TRUE;
-    vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
-    GtkSetupMenus( p_intf );
-    vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
-}
-
-
-void GtkChapterNext( GtkButton * button, gpointer user_data )
-{
-    intf_thread_t *  p_intf = GtkGetIntf( button );
-
-    var_SetVoid( p_intf->p_sys->p_input, "next-chapter" );
-
-    p_intf->p_sys->b_chapter_update = VLC_TRUE;
-    vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
-    GtkSetupMenus( p_intf );
-    vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
-}
-
-/****************************************************************************
- * About box
- ****************************************************************************/
-
-gboolean GtkAboutShow( GtkWidget       *widget,
-                       gpointer         user_data)
-{
-    intf_thread_t *p_intf = GtkGetIntf( widget );
-
-    if( !GTK_IS_WIDGET( p_intf->p_sys->p_about ) )
-    {
-        p_intf->p_sys->p_about = create_intf_about();
-        gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_about ),
-                             "p_intf", p_intf );
-    }
-    gtk_widget_show( p_intf->p_sys->p_about );
-    gdk_window_raise( p_intf->p_sys->p_about->window );
-
-    return TRUE;
-}
-
-void GtkAboutOk( GtkButton * button, gpointer user_data)
-{
-    intf_thread_t *p_intf = GtkGetIntf( button );
-
-    gtk_widget_hide( p_intf->p_sys->p_about );
-}
-
-
-/****************************************************************************
- * Jump box
- ****************************************************************************/
-
-gboolean GtkJumpShow( GtkWidget       *widget,
-                      gpointer         user_data)
-{
-    intf_thread_t *p_intf = GtkGetIntf( widget );
-
-    if( !GTK_IS_WIDGET( p_intf->p_sys->p_jump ) )
-    {
-        p_intf->p_sys->p_jump = create_intf_jump();
-        gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_jump ),
-                             "p_intf", p_intf );
-    }
-
-    gtk_widget_show( p_intf->p_sys->p_jump );
-    gdk_window_raise( p_intf->p_sys->p_jump->window );
-
-    return FALSE;
-}
-
-
-void GtkJumpOk( GtkButton       *button,
-                gpointer         user_data)
-{
-    intf_thread_t * p_intf = GtkGetIntf( button );
-    int i_hours, i_minutes, i_seconds;
-
-    if( p_intf->p_sys->p_input == NULL )
-    {
-        return;
-    }
-
-#define GET_VALUE( name )                                                   \
-    gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( gtk_object_get_data( \
-        GTK_OBJECT( p_intf->p_sys->p_jump ), name ) ) )
-    i_hours   = GET_VALUE( "jump_hour_spinbutton" );
-    i_minutes = GET_VALUE( "jump_minute_spinbutton" );
-    i_seconds = GET_VALUE( "jump_second_spinbutton" );
-#undef GET_VALUE
-
-    var_SetTime( p_intf->p_sys->p_input, "time",
-                 (int64_t)(i_seconds+60*i_minutes+3600*i_hours)*I64C(1000000));
-
-    gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
-}
-
-
-void GtkJumpCancel( GtkButton       *button,
-                    gpointer         user_data)
-{
-    gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
-}
-
-/****************************************************************************
- * Callbacks for disc ejection
- ****************************************************************************/
-gboolean GtkDiscEject ( GtkWidget *widget, gpointer user_data )
-{
-    char *psz_device = NULL;
-    char *psz_parser;
-    char *psz_current;
-
-    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;
-    }
-
-    vlc_mutex_lock( &p_playlist->object_lock );
-
-    if( p_playlist->i_index < 0 )
-    {
-        vlc_mutex_unlock( &p_playlist->object_lock );
-        vlc_object_release( p_playlist );
-        return FALSE;
-    }
-
-    psz_current = p_playlist->pp_items[ p_playlist->i_index ]->input.psz_name;
-
-    /*
-     * Get the active input
-     * Determine whether we can eject a media, ie it's a VCD or DVD
-     * If it's neither a VCD nor a DVD, then return
-     */
-
-    /*
-     * Don't really know if I must lock the stuff here, we're using it read-only
-     */
-
-    if( psz_current != NULL )
-    {
-        if( !strncmp(psz_current, "dvd://", 4) )
-        {
-            switch( psz_current[strlen("dvd://")] )
-            {
-            case '\0':
-            case '@':
-                psz_device = config_GetPsz( p_intf, "dvd" );
-                break;
-            default:
-                /* Omit the first MRL-selector characters */
-                psz_device = strdup( psz_current + strlen("dvd://" ) );
-                break;
-            }
-        }
-        else if( !strncmp(psz_current, "vcd:", strlen("vcd:")) )
-        {
-            switch( psz_current[strlen("vcd:")] )
-            {
-            case '\0':
-            case '@':
-                psz_device = config_GetPsz( p_intf, VCD_MRL );
-                break;
-            default:
-                /* Omit the beginning MRL-selector characters */
-                psz_device = strdup( psz_current + strlen(VCD_MRL) );
-                break;
-            }
-        }
-        else if( !strncmp(psz_current, CDDA_MRL, strlen(CDDA_MRL) ) )
-        {
-            switch( psz_current[strlen(CDDA_MRL)] )
-            {
-            case '\0':
-            case '@':
-                psz_device = config_GetPsz( p_intf, "cd-audio" );
-                break;
-            default:
-                /* Omit the beginning MRL-selector characters */
-                psz_device = strdup( psz_current + strlen(CDDA_MRL) );
-                break;
-            }
-        }
-        else
-        {
-            psz_device = strdup( psz_current );
-        }
-    }
-
-    vlc_mutex_unlock( &p_playlist->object_lock );
-    vlc_object_release( p_playlist );
-
-    if( psz_device == NULL )
-    {
-        return TRUE;
-    }
-
-    /* Remove what we have after @ */
-    psz_parser = psz_device;
-    for( psz_parser = psz_device ; *psz_parser ; psz_parser++ )
-    {
-        if( *psz_parser == '@' )
-        {
-            *psz_parser = '\0';
-            break;
-        }
-    }
-
-    /* If there's a stream playing, we aren't allowed to eject ! */
-    if( p_intf->p_sys->p_input == NULL )
-    {
-        msg_Dbg( p_intf, "ejecting %s", psz_device );
-
-        intf_Eject( p_intf, psz_device );
-    }
-
-    free(psz_device);
-
-    return TRUE;
-}
-
-/****************************************************************************
- * Messages window
- ****************************************************************************/
-
-gboolean GtkMessagesShow( GtkWidget       *widget,
-                          gpointer         user_data)
-{
-    static GdkColor black = { 0, 0x0000, 0x0000, 0x0000 };
-    static GdkColormap *colormap;
-    intf_thread_t *p_intf = GtkGetIntf( widget );
-
-    gtk_widget_show( p_intf->p_sys->p_messages );
-    colormap = gdk_colormap_get_system ();
-    gdk_color_alloc( colormap, &black );
-    gdk_window_set_background( p_intf->p_sys->p_messages_text->text_area,
-                               &black );
-
-    gdk_window_raise( p_intf->p_sys->p_messages->window );
-
-    gtk_text_set_point( p_intf->p_sys->p_messages_text,
-                    gtk_text_get_length( p_intf->p_sys->p_messages_text ) );
-
-    return TRUE;
-}
-
-void
-GtkMessagesOk                          (GtkButton       *button,
-                                        gpointer         user_data)
-{
-    intf_thread_t *p_intf = GtkGetIntf( button );
-    gtk_widget_hide( p_intf->p_sys->p_messages );
-}
-
-
-gboolean
-GtkMessagesDelete                      (GtkWidget       *widget,
-                                        GdkEvent        *event,
-                                        gpointer         user_data)
-{
-    intf_thread_t *p_intf = GtkGetIntf( widget );
-    gtk_widget_hide( p_intf->p_sys->p_messages );
-    return TRUE;
-}
-
-
-void
-GtkOpenNotebookChanged                 (GtkNotebook     *notebook,
-                                        GtkNotebookPage *page,
-                                        gint             page_num,
-                                        gpointer         user_data)
-{
-    GtkOpenChanged( GTK_WIDGET( notebook ), user_data );
-}
-
-/****************************************************************************
- * Audio management
- ****************************************************************************/
-void GtkVolumeUp                      ( GtkMenuItem     *menuitem,
-                                        gpointer         user_data )
-{
-    intf_thread_t   *p_intf = GtkGetIntf( menuitem );
-    audio_volume_t  i_volume;
-
-    aout_VolumeUp( p_intf, 1, &i_volume );
-    p_intf->p_sys->b_mute = ( i_volume == 0 ) ? 1 : 0;
-}
-
-
-void GtkVolumeDown                    ( GtkMenuItem     *menuitem,
-                                        gpointer         user_data )
-{
-    intf_thread_t   *p_intf = GtkGetIntf( menuitem );
-    audio_volume_t  i_volume;
-
-    aout_VolumeDown( p_intf, 1, &i_volume );
-    p_intf->p_sys->b_mute = ( i_volume == 0 ) ? 1 : 0;
-}
-
-
-void GtkVolumeMute                    ( GtkMenuItem     *menuitem,
-                                        gpointer         user_data )
-{
-    intf_thread_t   *p_intf = GtkGetIntf( menuitem );
-    audio_volume_t i_volume;
-
-    aout_VolumeMute( p_intf, &i_volume );
-    p_intf->p_sys->b_mute = ( i_volume == 0 ) ? 1 : 0;
-}
-
-void
-GtkMenubarDeinterlace                  ( GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-    intf_thread_t   *p_intf = GtkGetIntf( menuitem );
-
-    if( p_intf )
-        msg_Dbg( p_intf, "GtkMenubarDeinterlace" );
-}
-
-
-void
-GtkPopupDeinterlace                    (GtkRadioMenuItem *radiomenuitem,
-                                        gpointer         user_data)
-{
-    intf_thread_t   *p_intf = GtkGetIntf( radiomenuitem );
-
-    if( p_intf )
-        msg_Dbg( p_intf, "GtkPopupDeinterlace" );
-}
-
-
-
diff --git a/modules/gui/gtk/gtk_callbacks.h b/modules/gui/gtk/gtk_callbacks.h
deleted file mode 100644 (file)
index 3ed93b2..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-/*****************************************************************************
- * gtk_callbacks.h : Callbacks for the gtk plugin.
- *****************************************************************************
- * Copyright (C) 2000, 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *      
- * 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 <gtk/gtk.h>
-
-#include "config.h"
-
-#include "control.h"
-#include "menu.h"
-#include "open.h"
-#include "modules.h"
-#include "playlist.h"
-#include "preferences.h"
-
-/* General glade callbacks */
-
-/*****************************************************************************
- * main window callbacks: specific prototypes are in headers listed before
- *****************************************************************************/
-
-#ifdef MODULE_NAME_IS_gtk
-gboolean GtkExit                ( GtkWidget *, gpointer );
-#else
-gboolean GnomeExit              ( GtkWidget *, gpointer );
-#endif
-gboolean GtkWindowToggle        ( GtkWidget *, gpointer );
-gboolean GtkFullscreen          ( GtkWidget *, gpointer );
-gboolean GtkSliderRelease       ( GtkWidget *, GdkEventButton *, gpointer );
-gboolean GtkSliderPress         ( GtkWidget *, GdkEventButton *, gpointer );
-gboolean GtkWindowDelete        ( GtkWidget * widget, GdkEvent *, gpointer );
-gboolean GtkJumpShow            ( GtkWidget *, gpointer );
-gboolean GtkAboutShow           ( GtkWidget *, gpointer );
-gboolean GtkMessagesShow        ( GtkWidget *, gpointer );
-void     GtkTitlePrev           ( GtkButton * button, gpointer );
-void     GtkTitleNext           ( GtkButton * button, gpointer );
-void     GtkChapterPrev         ( GtkButton *, gpointer );
-void     GtkChapterNext         ( GtkButton * button, gpointer );
-void     GtkAboutOk             ( GtkButton *, gpointer );
-void     GtkWindowDrag          ( GtkWidget *, GdkDragContext *,
-                                  gint, gint, GtkSelectionData *,
-                                  guint , guint, gpointer );
-void     GtkJumpOk              ( GtkButton * button, gpointer );
-void     GtkJumpCancel          ( GtkButton * button, gpointer user_data );
-
-void     GtkNetworkOpenChannel  ( GtkToggleButton *, gpointer );
-
-gboolean
-GtkDiscEject                           (GtkWidget       *widget,
-                                        gpointer         user_data);
-
-void
-GtkMessagesOk                          (GtkButton       *button,
-                                        gpointer         user_data);
-
-gboolean
-GtkMessagesDelete                      (GtkWidget       *widget,
-                                        GdkEvent        *event,
-                                        gpointer         user_data);
-
-gboolean
-GtkSatOpenShow                         (GtkWidget       *widget,
-                                        gpointer         user_data);
-
-void
-GtkSatOpenOk                           (GtkButton       *button,
-                                        gpointer         user_data);
-
-void
-GtkSatOpenCancel                       (GtkButton       *button,
-                                        gpointer         user_data);
-
-void
-GtkNetworkOpenUDP                      (GtkToggleButton *togglebutton,
-                                        gpointer         user_data);
-
-void
-GtkNetworkOpenMulticast                (GtkToggleButton *togglebutton,
-                                        gpointer         user_data);
-
-void
-GtkNetworkOpenCS                       (GtkToggleButton *togglebutton,
-                                        gpointer         user_data);
-
-void
-GtkNetworkOpenHTTP                     (GtkToggleButton *togglebutton,
-                                        gpointer         user_data);
-
-void
-GtkNetworkOpenChannel                  (GtkToggleButton *togglebutton,
-                                        gpointer         user_data);
-
-void
-GtkOpenOk                              (GtkButton       *button,
-                                        gpointer         user_data);
-
-void
-GtkOpenCancel                          (GtkButton       *button,
-                                        gpointer         user_data);
-
-void
-GtkOpenChanged                         (GtkWidget       *button,
-                                        gpointer         user_data);
-
-void
-GtkOpenNotebookChanged                 (GtkNotebook     *notebook,
-                                        GtkNotebookPage *page,
-                                        gint             page_num,
-                                        gpointer         user_data);
-
-void
-GtkSatOpenToggle                       (GtkToggleButton *togglebutton,
-                                        gpointer         user_data);
-
-void
-GtkFileShow                            (GtkButton       *button,
-                                        gpointer         user_data);
-
-void
-GtkFileOk                              (GtkButton       *button,
-                                        gpointer         user_data);
-
-void
-GtkFileCancel                          (GtkButton       *button,
-                                        gpointer         user_data);
-
-void
-GtkClose                               (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-GtkVolumeUp                            (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-GtkVolumeDown                          (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-GtkVolumeMute                          (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-GtkMenubarDeinterlace                  (GtkMenuItem *menuitem,
-                                        gpointer         user_data);
-
-void
-GtkPopupDeinterlace                    (GtkRadioMenuItem *radiomenuitem,
-                                        gpointer         user_data);
-
-
-void
-GtkOpenSubtitleShow                    (GtkButton       *button,
-                                        gpointer         user_data);
-
-void
-GtkSoutSettings                        (GtkButton       *button,
-                                        gpointer         user_data);
-
-void
-GtkSoutSettingsCancel                  (GtkButton       *button,
-                                        gpointer         user_data);
-
-void
-GtkSoutSettingsChanged                 (GtkWidget *button,
-                                        gpointer         user_data);
-
-void
-GtkSoutSettingsOk                      (GtkButton       *button,
-                                        gpointer         user_data);
-
-void
-GtkSoutSettingsAccessFile              (GtkToggleButton *togglebutton,
-                                        gpointer         user_data);
-
-void
-GtkSoutSettingsAccessUdp               (GtkToggleButton *togglebutton,
-                                        gpointer         user_data);
-
-void
-GtkOpenSoutShow                        (GtkButton       *button,
-                                        gpointer         user_data);
-
diff --git a/modules/gui/gtk/gtk_interface.c b/modules/gui/gtk/gtk_interface.c
deleted file mode 100644 (file)
index 5ddf62c..0000000
+++ /dev/null
@@ -1,3312 +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 "gtk_callbacks.h"
-#include "gtk_interface.h"
-#include "gtk_support.h"
-
-GtkWidget*
-create_intf_window (void)
-{
-  GtkWidget *intf_window;
-  GtkWidget *window_vbox;
-  GtkWidget *menubar_handlebox;
-  GtkWidget *menubar;
-  guint tmp_key;
-  GtkWidget *menubar_file;
-  GtkWidget *menubar_file_menu;
-  GtkAccelGroup *menubar_file_menu_accels;
-  GtkWidget *menubar_open;
-  GtkWidget *menubar_disc;
-  GtkWidget *menubar_network;
-  GtkWidget *separator4;
-  GtkWidget *menubar_eject;
-  GtkWidget *separator14;
-  GtkWidget *menubar_close;
-  GtkWidget *menubar_exit;
-  GtkWidget *menubar_view;
-  GtkWidget *menubar_view_menu;
-  GtkAccelGroup *menubar_view_menu_accels;
-  GtkWidget *menubar_interface_hide;
-  GtkWidget *separator13;
-  GtkWidget *menubar_program;
-  GtkWidget *menubar_title;
-  GtkWidget *menubar_chapter;
-  GtkWidget *separator11;
-  GtkWidget *menubar_playlist;
-  GtkWidget *menubar_modules;
-  GtkWidget *menubar_messages;
-  GtkWidget *menubar_settings;
-  GtkWidget *menubar_settings_menu;
-  GtkAccelGroup *menubar_settings_menu_accels;
-  GtkWidget *menubar_preferences;
-  GtkWidget *menubar_config_audio;
-  GtkWidget *menubar_config_audio_menu;
-  GtkAccelGroup *menubar_config_audio_menu_accels;
-  GtkWidget *menubar_audio;
-  GtkWidget *separator18;
-  GtkWidget *menubar_volume_up;
-  GtkWidget *menubar_volume_down;
-  GtkWidget *menubar_volume_mute;
-  GtkWidget *separator15;
-  GtkWidget *menubar_audio_channels;
-  GtkWidget *menubar_audio_device;
-  GtkWidget *menubar_config_video;
-  GtkWidget *menubar_config_video_menu;
-  GtkAccelGroup *menubar_config_video_menu_accels;
-  GtkWidget *menubar_subpictures;
-  GtkWidget *separator25;
-  GtkWidget *menubar_fullscreen;
-  GtkWidget *separator24;
-  GtkWidget *menubar_deinterlace;
-  GtkWidget *menubar_video_device;
-  GtkWidget *menubar_help;
-  GtkWidget *menubar_help_menu;
-  GtkAccelGroup *menubar_help_menu_accels;
-  GtkWidget *menubar_about;
-  GtkWidget *toolbar_handlebox;
-  GtkWidget *toolbar;
-  GtkWidget *toolbar_open;
-  GtkWidget *toolbar_disc;
-  GtkWidget *toolbar_network;
-  GtkWidget *toolbar_sat;
-  GtkWidget *toolbar_back;
-  GtkWidget *toolbar_stop;
-  GtkWidget *toolbar_eject;
-  GtkWidget *toolbar_play;
-  GtkWidget *toolbar_pause;
-  GtkWidget *toolbar_slow;
-  GtkWidget *toolbar_fast;
-  GtkWidget *toolbar_playlist;
-  GtkWidget *toolbar_prev;
-  GtkWidget *toolbar_next;
-  GtkWidget *slider_frame;
-  GtkWidget *slider;
-  GtkWidget *file_box;
-  GtkWidget *label_status;
-  GtkWidget *dvd_box;
-  GtkWidget *dvd_label;
-  GtkWidget *title_box;
-  GtkWidget *title;
-  GtkWidget *title_label;
-  GtkWidget *title_prev_button;
-  GtkWidget *title_next_button;
-  GtkWidget *dvd_separator;
-  GtkWidget *chapter_box;
-  GtkWidget *chapter;
-  GtkWidget *chapter_label;
-  GtkWidget *chapter_prev_button;
-  GtkWidget *chapter_next_button;
-  GtkWidget *network_box;
-  GtkWidget *network_address_label;
-  GtkWidget *intf_statusbar;
-  GtkAccelGroup *accel_group;
-  GtkTooltips *tooltips;
-
-  tooltips = gtk_tooltips_new ();
-
-  accel_group = gtk_accel_group_new ();
-
-  intf_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_object_set_data (GTK_OBJECT (intf_window), "intf_window", intf_window);
-  gtk_window_set_title (GTK_WINDOW (intf_window), _("VLC media player"));
-  gtk_window_set_policy (GTK_WINDOW (intf_window), TRUE, TRUE, TRUE);
-
-  window_vbox = gtk_vbox_new (FALSE, 0);
-  gtk_widget_ref (window_vbox);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "window_vbox", window_vbox,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (window_vbox);
-  gtk_container_add (GTK_CONTAINER (intf_window), window_vbox);
-
-  menubar_handlebox = gtk_handle_box_new ();
-  gtk_widget_ref (menubar_handlebox);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_handlebox", menubar_handlebox,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_handlebox);
-  gtk_box_pack_start (GTK_BOX (window_vbox), menubar_handlebox, FALSE, TRUE, 0);
-
-  menubar = gtk_menu_bar_new ();
-  gtk_widget_ref (menubar);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar", menubar,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar);
-  gtk_container_add (GTK_CONTAINER (menubar_handlebox), menubar);
-
-  menubar_file = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_file)->child),
-                                   _("_File"));
-  gtk_widget_add_accelerator (menubar_file, "activate_item", accel_group,
-                              tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
-  gtk_widget_ref (menubar_file);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file", menubar_file,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_file);
-  gtk_container_add (GTK_CONTAINER (menubar), menubar_file);
-
-  menubar_file_menu = gtk_menu_new ();
-  gtk_widget_ref (menubar_file_menu);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_file_menu", menubar_file_menu,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_file), menubar_file_menu);
-  menubar_file_menu_accels = gtk_menu_get_accel_group (GTK_MENU (menubar_file_menu));
-
-  menubar_open = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_open)->child),
-                                   _("_Open File..."));
-  gtk_widget_add_accelerator (menubar_open, "activate_item", menubar_file_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_open);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_open", menubar_open,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_open);
-  gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_open);
-  gtk_tooltips_set_tip (tooltips, menubar_open, _("Open a file"), NULL);
-  gtk_widget_add_accelerator (menubar_open, "activate", accel_group,
-                              GDK_F3, 0,
-                              GTK_ACCEL_VISIBLE);
-
-  menubar_disc = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_disc)->child),
-                                   _("Open _Disc..."));
-  gtk_widget_add_accelerator (menubar_disc, "activate_item", menubar_file_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_disc);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_disc", menubar_disc,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_disc);
-  gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_disc);
-  gtk_tooltips_set_tip (tooltips, menubar_disc, _("Open Disc Media"), NULL);
-  gtk_widget_add_accelerator (menubar_disc, "activate", accel_group,
-                              GDK_F4, 0,
-                              GTK_ACCEL_VISIBLE);
-
-  menubar_network = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_network)->child),
-                                   _("_Network Stream..."));
-  gtk_widget_add_accelerator (menubar_network, "activate_item", menubar_file_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_network);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_network", menubar_network,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_network);
-  gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_network);
-  gtk_tooltips_set_tip (tooltips, menubar_network, _("Select a network stream"), NULL);
-  gtk_widget_add_accelerator (menubar_network, "activate", accel_group,
-                              GDK_F5, 0,
-                              GTK_ACCEL_VISIBLE);
-
-  separator4 = gtk_menu_item_new ();
-  gtk_widget_ref (separator4);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator4", separator4,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator4);
-  gtk_container_add (GTK_CONTAINER (menubar_file_menu), separator4);
-  gtk_widget_set_sensitive (separator4, FALSE);
-
-  menubar_eject = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_eject)->child),
-                                   _("_Eject Disc"));
-  gtk_widget_add_accelerator (menubar_eject, "activate_item", menubar_file_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_eject);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_eject", menubar_eject,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_eject);
-  gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_eject);
-  gtk_tooltips_set_tip (tooltips, menubar_eject, _("Eject disc"), NULL);
-
-  separator14 = gtk_menu_item_new ();
-  gtk_widget_ref (separator14);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator14", separator14,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator14);
-  gtk_container_add (GTK_CONTAINER (menubar_file_menu), separator14);
-  gtk_widget_set_sensitive (separator14, FALSE);
-
-  menubar_close = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_close)->child),
-                                   _("_Close"));
-  gtk_widget_add_accelerator (menubar_close, "activate_item", menubar_file_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_close);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_close", menubar_close,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_close);
-  gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_close);
-  gtk_tooltips_set_tip (tooltips, menubar_close, _("Close the window"), NULL);
-  gtk_widget_add_accelerator (menubar_close, "activate", accel_group,
-                              GDK_W, GDK_CONTROL_MASK,
-                              GTK_ACCEL_VISIBLE);
-
-  menubar_exit = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_exit)->child),
-                                   _("E_xit"));
-  gtk_widget_add_accelerator (menubar_exit, "activate_item", menubar_file_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_exit);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_exit", menubar_exit,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_exit);
-  gtk_container_add (GTK_CONTAINER (menubar_file_menu), menubar_exit);
-  gtk_tooltips_set_tip (tooltips, menubar_exit, _("Exit the program"), NULL);
-  gtk_widget_add_accelerator (menubar_exit, "activate", accel_group,
-                              GDK_Q, GDK_CONTROL_MASK,
-                              GTK_ACCEL_VISIBLE);
-
-  menubar_view = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_view)->child),
-                                   _("_View"));
-  gtk_widget_add_accelerator (menubar_view, "activate_item", accel_group,
-                              tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
-  gtk_widget_ref (menubar_view);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view", menubar_view,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_view);
-  gtk_container_add (GTK_CONTAINER (menubar), menubar_view);
-
-  menubar_view_menu = gtk_menu_new ();
-  gtk_widget_ref (menubar_view_menu);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_view_menu", menubar_view_menu,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_view), menubar_view_menu);
-  menubar_view_menu_accels = gtk_menu_get_accel_group (GTK_MENU (menubar_view_menu));
-
-  menubar_interface_hide = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_interface_hide)->child),
-                                   _("_Hide interface"));
-  gtk_widget_add_accelerator (menubar_interface_hide, "activate_item", menubar_view_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_interface_hide);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_interface_hide", menubar_interface_hide,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_interface_hide);
-  gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_interface_hide);
-  gtk_tooltips_set_tip (tooltips, menubar_interface_hide, _("Hide the main interface window"), NULL);
-
-  separator13 = gtk_menu_item_new ();
-  gtk_widget_ref (separator13);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator13", separator13,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator13);
-  gtk_container_add (GTK_CONTAINER (menubar_view_menu), separator13);
-  gtk_widget_set_sensitive (separator13, FALSE);
-
-  menubar_program = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_program)->child),
-                                   _("Progr_am"));
-  gtk_widget_add_accelerator (menubar_program, "activate_item", menubar_view_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_program);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_program", menubar_program,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_program);
-  gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_program);
-  gtk_widget_set_sensitive (menubar_program, FALSE);
-  gtk_tooltips_set_tip (tooltips, menubar_program, _("Choose the program"), NULL);
-
-  menubar_title = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_title)->child),
-                                   _("_Title"));
-  gtk_widget_add_accelerator (menubar_title, "activate_item", menubar_view_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_title);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_title", menubar_title,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_title);
-  gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_title);
-  gtk_widget_set_sensitive (menubar_title, FALSE);
-  gtk_tooltips_set_tip (tooltips, menubar_title, _("Navigate through the stream"), NULL);
-
-  menubar_chapter = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_chapter)->child),
-                                   _("_Chapter"));
-  gtk_widget_add_accelerator (menubar_chapter, "activate_item", menubar_view_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_chapter);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_chapter", menubar_chapter,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_chapter);
-  gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_chapter);
-  gtk_widget_set_sensitive (menubar_chapter, FALSE);
-
-  separator11 = gtk_menu_item_new ();
-  gtk_widget_ref (separator11);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator11", separator11,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator11);
-  gtk_container_add (GTK_CONTAINER (menubar_view_menu), separator11);
-  gtk_widget_set_sensitive (separator11, FALSE);
-
-  menubar_playlist = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_playlist)->child),
-                                   _("_Playlist..."));
-  gtk_widget_add_accelerator (menubar_playlist, "activate_item", menubar_view_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_playlist);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_playlist", menubar_playlist,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_playlist);
-  gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_playlist);
-  gtk_tooltips_set_tip (tooltips, menubar_playlist, _("Open the playlist window"), NULL);
-
-  menubar_modules = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_modules)->child),
-                                   _("_Modules..."));
-  gtk_widget_add_accelerator (menubar_modules, "activate_item", menubar_view_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_modules);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_modules", menubar_modules,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_modules);
-  gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_modules);
-  gtk_widget_set_sensitive (menubar_modules, FALSE);
-  gtk_tooltips_set_tip (tooltips, menubar_modules, _("Open the module manager"), NULL);
-
-  menubar_messages = gtk_menu_item_new_with_label (_("Messages..."));
-  gtk_widget_ref (menubar_messages);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_messages", menubar_messages,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_messages);
-  gtk_container_add (GTK_CONTAINER (menubar_view_menu), menubar_messages);
-  gtk_tooltips_set_tip (tooltips, menubar_messages, _("Open the messages window"), NULL);
-
-  menubar_settings = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_settings)->child),
-                                   _("_Settings"));
-  gtk_widget_add_accelerator (menubar_settings, "activate_item", accel_group,
-                              tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
-  gtk_widget_ref (menubar_settings);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings", menubar_settings,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_settings);
-  gtk_container_add (GTK_CONTAINER (menubar), menubar_settings);
-
-  menubar_settings_menu = gtk_menu_new ();
-  gtk_widget_ref (menubar_settings_menu);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_settings_menu", menubar_settings_menu,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_settings), menubar_settings_menu);
-  menubar_settings_menu_accels = gtk_menu_get_accel_group (GTK_MENU (menubar_settings_menu));
-
-  menubar_preferences = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_preferences)->child),
-                                   _("_Preferences..."));
-  gtk_widget_add_accelerator (menubar_preferences, "activate_item", menubar_settings_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_preferences);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_preferences", menubar_preferences,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_preferences);
-  gtk_container_add (GTK_CONTAINER (menubar_settings_menu), menubar_preferences);
-  gtk_tooltips_set_tip (tooltips, menubar_preferences, _("Configure the application"), NULL);
-
-  menubar_config_audio = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_config_audio)->child),
-                                   _("_Audio"));
-  gtk_widget_add_accelerator (menubar_config_audio, "activate_item", accel_group,
-                              tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
-  gtk_widget_ref (menubar_config_audio);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_config_audio", menubar_config_audio,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_config_audio);
-  gtk_container_add (GTK_CONTAINER (menubar), menubar_config_audio);
-
-  menubar_config_audio_menu = gtk_menu_new ();
-  gtk_widget_ref (menubar_config_audio_menu);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_config_audio_menu", menubar_config_audio_menu,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_config_audio), menubar_config_audio_menu);
-  menubar_config_audio_menu_accels = gtk_menu_get_accel_group (GTK_MENU (menubar_config_audio_menu));
-
-  menubar_audio = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_audio)->child),
-                                   _("_Language"));
-  gtk_widget_add_accelerator (menubar_audio, "activate_item", menubar_config_audio_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_audio);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio", menubar_audio,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_audio);
-  gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), menubar_audio);
-  gtk_widget_set_sensitive (menubar_audio, FALSE);
-  gtk_tooltips_set_tip (tooltips, menubar_audio, _("Select audio channel"), NULL);
-
-  separator18 = gtk_menu_item_new ();
-  gtk_widget_ref (separator18);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator18", separator18,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator18);
-  gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), separator18);
-  gtk_widget_set_sensitive (separator18, FALSE);
-
-  menubar_volume_up = gtk_menu_item_new_with_label (_("Volume Up"));
-  gtk_widget_ref (menubar_volume_up);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_up", menubar_volume_up,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_volume_up);
-  gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), menubar_volume_up);
-
-  menubar_volume_down = gtk_menu_item_new_with_label (_("Volume Down"));
-  gtk_widget_ref (menubar_volume_down);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_down", menubar_volume_down,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_volume_down);
-  gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), menubar_volume_down);
-
-  menubar_volume_mute = gtk_menu_item_new_with_label (_("Mute"));
-  gtk_widget_ref (menubar_volume_mute);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_volume_mute", menubar_volume_mute,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_volume_mute);
-  gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), menubar_volume_mute);
-
-  separator15 = gtk_menu_item_new ();
-  gtk_widget_ref (separator15);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator15", separator15,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator15);
-  gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), separator15);
-  gtk_widget_set_sensitive (separator15, FALSE);
-
-  menubar_audio_channels = gtk_menu_item_new_with_label (_("Channels"));
-  gtk_widget_ref (menubar_audio_channels);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio_channels", menubar_audio_channels,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_audio_channels);
-  gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), menubar_audio_channels);
-
-  menubar_audio_device = gtk_menu_item_new_with_label (_("Device"));
-  gtk_widget_ref (menubar_audio_device);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_audio_device", menubar_audio_device,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_audio_device);
-  gtk_container_add (GTK_CONTAINER (menubar_config_audio_menu), menubar_audio_device);
-
-  menubar_config_video = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_config_video)->child),
-                                   _("_Video"));
-  gtk_widget_add_accelerator (menubar_config_video, "activate_item", accel_group,
-                              tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
-  gtk_widget_ref (menubar_config_video);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_config_video", menubar_config_video,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_config_video);
-  gtk_container_add (GTK_CONTAINER (menubar), menubar_config_video);
-
-  menubar_config_video_menu = gtk_menu_new ();
-  gtk_widget_ref (menubar_config_video_menu);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_config_video_menu", menubar_config_video_menu,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_config_video), menubar_config_video_menu);
-  menubar_config_video_menu_accels = gtk_menu_get_accel_group (GTK_MENU (menubar_config_video_menu));
-
-  menubar_subpictures = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_subpictures)->child),
-                                   _("_Subtitles"));
-  gtk_widget_add_accelerator (menubar_subpictures, "activate_item", menubar_config_video_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_subpictures);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_subpictures", menubar_subpictures,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_subpictures);
-  gtk_container_add (GTK_CONTAINER (menubar_config_video_menu), menubar_subpictures);
-  gtk_widget_set_sensitive (menubar_subpictures, FALSE);
-  gtk_tooltips_set_tip (tooltips, menubar_subpictures, _("Select subtitles channel"), NULL);
-
-  separator25 = gtk_menu_item_new ();
-  gtk_widget_ref (separator25);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator25", separator25,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator25);
-  gtk_container_add (GTK_CONTAINER (menubar_config_video_menu), separator25);
-  gtk_widget_set_sensitive (separator25, FALSE);
-
-  menubar_fullscreen = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_fullscreen)->child),
-                                   _("_Fullscreen"));
-  gtk_widget_add_accelerator (menubar_fullscreen, "activate_item", menubar_config_video_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_fullscreen);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_fullscreen", menubar_fullscreen,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_fullscreen);
-  gtk_container_add (GTK_CONTAINER (menubar_config_video_menu), menubar_fullscreen);
-
-  separator24 = gtk_menu_item_new ();
-  gtk_widget_ref (separator24);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "separator24", separator24,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator24);
-  gtk_container_add (GTK_CONTAINER (menubar_config_video_menu), separator24);
-  gtk_widget_set_sensitive (separator24, FALSE);
-
-  menubar_deinterlace = gtk_menu_item_new_with_label (_("Deinterlace"));
-  gtk_widget_ref (menubar_deinterlace);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_deinterlace", menubar_deinterlace,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_deinterlace);
-  gtk_container_add (GTK_CONTAINER (menubar_config_video_menu), menubar_deinterlace);
-
-  menubar_video_device = gtk_menu_item_new_with_label (_("Screen"));
-  gtk_widget_ref (menubar_video_device);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_video_device", menubar_video_device,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_video_device);
-  gtk_container_add (GTK_CONTAINER (menubar_config_video_menu), menubar_video_device);
-
-  menubar_help = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_help)->child),
-                                   _("_Help"));
-  gtk_widget_add_accelerator (menubar_help, "activate_item", accel_group,
-                              tmp_key, GDK_MOD1_MASK, (GtkAccelFlags) 0);
-  gtk_widget_ref (menubar_help);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help", menubar_help,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_help);
-  gtk_container_add (GTK_CONTAINER (menubar), menubar_help);
-
-  menubar_help_menu = gtk_menu_new ();
-  gtk_widget_ref (menubar_help_menu);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_help_menu", menubar_help_menu,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menubar_help), menubar_help_menu);
-  menubar_help_menu_accels = gtk_menu_get_accel_group (GTK_MENU (menubar_help_menu));
-
-  menubar_about = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (menubar_about)->child),
-                                   _("_About..."));
-  gtk_widget_add_accelerator (menubar_about, "activate_item", menubar_help_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (menubar_about);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "menubar_about", menubar_about,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (menubar_about);
-  gtk_container_add (GTK_CONTAINER (menubar_help_menu), menubar_about);
-  gtk_tooltips_set_tip (tooltips, menubar_about, _("About this application"), NULL);
-
-  toolbar_handlebox = gtk_handle_box_new ();
-  gtk_widget_ref (toolbar_handlebox);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_handlebox", toolbar_handlebox,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_handlebox);
-  gtk_box_pack_start (GTK_BOX (window_vbox), toolbar_handlebox, FALSE, TRUE, 0);
-
-  toolbar = gtk_toolbar_new ();
-  gtk_widget_ref (toolbar);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar", toolbar,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar);
-  gtk_container_add (GTK_CONTAINER (toolbar_handlebox), toolbar);
-  gtk_container_set_border_width (GTK_CONTAINER (toolbar), 1);
-  //gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 16);
-  //gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
-  //gtk_toolbar_set_button_relief (GTK_TOOLBAR (toolbar), GTK_RELIEF_NONE);
-
-  toolbar_open = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("File"),
-                                _("Open a file"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_open);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_open", toolbar_open,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_open);
-
-  toolbar_disc = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Disc"),
-                                _("Open Disc"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_disc);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_disc", toolbar_disc,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_disc);
-
-  toolbar_network = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Net"),
-                                _("Select a network stream"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_network);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_network", toolbar_network,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_network);
-
-  toolbar_sat = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Sat"),
-                                _("Open a Satellite Card"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_sat);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_sat", toolbar_sat,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_sat);
-
-  gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
-
-  toolbar_back = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Back"),
-                                _("Go Backward"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_back);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_back", toolbar_back,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_back);
-  gtk_widget_set_sensitive (toolbar_back, FALSE);
-
-  toolbar_stop = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Stop"),
-                                _("Stop Stream"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_stop);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_stop", toolbar_stop,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_stop);
-
-  toolbar_eject = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Eject"),
-                                NULL, NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_eject);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_eject", toolbar_eject,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_eject);
-
-  toolbar_play = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Play"),
-                                _("Play Stream"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_play);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_play", toolbar_play,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_play);
-
-  toolbar_pause = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Pause"),
-                                _("Pause Stream"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_pause);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_pause", toolbar_pause,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_pause);
-  gtk_widget_set_sensitive (toolbar_pause, FALSE);
-
-  gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
-
-  toolbar_slow = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Slow"),
-                                _("Play Slower"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_slow);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_slow", toolbar_slow,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_slow);
-  gtk_widget_set_sensitive (toolbar_slow, FALSE);
-
-  toolbar_fast = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Fast"),
-                                _("Play Faster"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_fast);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_fast", toolbar_fast,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_fast);
-  gtk_widget_set_sensitive (toolbar_fast, FALSE);
-
-  toolbar_playlist = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Playlist"),
-                                _("Open Playlist"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_playlist);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_playlist", toolbar_playlist,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_playlist);
-
-  toolbar_prev = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Prev"),
-                                _("Previous File"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_prev);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_prev", toolbar_prev,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_prev);
-
-  toolbar_next = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("Next"),
-                                _("Next File"), NULL,
-                                NULL, NULL, NULL);
-  gtk_widget_ref (toolbar_next);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "toolbar_next", toolbar_next,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (toolbar_next);
-
-  slider_frame = gtk_frame_new ("-:--:--");
-  gtk_widget_ref (slider_frame);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider_frame", slider_frame,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_box_pack_start (GTK_BOX (window_vbox), slider_frame, TRUE, TRUE, 0);
-  gtk_frame_set_label_align (GTK_FRAME (slider_frame), 0.05, 0.5);
-
-  slider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 6.25, 0)));
-  gtk_widget_ref (slider);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "slider", slider,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (slider);
-  gtk_container_add (GTK_CONTAINER (slider_frame), slider);
-  gtk_widget_set_usize (slider, 500, 15);
-  gtk_scale_set_draw_value (GTK_SCALE (slider), FALSE);
-  gtk_scale_set_digits (GTK_SCALE (slider), 3);
-
-  file_box = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (file_box);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "file_box", file_box,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (file_box);
-  gtk_box_pack_start (GTK_BOX (window_vbox), file_box, TRUE, TRUE, 0);
-  gtk_widget_set_usize (file_box, 500, 24);
-
-  label_status = gtk_label_new ("");
-  gtk_widget_ref (label_status);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "label_status", label_status,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label_status);
-  gtk_box_pack_start (GTK_BOX (file_box), label_status, TRUE, TRUE, 0);
-
-  dvd_box = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (dvd_box);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_box", dvd_box,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_box_pack_start (GTK_BOX (window_vbox), dvd_box, TRUE, TRUE, 0);
-  gtk_widget_set_usize (dvd_box, 500, 24);
-
-  dvd_label = gtk_label_new (_("Disc"));
-  gtk_widget_ref (dvd_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_label", dvd_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (dvd_label);
-  gtk_box_pack_start (GTK_BOX (dvd_box), dvd_label, TRUE, FALSE, 0);
-
-  title_box = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (title_box);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_box", title_box,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (title_box);
-  gtk_box_pack_start (GTK_BOX (dvd_box), title_box, TRUE, TRUE, 0);
-
-  title = gtk_label_new (_("Title:"));
-  gtk_widget_ref (title);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "title", title,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (title);
-  gtk_box_pack_start (GTK_BOX (title_box), title, FALSE, FALSE, 5);
-
-  title_label = gtk_label_new ("--");
-  gtk_widget_ref (title_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_label", title_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (title_label);
-  gtk_box_pack_start (GTK_BOX (title_box), title_label, FALSE, FALSE, 5);
-
-  title_prev_button = gtk_button_new_with_label (_("Prev"));
-  gtk_widget_ref (title_prev_button);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_prev_button", title_prev_button,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (title_prev_button);
-  gtk_box_pack_start (GTK_BOX (title_box), title_prev_button, FALSE, FALSE, 5);
-  gtk_button_set_relief (GTK_BUTTON (title_prev_button), GTK_RELIEF_NONE);
-
-  title_next_button = gtk_button_new_with_label (_("Next"));
-  gtk_widget_ref (title_next_button);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "title_next_button", title_next_button,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (title_next_button);
-  gtk_box_pack_start (GTK_BOX (title_box), title_next_button, FALSE, FALSE, 5);
-  gtk_button_set_relief (GTK_BUTTON (title_next_button), GTK_RELIEF_NONE);
-
-  dvd_separator = gtk_vseparator_new ();
-  gtk_widget_ref (dvd_separator);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "dvd_separator", dvd_separator,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (dvd_separator);
-  gtk_box_pack_start (GTK_BOX (dvd_box), dvd_separator, TRUE, TRUE, 0);
-
-  chapter_box = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (chapter_box);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_box", chapter_box,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (chapter_box);
-  gtk_box_pack_start (GTK_BOX (dvd_box), chapter_box, TRUE, TRUE, 0);
-
-  chapter = gtk_label_new (_("Chapter:"));
-  gtk_widget_ref (chapter);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter", chapter,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (chapter);
-  gtk_box_pack_start (GTK_BOX (chapter_box), chapter, FALSE, FALSE, 5);
-
-  chapter_label = gtk_label_new ("---");
-  gtk_widget_ref (chapter_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_label", chapter_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (chapter_label);
-  gtk_box_pack_start (GTK_BOX (chapter_box), chapter_label, FALSE, FALSE, 5);
-
-  chapter_prev_button = gtk_button_new_with_label (_("Prev"));
-  gtk_widget_ref (chapter_prev_button);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_prev_button", chapter_prev_button,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (chapter_prev_button);
-  gtk_box_pack_start (GTK_BOX (chapter_box), chapter_prev_button, FALSE, FALSE, 5);
-  gtk_button_set_relief (GTK_BUTTON (chapter_prev_button), GTK_RELIEF_NONE);
-
-  chapter_next_button = gtk_button_new_with_label (_("Next"));
-  gtk_widget_ref (chapter_next_button);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "chapter_next_button", chapter_next_button,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (chapter_next_button);
-  gtk_box_pack_start (GTK_BOX (chapter_box), chapter_next_button, FALSE, FALSE, 5);
-  gtk_button_set_relief (GTK_BUTTON (chapter_next_button), GTK_RELIEF_NONE);
-
-  network_box = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (network_box);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_box", network_box,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_box_pack_start (GTK_BOX (window_vbox), network_box, TRUE, TRUE, 0);
-  gtk_widget_set_usize (network_box, 500, 24);
-
-  network_address_label = gtk_label_new (_("No server"));
-  gtk_widget_ref (network_address_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "network_address_label", network_address_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_address_label);
-  gtk_box_pack_start (GTK_BOX (network_box), network_address_label, TRUE, TRUE, 0);
-
-  intf_statusbar = gtk_statusbar_new ();
-  gtk_widget_ref (intf_statusbar);
-  gtk_object_set_data_full (GTK_OBJECT (intf_window), "intf_statusbar", intf_statusbar,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (intf_statusbar);
-  gtk_box_pack_start (GTK_BOX (window_vbox), intf_statusbar, FALSE, FALSE, 0);
-
-  gtk_signal_connect (GTK_OBJECT (intf_window), "drag_data_received",
-                      GTK_SIGNAL_FUNC (GtkWindowDrag),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (intf_window), "delete_event",
-                      GTK_SIGNAL_FUNC (GtkWindowDelete),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_open), "activate",
-                      GTK_SIGNAL_FUNC (GtkFileOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_disc), "activate",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_network), "activate",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_eject), "activate",
-                      GTK_SIGNAL_FUNC (GtkDiscEject),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_close), "activate",
-                      GTK_SIGNAL_FUNC (GtkClose),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_exit), "activate",
-                      GTK_SIGNAL_FUNC (GtkExit),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_interface_hide), "activate",
-                      GTK_SIGNAL_FUNC (GtkWindowToggle),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_playlist), "activate",
-                      GTK_SIGNAL_FUNC (GtkPlaylistShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_modules), "activate",
-                      GTK_SIGNAL_FUNC (GtkModulesShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_messages), "activate",
-                      GTK_SIGNAL_FUNC (GtkMessagesShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_preferences), "activate",
-                      GTK_SIGNAL_FUNC (GtkPreferencesShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_volume_up), "activate",
-                      GTK_SIGNAL_FUNC (GtkVolumeUp),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_volume_down), "activate",
-                      GTK_SIGNAL_FUNC (GtkVolumeDown),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_volume_mute), "activate",
-                      GTK_SIGNAL_FUNC (GtkVolumeMute),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_fullscreen), "activate",
-                      GTK_SIGNAL_FUNC (GtkFullscreen),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (menubar_about), "activate",
-                      GTK_SIGNAL_FUNC (GtkAboutShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_open), "clicked",
-                      GTK_SIGNAL_FUNC (GtkFileOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_disc), "clicked",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_network), "clicked",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_sat), "clicked",
-                      GTK_SIGNAL_FUNC (GtkSatOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_back), "clicked",
-                      GTK_SIGNAL_FUNC (GtkControlBack),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_stop), "clicked",
-                      GTK_SIGNAL_FUNC (GtkControlStop),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_eject), "clicked",
-                      GTK_SIGNAL_FUNC (GtkDiscEject),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_play), "clicked",
-                      GTK_SIGNAL_FUNC (GtkControlPlay),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_pause), "clicked",
-                      GTK_SIGNAL_FUNC (GtkControlPause),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_slow), "clicked",
-                      GTK_SIGNAL_FUNC (GtkControlSlow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_fast), "clicked",
-                      GTK_SIGNAL_FUNC (GtkControlFast),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "clicked",
-                      GTK_SIGNAL_FUNC (GtkPlaylistShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_prev), "clicked",
-                      GTK_SIGNAL_FUNC (GtkPlaylistPrev),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (toolbar_next), "clicked",
-                      GTK_SIGNAL_FUNC (GtkPlaylistNext),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (slider), "button_release_event",
-                      GTK_SIGNAL_FUNC (GtkSliderRelease),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (slider), "button_press_event",
-                      GTK_SIGNAL_FUNC (GtkSliderPress),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (title_prev_button), "clicked",
-                      GTK_SIGNAL_FUNC (GtkTitlePrev),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (title_next_button), "clicked",
-                      GTK_SIGNAL_FUNC (GtkTitleNext),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (chapter_prev_button), "clicked",
-                      GTK_SIGNAL_FUNC (GtkChapterPrev),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (chapter_next_button), "clicked",
-                      GTK_SIGNAL_FUNC (GtkChapterNext),
-                      NULL);
-
-  gtk_object_set_data (GTK_OBJECT (intf_window), "tooltips", tooltips);
-
-  gtk_window_add_accel_group (GTK_WINDOW (intf_window), accel_group);
-
-  return intf_window;
-}
-
-GtkWidget*
-create_intf_popup (void)
-{
-  GtkWidget *intf_popup;
-  GtkAccelGroup *intf_popup_accels;
-  guint tmp_key;
-  GtkWidget *popup_play;
-  GtkWidget *popup_pause;
-  GtkWidget *popup_stop;
-  GtkWidget *popup_back;
-  GtkWidget *popup_slow;
-  GtkWidget *popup_fast;
-  GtkWidget *separator16;
-  GtkWidget *popup_next;
-  GtkWidget *popup_prev;
-  GtkWidget *popup_jump;
-  GtkWidget *separator27;
-  GtkWidget *popup_program;
-  GtkWidget *popup_navigation;
-  GtkWidget *popup_audio;
-  GtkWidget *popup_audio_menu;
-  GtkAccelGroup *popup_audio_menu_accels;
-  GtkWidget *popup_language;
-  GtkWidget *separator19;
-  GtkWidget *popup_volume_up;
-  GtkWidget *popup_volume_down;
-  GtkWidget *popup_volume_mute;
-  GtkWidget *separator20;
-  GtkWidget *popup_audio_channels;
-  GtkWidget *popup_audio_device;
-  GtkWidget *popup_video;
-  GtkWidget *popup_video_menu;
-  GtkAccelGroup *popup_video_menu_accels;
-  GtkWidget *popup_subpictures;
-  GtkWidget *separator21;
-  GtkWidget *popup_fullscreen;
-  GtkWidget *separator23;
-  GtkWidget *popup_deinterlace;
-  GtkWidget *popup_video_device;
-  GtkWidget *separator26;
-  GtkWidget *popup_open;
-  GtkWidget *popup_open_menu;
-  GtkAccelGroup *popup_open_menu_accels;
-  GtkWidget *popup_file;
-  GtkWidget *popup_disc;
-  GtkWidget *popup_network;
-  GtkWidget *separator12;
-  GtkWidget *popup_about;
-  GtkWidget *popup_interface_toggle;
-  GtkWidget *popup_playlist;
-  GtkWidget *popup_preferences;
-  GtkWidget *separator9;
-  GtkWidget *popup_exit;
-  GtkTooltips *tooltips;
-
-  tooltips = gtk_tooltips_new ();
-
-  intf_popup = gtk_menu_new ();
-  gtk_object_set_data (GTK_OBJECT (intf_popup), "intf_popup", intf_popup);
-  intf_popup_accels = gtk_menu_get_accel_group (GTK_MENU (intf_popup));
-
-  popup_play = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_play)->child),
-                                   _("_Play"));
-  gtk_widget_add_accelerator (popup_play, "activate_item", intf_popup_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (popup_play);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_play", popup_play,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_play);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_play);
-
-  popup_pause = gtk_menu_item_new_with_label (_("Pause"));
-  gtk_widget_ref (popup_pause);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_pause", popup_pause,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_pause);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_pause);
-  gtk_widget_set_sensitive (popup_pause, FALSE);
-
-  popup_stop = gtk_menu_item_new_with_label (_("Stop"));
-  gtk_widget_ref (popup_stop);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_stop", popup_stop,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_stop);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_stop);
-
-  popup_back = gtk_menu_item_new_with_label (_("Back"));
-  gtk_widget_ref (popup_back);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_back", popup_back,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_back);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_back);
-  gtk_widget_set_sensitive (popup_back, FALSE);
-
-  popup_slow = gtk_menu_item_new_with_label (_("Slow"));
-  gtk_widget_ref (popup_slow);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_slow", popup_slow,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_slow);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_slow);
-  gtk_widget_set_sensitive (popup_slow, FALSE);
-
-  popup_fast = gtk_menu_item_new_with_label (_("Fast"));
-  gtk_widget_ref (popup_fast);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fast", popup_fast,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_fast);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_fast);
-  gtk_widget_set_sensitive (popup_fast, FALSE);
-
-  separator16 = gtk_menu_item_new ();
-  gtk_widget_ref (separator16);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator16", separator16,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator16);
-  gtk_container_add (GTK_CONTAINER (intf_popup), separator16);
-  gtk_widget_set_sensitive (separator16, FALSE);
-
-  popup_next = gtk_menu_item_new_with_label (_("Next"));
-  gtk_widget_ref (popup_next);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_next", popup_next,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_next);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_next);
-
-  popup_prev = gtk_menu_item_new_with_label (_("Prev"));
-  gtk_widget_ref (popup_prev);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_prev", popup_prev,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_prev);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_prev);
-
-  popup_jump = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_jump)->child),
-                                   _("_Jump..."));
-  gtk_widget_add_accelerator (popup_jump, "activate_item", intf_popup_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (popup_jump);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_jump", popup_jump,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_jump);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_jump);
-
-  separator27 = gtk_menu_item_new ();
-  gtk_widget_ref (separator27);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator27", separator27,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator27);
-  gtk_container_add (GTK_CONTAINER (intf_popup), separator27);
-  gtk_widget_set_sensitive (separator27, FALSE);
-
-  popup_program = gtk_menu_item_new_with_label (_("Program"));
-  gtk_widget_ref (popup_program);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_program", popup_program,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_program);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_program);
-  gtk_widget_set_sensitive (popup_program, FALSE);
-
-  popup_navigation = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_navigation)->child),
-                                   _("_Navigation"));
-  gtk_widget_add_accelerator (popup_navigation, "activate_item", intf_popup_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (popup_navigation);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_navigation", popup_navigation,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_navigation);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_navigation);
-  gtk_widget_set_sensitive (popup_navigation, FALSE);
-
-  popup_audio = gtk_menu_item_new_with_label (_("Audio"));
-  gtk_widget_ref (popup_audio);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio", popup_audio,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_audio);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_audio);
-
-  popup_audio_menu = gtk_menu_new ();
-  gtk_widget_ref (popup_audio_menu);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio_menu", popup_audio_menu,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (popup_audio), popup_audio_menu);
-  popup_audio_menu_accels = gtk_menu_get_accel_group (GTK_MENU (popup_audio_menu));
-
-  popup_language = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_language)->child),
-                                   _("_Language"));
-  gtk_widget_add_accelerator (popup_language, "activate_item", popup_audio_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (popup_language);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_language", popup_language,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_language);
-  gtk_container_add (GTK_CONTAINER (popup_audio_menu), popup_language);
-  gtk_widget_set_sensitive (popup_language, FALSE);
-
-  separator19 = gtk_menu_item_new ();
-  gtk_widget_ref (separator19);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator19", separator19,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator19);
-  gtk_container_add (GTK_CONTAINER (popup_audio_menu), separator19);
-  gtk_widget_set_sensitive (separator19, FALSE);
-
-  popup_volume_up = gtk_menu_item_new_with_label (_("Volume Up"));
-  gtk_widget_ref (popup_volume_up);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_up", popup_volume_up,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_volume_up);
-  gtk_container_add (GTK_CONTAINER (popup_audio_menu), popup_volume_up);
-
-  popup_volume_down = gtk_menu_item_new_with_label (_("Volume Down"));
-  gtk_widget_ref (popup_volume_down);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_down", popup_volume_down,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_volume_down);
-  gtk_container_add (GTK_CONTAINER (popup_audio_menu), popup_volume_down);
-
-  popup_volume_mute = gtk_menu_item_new_with_label (_("Mute"));
-  gtk_widget_ref (popup_volume_mute);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_volume_mute", popup_volume_mute,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_volume_mute);
-  gtk_container_add (GTK_CONTAINER (popup_audio_menu), popup_volume_mute);
-
-  separator20 = gtk_menu_item_new ();
-  gtk_widget_ref (separator20);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator20", separator20,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator20);
-  gtk_container_add (GTK_CONTAINER (popup_audio_menu), separator20);
-  gtk_widget_set_sensitive (separator20, FALSE);
-
-  popup_audio_channels = gtk_menu_item_new_with_label (_("Channels"));
-  gtk_widget_ref (popup_audio_channels);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio_channels", popup_audio_channels,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_audio_channels);
-  gtk_container_add (GTK_CONTAINER (popup_audio_menu), popup_audio_channels);
-
-  popup_audio_device = gtk_menu_item_new_with_label (_("Device"));
-  gtk_widget_ref (popup_audio_device);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_audio_device", popup_audio_device,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_audio_device);
-  gtk_container_add (GTK_CONTAINER (popup_audio_menu), popup_audio_device);
-
-  popup_video = gtk_menu_item_new_with_label (_("Video"));
-  gtk_widget_ref (popup_video);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_video", popup_video,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_video);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_video);
-
-  popup_video_menu = gtk_menu_new ();
-  gtk_widget_ref (popup_video_menu);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_video_menu", popup_video_menu,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (popup_video), popup_video_menu);
-  popup_video_menu_accels = gtk_menu_get_accel_group (GTK_MENU (popup_video_menu));
-
-  popup_subpictures = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_subpictures)->child),
-                                   _("_Subtitles"));
-  gtk_widget_add_accelerator (popup_subpictures, "activate_item", popup_video_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (popup_subpictures);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_subpictures", popup_subpictures,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_subpictures);
-  gtk_container_add (GTK_CONTAINER (popup_video_menu), popup_subpictures);
-  gtk_widget_set_sensitive (popup_subpictures, FALSE);
-
-  separator21 = gtk_menu_item_new ();
-  gtk_widget_ref (separator21);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator21", separator21,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator21);
-  gtk_container_add (GTK_CONTAINER (popup_video_menu), separator21);
-  gtk_widget_set_sensitive (separator21, FALSE);
-
-  popup_fullscreen = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_fullscreen)->child),
-                                   _("_Fullscreen"));
-  gtk_widget_add_accelerator (popup_fullscreen, "activate_item", popup_video_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (popup_fullscreen);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_fullscreen", popup_fullscreen,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_fullscreen);
-  gtk_container_add (GTK_CONTAINER (popup_video_menu), popup_fullscreen);
-
-  separator23 = gtk_menu_item_new ();
-  gtk_widget_ref (separator23);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator23", separator23,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator23);
-  gtk_container_add (GTK_CONTAINER (popup_video_menu), separator23);
-  gtk_widget_set_sensitive (separator23, FALSE);
-
-  popup_deinterlace = gtk_menu_item_new_with_label (_("Deinterlace"));
-  gtk_widget_ref (popup_deinterlace);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_deinterlace", popup_deinterlace,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_deinterlace);
-  gtk_container_add (GTK_CONTAINER (popup_video_menu), popup_deinterlace);
-
-  popup_video_device = gtk_menu_item_new_with_label (_("Screen"));
-  gtk_widget_ref (popup_video_device);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_video_device", popup_video_device,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_video_device);
-  gtk_container_add (GTK_CONTAINER (popup_video_menu), popup_video_device);
-
-  separator26 = gtk_menu_item_new ();
-  gtk_widget_ref (separator26);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator26", separator26,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator26);
-  gtk_container_add (GTK_CONTAINER (intf_popup), separator26);
-  gtk_widget_set_sensitive (separator26, FALSE);
-
-  popup_open = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_open)->child),
-                                   _("_File"));
-  gtk_widget_add_accelerator (popup_open, "activate_item", intf_popup_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (popup_open);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open", popup_open,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_open);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_open);
-
-  popup_open_menu = gtk_menu_new ();
-  gtk_widget_ref (popup_open_menu);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_open_menu", popup_open_menu,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (popup_open), popup_open_menu);
-  popup_open_menu_accels = gtk_menu_get_accel_group (GTK_MENU (popup_open_menu));
-
-  popup_file = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_file)->child),
-                                   _("_Open File..."));
-  gtk_widget_add_accelerator (popup_file, "activate_item", popup_open_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (popup_file);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_file", popup_file,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_file);
-  gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_file);
-  gtk_tooltips_set_tip (tooltips, popup_file, _("Open a file"), NULL);
-
-  popup_disc = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_disc)->child),
-                                   _("Open _Disc..."));
-  gtk_widget_add_accelerator (popup_disc, "activate_item", popup_open_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (popup_disc);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_disc", popup_disc,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_disc);
-  gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_disc);
-  gtk_tooltips_set_tip (tooltips, popup_disc, _("Open Disc Media"), NULL);
-
-  popup_network = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_network)->child),
-                                   _("_Network Stream..."));
-  gtk_widget_add_accelerator (popup_network, "activate_item", popup_open_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (popup_network);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_network", popup_network,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_network);
-  gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_network);
-  gtk_tooltips_set_tip (tooltips, popup_network, _("Select a network stream"), NULL);
-
-  separator12 = gtk_menu_item_new ();
-  gtk_widget_ref (separator12);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator12", separator12,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator12);
-  gtk_container_add (GTK_CONTAINER (popup_open_menu), separator12);
-  gtk_widget_set_sensitive (separator12, FALSE);
-
-  popup_about = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_about)->child),
-                                   _("_About..."));
-  gtk_widget_add_accelerator (popup_about, "activate_item", popup_open_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (popup_about);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_about", popup_about,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_about);
-  gtk_container_add (GTK_CONTAINER (popup_open_menu), popup_about);
-
-  popup_interface_toggle = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_interface_toggle)->child),
-                                   _("Toggle _Interface"));
-  gtk_widget_add_accelerator (popup_interface_toggle, "activate_item", intf_popup_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (popup_interface_toggle);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_interface_toggle", popup_interface_toggle,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_interface_toggle);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_interface_toggle);
-
-  popup_playlist = gtk_menu_item_new_with_label (_("Playlist..."));
-  gtk_widget_ref (popup_playlist);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_playlist", popup_playlist,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_playlist);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_playlist);
-
-  popup_preferences = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_preferences)->child),
-                                   _("_Preferences..."));
-  gtk_widget_add_accelerator (popup_preferences, "activate_item", intf_popup_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (popup_preferences);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_preferences", popup_preferences,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_preferences);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_preferences);
-
-  separator9 = gtk_menu_item_new ();
-  gtk_widget_ref (separator9);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "separator9", separator9,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (separator9);
-  gtk_container_add (GTK_CONTAINER (intf_popup), separator9);
-  gtk_widget_set_sensitive (separator9, FALSE);
-
-  popup_exit = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (popup_exit)->child),
-                                   _("E_xit"));
-  gtk_widget_add_accelerator (popup_exit, "activate_item", intf_popup_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (popup_exit);
-  gtk_object_set_data_full (GTK_OBJECT (intf_popup), "popup_exit", popup_exit,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (popup_exit);
-  gtk_container_add (GTK_CONTAINER (intf_popup), popup_exit);
-
-  gtk_signal_connect (GTK_OBJECT (popup_play), "activate",
-                      GTK_SIGNAL_FUNC (GtkControlPlay),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_pause), "activate",
-                      GTK_SIGNAL_FUNC (GtkControlPause),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_stop), "activate",
-                      GTK_SIGNAL_FUNC (GtkControlStop),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_back), "activate",
-                      GTK_SIGNAL_FUNC (GtkControlBack),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_slow), "activate",
-                      GTK_SIGNAL_FUNC (GtkControlSlow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_fast), "activate",
-                      GTK_SIGNAL_FUNC (GtkControlFast),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_next), "activate",
-                      GTK_SIGNAL_FUNC (GtkPlaylistNext),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_prev), "activate",
-                      GTK_SIGNAL_FUNC (GtkPlaylistPrev),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_jump), "activate",
-                      GTK_SIGNAL_FUNC (GtkJumpShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_volume_up), "activate",
-                      GTK_SIGNAL_FUNC (GtkVolumeUp),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_volume_down), "activate",
-                      GTK_SIGNAL_FUNC (GtkVolumeDown),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_volume_mute), "activate",
-                      GTK_SIGNAL_FUNC (GtkVolumeMute),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_fullscreen), "activate",
-                      GTK_SIGNAL_FUNC (GtkFullscreen),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_file), "activate",
-                      GTK_SIGNAL_FUNC (GtkFileOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_disc), "activate",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_network), "activate",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_about), "activate",
-                      GTK_SIGNAL_FUNC (GtkAboutShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_interface_toggle), "activate",
-                      GTK_SIGNAL_FUNC (GtkWindowToggle),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_playlist), "activate",
-                      GTK_SIGNAL_FUNC (GtkPlaylistShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_preferences), "activate",
-                      GTK_SIGNAL_FUNC (GtkPreferencesShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (popup_exit), "activate",
-                      GTK_SIGNAL_FUNC (GtkExit),
-                      NULL);
-
-  gtk_object_set_data (GTK_OBJECT (intf_popup), "tooltips", tooltips);
-
-  return intf_popup;
-}
-
-GtkWidget*
-create_intf_about (void)
-{
-  GtkWidget *intf_about;
-  GtkWidget *dialog_vbox1;
-  GtkWidget *vbox3;
-  GtkWidget *label14;
-  GtkWidget *label18;
-  GtkWidget *frame1;
-  GtkWidget *vbox17;
-  GtkWidget *label16;
-  GtkWidget *label39;
-  GtkWidget *label17;
-  GtkWidget *dialog_action_area;
-  GtkWidget *about_ok;
-
-  intf_about = gtk_dialog_new ();
-  gtk_object_set_data (GTK_OBJECT (intf_about), "intf_about", intf_about);
-  gtk_container_set_border_width (GTK_CONTAINER (intf_about), 5);
-  gtk_window_set_title (GTK_WINDOW (intf_about), _("About"));
-  gtk_window_set_position (GTK_WINDOW (intf_about), GTK_WIN_POS_CENTER);
-  gtk_window_set_policy (GTK_WINDOW (intf_about), FALSE, FALSE, FALSE);
-
-  dialog_vbox1 = GTK_DIALOG (intf_about)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_about), "dialog_vbox1", dialog_vbox1);
-  gtk_widget_show (dialog_vbox1);
-
-  vbox3 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_ref (vbox3);
-  gtk_object_set_data_full (GTK_OBJECT (intf_about), "vbox3", vbox3,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox3);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox3, TRUE, TRUE, 0);
-
-  label14 = gtk_label_new (_("VLC media player"));
-  gtk_widget_ref (label14);
-  gtk_object_set_data_full (GTK_OBJECT (intf_about), "label14", label14,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label14);
-  gtk_box_pack_start (GTK_BOX (vbox3), label14, TRUE, TRUE, 0);
-  gtk_misc_set_padding (GTK_MISC (label14), 0, 10);
-
-  label18 = gtk_label_new (_("(c) 1996-2004 the VideoLAN team"));
-  gtk_widget_ref (label18);
-  gtk_object_set_data_full (GTK_OBJECT (intf_about), "label18", label18,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label18);
-  gtk_box_pack_start (GTK_BOX (vbox3), label18, FALSE, FALSE, 0);
-  gtk_label_set_justify (GTK_LABEL (label18), GTK_JUSTIFY_LEFT);
-  gtk_misc_set_padding (GTK_MISC (label18), 0, 5);
-
-  frame1 = gtk_frame_new (_("Authors"));
-  gtk_widget_ref (frame1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_about), "frame1", frame1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame1);
-  gtk_box_pack_start (GTK_BOX (vbox3), frame1, FALSE, FALSE, 0);
-
-  vbox17 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_ref (vbox17);
-  gtk_object_set_data_full (GTK_OBJECT (intf_about), "vbox17", vbox17,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox17);
-  gtk_container_add (GTK_CONTAINER (frame1), vbox17);
-
-  label16 = gtk_label_new (_("the VideoLAN team <videolan@videolan.org>"));
-  gtk_widget_ref (label16);
-  gtk_object_set_data_full (GTK_OBJECT (intf_about), "label16", label16,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label16);
-  gtk_box_pack_start (GTK_BOX (vbox17), label16, FALSE, FALSE, 0);
-  gtk_label_set_justify (GTK_LABEL (label16), GTK_JUSTIFY_LEFT);
-  gtk_misc_set_alignment (GTK_MISC (label16), 0.5, 0);
-  gtk_misc_set_padding (GTK_MISC (label16), 5, 0);
-
-  label39 = gtk_label_new ("http://www.videolan.org/");
-  gtk_widget_ref (label39);
-  gtk_object_set_data_full (GTK_OBJECT (intf_about), "label39", label39,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label39);
-  gtk_box_pack_start (GTK_BOX (vbox17), label39, FALSE, FALSE, 0);
-  gtk_label_set_justify (GTK_LABEL (label39), GTK_JUSTIFY_LEFT);
-  gtk_misc_set_alignment (GTK_MISC (label39), 0.5, 0);
-  gtk_misc_set_padding (GTK_MISC (label39), 5, 0);
-
-  label17 = gtk_label_new (_("This is the VLC media player, a DVD, MPEG and DivX player. It can play MPEG and MPEG2 files from a file or from a network source."));
-  gtk_widget_ref (label17);
-  gtk_object_set_data_full (GTK_OBJECT (intf_about), "label17", label17,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label17);
-  gtk_box_pack_start (GTK_BOX (vbox3), label17, FALSE, FALSE, 0);
-  gtk_label_set_justify (GTK_LABEL (label17), GTK_JUSTIFY_LEFT);
-  gtk_label_set_line_wrap (GTK_LABEL (label17), TRUE);
-  gtk_misc_set_padding (GTK_MISC (label17), 0, 5);
-
-  dialog_action_area = GTK_DIALOG (intf_about)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_about), "dialog_action_area", dialog_action_area);
-  gtk_widget_show (dialog_action_area);
-  gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area), 10);
-
-  about_ok = gtk_button_new_with_label (_("OK"));
-  gtk_widget_ref (about_ok);
-  gtk_object_set_data_full (GTK_OBJECT (intf_about), "about_ok", about_ok,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (about_ok);
-  gtk_box_pack_start (GTK_BOX (dialog_action_area), about_ok, FALSE, TRUE, 0);
-  GTK_WIDGET_SET_FLAGS (about_ok, GTK_CAN_DEFAULT);
-
-  gtk_signal_connect (GTK_OBJECT (about_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkAboutOk),
-                      NULL);
-
-  gtk_widget_grab_default (about_ok);
-  return intf_about;
-}
-
-GtkWidget*
-create_intf_open (void)
-{
-  GtkWidget *intf_open;
-  GtkWidget *dialog_vbox7;
-  GtkWidget *open_vbox;
-  GtkWidget *frame10;
-  GtkWidget *hbox21;
-  GtkWidget *hbox22;
-  GtkWidget *label34;
-  GtkWidget *combo2;
-  GtkWidget *entry_open;
-  GtkWidget *label36;
-  GtkWidget *open_notebook;
-  GtkWidget *hbox20;
-  GtkWidget *combo1;
-  GtkWidget *entry_file;
-  GtkWidget *vbox13;
-  GtkWidget *open_browse;
-  GtkWidget *open_file;
-  GtkWidget *table5;
-  GtkWidget *label35;
-  GtkWidget *hbox24;
-  GSList *disc_group = NULL;
-  GtkWidget *disc_dvd;
-  GtkWidget *disc_vcd;
-  GtkWidget *disc_cdda;
-  GtkWidget *label19;
-  GtkWidget *disc_chapter_label;
-  GtkWidget *disc_title_label;
-  GtkWidget *disc_name;
-  GtkObject *disc_title_adj;
-  GtkWidget *disc_title;
-  GtkObject *disc_chapter_adj;
-  GtkWidget *disc_chapter;
-  GtkWidget *disc_dvd_use_menu;
-  GtkWidget *open_disc;
-  GtkWidget *table4;
-  GSList *table4_group = NULL;
-  GtkWidget *network_udp;
-  GtkWidget *network_multicast;
-  GtkWidget *network_http;
-  GtkWidget *network_udp_port_label;
-  GtkWidget *network_multicast_address_label;
-  GtkWidget *network_http_url_label;
-  GtkWidget *network_multicast_address_combo;
-  GtkWidget *network_multicast_address;
-  GtkWidget *network_multicast_port_label;
-  GtkObject *network_multicast_port_adj;
-  GtkWidget *network_multicast_port;
-  GtkWidget *network_http_url;
-  GtkObject *network_udp_port_adj;
-  GtkWidget *network_udp_port;
-  GtkWidget *open_net;
-  GtkWidget *table3;
-  GtkWidget *label24;
-  GtkWidget *label25;
-  GtkWidget *label26;
-  GtkObject *sat_freq_adj;
-  GtkWidget *sat_freq;
-  GtkWidget *label27;
-  GtkWidget *hbox23;
-  GSList *pol_group = NULL;
-  GtkWidget *sat_pol_vert;
-  GtkWidget *sat_pol_hor;
-  GtkObject *sat_srate_adj;
-  GtkWidget *sat_srate;
-  GtkWidget *sat_fec;
-  GList *sat_fec_items = NULL;
-  GtkWidget *combo_entry1;
-  GtkWidget *open_sat;
-  GtkWidget *show_subtitle;
-  GtkWidget *hbox_subtitle;
-  GtkWidget *combo3;
-  GtkWidget *entry_subtitle;
-  GtkWidget *vbox14;
-  GtkWidget *open_browse_subtitle;
-  GtkWidget *label37;
-  GtkObject *subtitle_delay_adj;
-  GtkWidget *subtitle_delay;
-  GtkWidget *label3;
-  GtkObject *subtitle_fps_adj;
-  GtkWidget *subtitle_fps;
-  GtkWidget *hbox30;
-  GtkWidget *show_sout_settings;
-  GtkWidget *sout_settings;
-  GtkWidget *dialog_action_area6;
-  GtkWidget *hbox18;
-  GtkWidget *hbox19;
-  GtkWidget *open_ok;
-  GtkWidget *open_cancel;
-  GtkAccelGroup *accel_group;
-  GtkTooltips *tooltips;
-
-  tooltips = gtk_tooltips_new ();
-
-  accel_group = gtk_accel_group_new ();
-
-  intf_open = gtk_dialog_new ();
-  gtk_object_set_data (GTK_OBJECT (intf_open), "intf_open", intf_open);
-  gtk_container_set_border_width (GTK_CONTAINER (intf_open), 5);
-  gtk_window_set_title (GTK_WINDOW (intf_open), _("Open Target"));
-  gtk_window_set_policy (GTK_WINDOW (intf_open), FALSE, TRUE, TRUE);
-
-  dialog_vbox7 = GTK_DIALOG (intf_open)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_vbox7", dialog_vbox7);
-  gtk_widget_show (dialog_vbox7);
-
-  open_vbox = gtk_vbox_new (FALSE, 5);
-  gtk_widget_ref (open_vbox);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_vbox", open_vbox,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_vbox);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox7), open_vbox, TRUE, TRUE, 0);
-
-  frame10 = gtk_frame_new ("Media Resource Locator (MRL)");
-  gtk_widget_ref (frame10);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame10", frame10,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame10);
-  gtk_box_pack_start (GTK_BOX (open_vbox), frame10, FALSE, TRUE, 0);
-
-  hbox21 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox21);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox21", hbox21,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox21);
-  gtk_container_add (GTK_CONTAINER (frame10), hbox21);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox21), 5);
-
-  hbox22 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox22);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox22", hbox22,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox22);
-  gtk_box_pack_start (GTK_BOX (hbox21), hbox22, FALSE, TRUE, 0);
-
-  label34 = gtk_label_new (_("Open Target:"));
-  gtk_widget_ref (label34);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label34", label34,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label34);
-  gtk_box_pack_start (GTK_BOX (hbox22), label34, FALSE, FALSE, 0);
-
-  combo2 = gtk_combo_new ();
-  gtk_widget_ref (combo2);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo2", combo2,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo2);
-  gtk_box_pack_start (GTK_BOX (hbox21), combo2, TRUE, TRUE, 0);
-
-  entry_open = GTK_COMBO (combo2)->entry;
-  gtk_widget_ref (entry_open);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_open", entry_open,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (entry_open);
-
-  label36 = gtk_label_new (_("Alternatively, you can build an MRL using one of the following predefined targets:"));
-  gtk_widget_ref (label36);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label36", label36,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label36);
-  gtk_box_pack_start (GTK_BOX (open_vbox), label36, TRUE, TRUE, 0);
-  gtk_label_set_justify (GTK_LABEL (label36), GTK_JUSTIFY_LEFT);
-  gtk_misc_set_alignment (GTK_MISC (label36), 0, 1);
-
-  open_notebook = gtk_notebook_new ();
-  gtk_widget_ref (open_notebook);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_notebook", open_notebook,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_notebook);
-  gtk_box_pack_start (GTK_BOX (open_vbox), open_notebook, TRUE, TRUE, 0);
-
-  hbox20 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox20);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox20", hbox20,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox20);
-  gtk_container_add (GTK_CONTAINER (open_notebook), hbox20);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox20), 5);
-
-  combo1 = gtk_combo_new ();
-  gtk_widget_ref (combo1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo1", combo1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo1);
-  gtk_box_pack_start (GTK_BOX (hbox20), combo1, FALSE, TRUE, 0);
-
-  entry_file = GTK_COMBO (combo1)->entry;
-  gtk_widget_ref (entry_file);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_file", entry_file,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (entry_file);
-
-  vbox13 = gtk_vbox_new (TRUE, 0);
-  gtk_widget_ref (vbox13);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox13", vbox13,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox13);
-  gtk_box_pack_start (GTK_BOX (hbox20), vbox13, FALSE, FALSE, 0);
-
-  open_browse = gtk_button_new_with_label (_("Browse..."));
-  gtk_widget_ref (open_browse);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_browse", open_browse,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_browse);
-  gtk_box_pack_start (GTK_BOX (vbox13), open_browse, FALSE, FALSE, 0);
-
-  open_file = gtk_label_new (_("File"));
-  gtk_widget_ref (open_file);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_file", open_file,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_file);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 0), open_file);
-
-  table5 = gtk_table_new (5, 2, FALSE);
-  gtk_widget_ref (table5);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "table5", table5,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (table5);
-  gtk_container_add (GTK_CONTAINER (open_notebook), table5);
-  gtk_container_set_border_width (GTK_CONTAINER (table5), 5);
-  gtk_table_set_row_spacings (GTK_TABLE (table5), 5);
-  gtk_table_set_col_spacings (GTK_TABLE (table5), 5);
-
-  label35 = gtk_label_new (_("Disc type"));
-  gtk_widget_ref (label35);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label35", label35,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label35);
-  gtk_table_attach (GTK_TABLE (table5), label35, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label35), 0, 0.5);
-
-  hbox24 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox24);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox24", hbox24,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox24);
-  gtk_table_attach (GTK_TABLE (table5), hbox24, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  disc_dvd = gtk_radio_button_new_with_label (disc_group, _("DVD"));
-  disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_dvd));
-  gtk_widget_ref (disc_dvd);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_dvd", disc_dvd,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_dvd);
-  gtk_box_pack_start (GTK_BOX (hbox24), disc_dvd, FALSE, FALSE, 0);
-
-  disc_vcd = gtk_radio_button_new_with_label (disc_group, _("VCD"));
-  disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_vcd));
-  gtk_widget_ref (disc_vcd);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_vcd", disc_vcd,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_vcd);
-  gtk_box_pack_start (GTK_BOX (hbox24), disc_vcd, FALSE, FALSE, 0);
-
-  disc_cdda = gtk_radio_button_new_with_label (disc_group, _("Audio CD"));
-  disc_group = gtk_radio_button_group (GTK_RADIO_BUTTON (disc_cdda));
-  gtk_widget_ref (disc_cdda);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_cdda", disc_cdda,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_cdda);
-  gtk_box_pack_start (GTK_BOX (hbox24), disc_cdda, FALSE, FALSE, 0);
-
-  label19 = gtk_label_new (_("Device name"));
-  gtk_widget_ref (label19);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label19", label19,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label19);
-  gtk_table_attach (GTK_TABLE (table5), label19, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label19), 0, 0.5);
-
-  disc_chapter_label = gtk_label_new (_("Chapter"));
-  gtk_widget_ref (disc_chapter_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_chapter_label", disc_chapter_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_chapter_label);
-  gtk_table_attach (GTK_TABLE (table5), disc_chapter_label, 0, 1, 4, 5,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (disc_chapter_label), 0, 0.5);
-
-  disc_title_label = gtk_label_new (_("Title"));
-  gtk_widget_ref (disc_title_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_title_label", disc_title_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_title_label);
-  gtk_table_attach (GTK_TABLE (table5), disc_title_label, 0, 1, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (disc_title_label), 0, 0.5);
-
-  disc_name = gtk_entry_new ();
-  gtk_widget_ref (disc_name);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_name", disc_name,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_name);
-  gtk_table_attach (GTK_TABLE (table5), disc_name, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_entry_set_text (GTK_ENTRY (disc_name), "/dev/dvd");
-
-  disc_title_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
-  disc_title = gtk_spin_button_new (GTK_ADJUSTMENT (disc_title_adj), 1, 0);
-  gtk_widget_ref (disc_title);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_title", disc_title,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_title);
-  gtk_table_attach (GTK_TABLE (table5), disc_title, 1, 2, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  disc_chapter_adj = gtk_adjustment_new (1, 1, 65536, 1, 10, 10);
-  disc_chapter = gtk_spin_button_new (GTK_ADJUSTMENT (disc_chapter_adj), 1, 0);
-  gtk_widget_ref (disc_chapter);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_chapter", disc_chapter,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_chapter);
-  gtk_table_attach (GTK_TABLE (table5), disc_chapter, 1, 2, 4, 5,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  disc_dvd_use_menu = gtk_check_button_new_with_label (_("Use DVD menus"));
-  gtk_widget_ref (disc_dvd_use_menu);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "disc_dvd_use_menu", disc_dvd_use_menu,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_dvd_use_menu);
-  gtk_table_attach (GTK_TABLE (table5), disc_dvd_use_menu, 1, 2, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  open_disc = gtk_label_new (_("Disc"));
-  gtk_widget_ref (open_disc);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_disc", open_disc,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_disc);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 1), open_disc);
-
-  table4 = gtk_table_new (3, 6, FALSE);
-  gtk_widget_ref (table4);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "table4", table4,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (table4);
-  gtk_container_add (GTK_CONTAINER (open_notebook), table4);
-  gtk_container_set_border_width (GTK_CONTAINER (table4), 5);
-  gtk_table_set_row_spacings (GTK_TABLE (table4), 5);
-  gtk_table_set_col_spacings (GTK_TABLE (table4), 5);
-
-  network_udp = gtk_radio_button_new_with_label (table4_group, _("UDP/RTP"));
-  table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_udp));
-  gtk_widget_ref (network_udp);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp", network_udp,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_udp);
-  gtk_table_attach (GTK_TABLE (table4), network_udp, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  network_multicast = gtk_radio_button_new_with_label (table4_group, _("UDP/RTP Multicast"));
-  table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_multicast));
-  gtk_widget_ref (network_multicast);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast", network_multicast,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_multicast);
-  gtk_table_attach (GTK_TABLE (table4), network_multicast, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  network_http = gtk_radio_button_new_with_label (table4_group, _("HTTP/FTP/MMS"));
-  table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_http));
-  gtk_widget_ref (network_http);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http", network_http,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_http);
-  gtk_table_attach (GTK_TABLE (table4), network_http, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  network_udp_port_label = gtk_label_new (_("Port"));
-  gtk_widget_ref (network_udp_port_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp_port_label", network_udp_port_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_udp_port_label);
-  gtk_table_attach (GTK_TABLE (table4), network_udp_port_label, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (network_udp_port_label), 1, 0.5);
-
-  network_multicast_address_label = gtk_label_new (_("Address"));
-  gtk_widget_ref (network_multicast_address_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address_label", network_multicast_address_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_multicast_address_label);
-  gtk_table_attach (GTK_TABLE (table4), network_multicast_address_label, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_sensitive (network_multicast_address_label, FALSE);
-  gtk_label_set_justify (GTK_LABEL (network_multicast_address_label), GTK_JUSTIFY_RIGHT);
-  gtk_misc_set_alignment (GTK_MISC (network_multicast_address_label), 1, 0.5);
-
-  network_http_url_label = gtk_label_new (_("URL"));
-  gtk_widget_ref (network_http_url_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http_url_label", network_http_url_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_http_url_label);
-  gtk_table_attach (GTK_TABLE (table4), network_http_url_label, 1, 2, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_sensitive (network_http_url_label, FALSE);
-  gtk_misc_set_alignment (GTK_MISC (network_http_url_label), 1, 0.5);
-
-  network_multicast_address_combo = gtk_combo_new ();
-  gtk_widget_ref (network_multicast_address_combo);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address_combo", network_multicast_address_combo,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_multicast_address_combo);
-  gtk_table_attach (GTK_TABLE (table4), network_multicast_address_combo, 2, 4, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_sensitive (network_multicast_address_combo, FALSE);
-
-  network_multicast_address = GTK_COMBO (network_multicast_address_combo)->entry;
-  gtk_widget_ref (network_multicast_address);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_address", network_multicast_address,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_multicast_address);
-
-  network_multicast_port_label = gtk_label_new (_("Port"));
-  gtk_widget_ref (network_multicast_port_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_port_label", network_multicast_port_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_multicast_port_label);
-  gtk_table_attach (GTK_TABLE (table4), network_multicast_port_label, 4, 5, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_sensitive (network_multicast_port_label, FALSE);
-  gtk_misc_set_alignment (GTK_MISC (network_multicast_port_label), 1, 0.5);
-
-  network_multicast_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
-  network_multicast_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_multicast_port_adj), 1, 0);
-  gtk_widget_ref (network_multicast_port);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_multicast_port", network_multicast_port,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_multicast_port);
-  gtk_table_attach (GTK_TABLE (table4), network_multicast_port, 5, 6, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_usize (network_multicast_port, 75, -2);
-  gtk_widget_set_sensitive (network_multicast_port, FALSE);
-
-  network_http_url = gtk_entry_new ();
-  gtk_widget_ref (network_http_url);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_http_url", network_http_url,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_http_url);
-  gtk_table_attach (GTK_TABLE (table4), network_http_url, 2, 6, 2, 3,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_sensitive (network_http_url, FALSE);
-
-  network_udp_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
-  network_udp_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_udp_port_adj), 1, 0);
-  gtk_widget_ref (network_udp_port);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_udp_port", network_udp_port,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_udp_port);
-  gtk_table_attach (GTK_TABLE (table4), network_udp_port, 2, 3, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_usize (network_udp_port, 1, -2);
-
-  open_net = gtk_label_new (_("Network"));
-  gtk_widget_ref (open_net);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_net", open_net,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_net);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 2), open_net);
-
-  table3 = gtk_table_new (4, 2, FALSE);
-  gtk_widget_ref (table3);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "table3", table3,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (table3);
-  gtk_container_add (GTK_CONTAINER (open_notebook), table3);
-  gtk_container_set_border_width (GTK_CONTAINER (table3), 5);
-  gtk_table_set_row_spacings (GTK_TABLE (table3), 5);
-  gtk_table_set_col_spacings (GTK_TABLE (table3), 5);
-
-  label24 = gtk_label_new (_("Symbol Rate"));
-  gtk_widget_ref (label24);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label24", label24,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label24);
-  gtk_table_attach (GTK_TABLE (table3), label24, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
-
-  label25 = gtk_label_new (_("Frequency"));
-  gtk_widget_ref (label25);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label25", label25,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label25);
-  gtk_table_attach (GTK_TABLE (table3), label25, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
-
-  label26 = gtk_label_new (_("Polarization"));
-  gtk_widget_ref (label26);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label26", label26,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label26);
-  gtk_table_attach (GTK_TABLE (table3), label26, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
-
-  sat_freq_adj = gtk_adjustment_new (1.1954e+07, 1e+07, 1.2999e+07, 1, 10, 10);
-  sat_freq = gtk_spin_button_new (GTK_ADJUSTMENT (sat_freq_adj), 1, 0);
-  gtk_widget_ref (sat_freq);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_freq", sat_freq,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_freq);
-  gtk_table_attach (GTK_TABLE (table3), sat_freq, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  label27 = gtk_label_new (_("FEC"));
-  gtk_widget_ref (label27);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label27", label27,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label27);
-  gtk_table_attach (GTK_TABLE (table3), label27, 0, 1, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5);
-
-  hbox23 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox23);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox23", hbox23,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox23);
-  gtk_table_attach (GTK_TABLE (table3), hbox23, 1, 2, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  sat_pol_vert = gtk_radio_button_new_with_label (pol_group, _("Vertical"));
-  pol_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sat_pol_vert));
-  gtk_widget_ref (sat_pol_vert);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_pol_vert", sat_pol_vert,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_pol_vert);
-  gtk_box_pack_start (GTK_BOX (hbox23), sat_pol_vert, FALSE, FALSE, 0);
-
-  sat_pol_hor = gtk_radio_button_new_with_label (pol_group, _("Horizontal"));
-  pol_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sat_pol_hor));
-  gtk_widget_ref (sat_pol_hor);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_pol_hor", sat_pol_hor,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_pol_hor);
-  gtk_box_pack_start (GTK_BOX (hbox23), sat_pol_hor, FALSE, FALSE, 0);
-
-  sat_srate_adj = gtk_adjustment_new (2.75e+07, 1e+06, 3e+07, 1, 10, 10);
-  sat_srate = gtk_spin_button_new (GTK_ADJUSTMENT (sat_srate_adj), 1, 0);
-  gtk_widget_ref (sat_srate);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_srate", sat_srate,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_srate);
-  gtk_table_attach (GTK_TABLE (table3), sat_srate, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  sat_fec = gtk_combo_new ();
-  gtk_widget_ref (sat_fec);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "sat_fec", sat_fec,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_fec);
-  gtk_table_attach (GTK_TABLE (table3), sat_fec, 1, 2, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  sat_fec_items = g_list_append (sat_fec_items, (gpointer) "1/2");
-  sat_fec_items = g_list_append (sat_fec_items, (gpointer) "2/3");
-  sat_fec_items = g_list_append (sat_fec_items, (gpointer) "3/4");
-  sat_fec_items = g_list_append (sat_fec_items, (gpointer) "4/5");
-  sat_fec_items = g_list_append (sat_fec_items, (gpointer) "5/6");
-  sat_fec_items = g_list_append (sat_fec_items, (gpointer) "7/8");
-  gtk_combo_set_popdown_strings (GTK_COMBO (sat_fec), sat_fec_items);
-  g_list_free (sat_fec_items);
-
-  combo_entry1 = GTK_COMBO (sat_fec)->entry;
-  gtk_widget_ref (combo_entry1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo_entry1", combo_entry1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo_entry1);
-  gtk_entry_set_text (GTK_ENTRY (combo_entry1), "3/4");
-
-  open_sat = gtk_label_new (_("Satellite"));
-  gtk_widget_ref (open_sat);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_sat", open_sat,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_sat);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (open_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (open_notebook), 3), open_sat);
-
-  show_subtitle = gtk_check_button_new_with_label (_("Subtitle"));
-  gtk_widget_ref (show_subtitle);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "show_subtitle", show_subtitle,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (show_subtitle);
-  gtk_box_pack_start (GTK_BOX (open_vbox), show_subtitle, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, show_subtitle, _("Use a subtitles file"), NULL);
-
-  hbox_subtitle = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox_subtitle);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox_subtitle", hbox_subtitle,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox_subtitle);
-  gtk_box_pack_start (GTK_BOX (open_vbox), hbox_subtitle, TRUE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox_subtitle), 5);
-
-  combo3 = gtk_combo_new ();
-  gtk_widget_ref (combo3);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo3", combo3,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo3);
-  gtk_box_pack_start (GTK_BOX (hbox_subtitle), combo3, FALSE, TRUE, 0);
-
-  entry_subtitle = GTK_COMBO (combo3)->entry;
-  gtk_widget_ref (entry_subtitle);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry_subtitle", entry_subtitle,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (entry_subtitle);
-  gtk_tooltips_set_tip (tooltips, entry_subtitle, _("Select a subtitles file"), NULL);
-
-  vbox14 = gtk_vbox_new (TRUE, 0);
-  gtk_widget_ref (vbox14);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox14", vbox14,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox14);
-  gtk_box_pack_start (GTK_BOX (hbox_subtitle), vbox14, FALSE, FALSE, 0);
-
-  open_browse_subtitle = gtk_button_new_with_label (_("Browse..."));
-  gtk_widget_ref (open_browse_subtitle);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_browse_subtitle", open_browse_subtitle,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_browse_subtitle);
-  gtk_box_pack_start (GTK_BOX (vbox14), open_browse_subtitle, FALSE, FALSE, 0);
-
-  label37 = gtk_label_new (_("delay"));
-  gtk_widget_ref (label37);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label37", label37,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label37);
-  gtk_box_pack_start (GTK_BOX (hbox_subtitle), label37, TRUE, TRUE, 0);
-
-  subtitle_delay_adj = gtk_adjustment_new (0, -1000, 1000, 0.1, 10, 10);
-  subtitle_delay = gtk_spin_button_new (GTK_ADJUSTMENT (subtitle_delay_adj), 1, 1);
-  gtk_widget_ref (subtitle_delay);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "subtitle_delay", subtitle_delay,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (subtitle_delay);
-  gtk_box_pack_start (GTK_BOX (hbox_subtitle), subtitle_delay, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, subtitle_delay, _("Set the delay (in seconds)"), NULL);
-
-  label3 = gtk_label_new (_("fps"));
-  gtk_widget_ref (label3);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label3", label3,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label3);
-  gtk_box_pack_start (GTK_BOX (hbox_subtitle), label3, TRUE, TRUE, 0);
-
-  subtitle_fps_adj = gtk_adjustment_new (0, 0, 100, 0.1, 10, 10);
-  subtitle_fps = gtk_spin_button_new (GTK_ADJUSTMENT (subtitle_fps_adj), 1, 1);
-  gtk_widget_ref (subtitle_fps);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "subtitle_fps", subtitle_fps,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (subtitle_fps);
-  gtk_box_pack_start (GTK_BOX (hbox_subtitle), subtitle_fps, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, subtitle_fps, _("Set the number of Frames Per Second"), NULL);
-
-  hbox30 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox30);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox30", hbox30,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox30);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox7), hbox30, FALSE, FALSE, 3);
-
-  show_sout_settings = gtk_check_button_new_with_label (_("Stream output"));
-  gtk_widget_ref (show_sout_settings);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "show_sout_settings", show_sout_settings,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (show_sout_settings);
-  gtk_box_pack_start (GTK_BOX (hbox30), show_sout_settings, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, show_sout_settings, _("Use stream output"), NULL);
-
-  sout_settings = gtk_button_new_with_label (_("Settings..."));
-  gtk_widget_ref (sout_settings);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "sout_settings", sout_settings,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_settings);
-  gtk_box_pack_start (GTK_BOX (hbox30), sout_settings, FALSE, FALSE, 20);
-  gtk_tooltips_set_tip (tooltips, sout_settings, _("Stream output configuration "), NULL);
-
-  dialog_action_area6 = GTK_DIALOG (intf_open)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_action_area6", dialog_action_area6);
-  gtk_widget_show (dialog_action_area6);
-  gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area6), 5);
-
-  hbox18 = gtk_hbox_new (TRUE, 5);
-  gtk_widget_ref (hbox18);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox18", hbox18,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox18);
-  gtk_box_pack_start (GTK_BOX (dialog_action_area6), hbox18, TRUE, TRUE, 0);
-
-  hbox19 = gtk_hbox_new (TRUE, 5);
-  gtk_widget_ref (hbox19);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox19", hbox19,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox19);
-  gtk_box_pack_end (GTK_BOX (hbox18), hbox19, FALSE, TRUE, 0);
-
-  open_ok = gtk_button_new_with_label (_("OK"));
-  gtk_widget_ref (open_ok);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_ok", open_ok,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_ok);
-  gtk_box_pack_start (GTK_BOX (hbox19), open_ok, FALSE, TRUE, 0);
-
-  open_cancel = gtk_button_new_with_label (_("Cancel"));
-  gtk_widget_ref (open_cancel);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "open_cancel", open_cancel,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (open_cancel);
-  gtk_box_pack_start (GTK_BOX (hbox19), open_cancel, FALSE, TRUE, 0);
-  gtk_widget_add_accelerator (open_cancel, "clicked", accel_group,
-                              GDK_Escape, 0,
-                              GTK_ACCEL_VISIBLE);
-
-  gtk_signal_connect (GTK_OBJECT (intf_open), "delete_event",
-                      GTK_SIGNAL_FUNC (gtk_widget_hide),
-                      NULL);
-  gtk_signal_connect_after (GTK_OBJECT (open_notebook), "switch_page",
-                            GTK_SIGNAL_FUNC (GtkOpenNotebookChanged),
-                            NULL);
-  gtk_signal_connect (GTK_OBJECT (entry_file), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (open_browse), "clicked",
-                      GTK_SIGNAL_FUNC (GtkFileShow),
-                      "entry_file");
-  gtk_signal_connect (GTK_OBJECT (disc_dvd), "toggled",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenDvd),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (disc_vcd), "toggled",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenVcd),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (disc_cdda), "toggled",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenCDDA),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (disc_name), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (disc_title), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (disc_chapter), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (disc_dvd_use_menu), "toggled",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_udp), "toggled",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenUDP),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_multicast), "toggled",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenMulticast),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_http), "toggled",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenHTTP),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_multicast_address), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_multicast_port), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_http_url), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (network_udp_port), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sat_freq), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sat_pol_vert), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSatOpenToggle),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sat_pol_hor), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSatOpenToggle),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sat_srate), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (combo_entry1), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (show_subtitle), "clicked",
-                      GTK_SIGNAL_FUNC (GtkOpenSubtitleShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (entry_subtitle), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (open_browse_subtitle), "clicked",
-                      GTK_SIGNAL_FUNC (GtkFileShow),
-                      "entry_subtitle");
-  gtk_signal_connect (GTK_OBJECT (subtitle_delay), "changed",
-                      GTK_SIGNAL_FUNC (GtkOpenChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (show_sout_settings), "clicked",
-                      GTK_SIGNAL_FUNC (GtkOpenSoutShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_settings), "clicked",
-                      GTK_SIGNAL_FUNC (GtkSoutSettings),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (open_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkOpenOk),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (open_cancel), "clicked",
-                      GTK_SIGNAL_FUNC (GtkOpenCancel),
-                      NULL);
-
-  gtk_object_set_data (GTK_OBJECT (intf_open), "tooltips", tooltips);
-
-  gtk_window_add_accel_group (GTK_WINDOW (intf_open), accel_group);
-
-  return intf_open;
-}
-
-GtkWidget*
-create_intf_file (void)
-{
-  GtkWidget *intf_file;
-  GtkWidget *file_ok;
-  GtkWidget *file_cancel;
-
-  intf_file = gtk_file_selection_new (_("Select File"));
-  gtk_object_set_data (GTK_OBJECT (intf_file), "intf_file", intf_file);
-  gtk_container_set_border_width (GTK_CONTAINER (intf_file), 10);
-  gtk_window_set_modal (GTK_WINDOW (intf_file), TRUE);
-
-  file_ok = GTK_FILE_SELECTION (intf_file)->ok_button;
-  gtk_object_set_data (GTK_OBJECT (intf_file), "file_ok", file_ok);
-  gtk_widget_show (file_ok);
-  GTK_WIDGET_SET_FLAGS (file_ok, GTK_CAN_DEFAULT);
-
-  file_cancel = GTK_FILE_SELECTION (intf_file)->cancel_button;
-  gtk_object_set_data (GTK_OBJECT (intf_file), "file_cancel", file_cancel);
-  gtk_widget_show (file_cancel);
-  GTK_WIDGET_SET_FLAGS (file_cancel, GTK_CAN_DEFAULT);
-
-  gtk_signal_connect (GTK_OBJECT (file_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkFileOk),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (file_cancel), "clicked",
-                      GTK_SIGNAL_FUNC (GtkFileCancel),
-                      NULL);
-
-  return intf_file;
-}
-
-GtkWidget*
-create_intf_jump (void)
-{
-  GtkWidget *intf_jump;
-  GtkWidget *dialog_vbox3;
-  GtkWidget *jump_frame;
-  GtkWidget *hbox13;
-  GtkWidget *jump_second_label;
-  GtkObject *jump_second_spinbutton_adj;
-  GtkWidget *jump_second_spinbutton;
-  GtkWidget *jump_minute_label;
-  GtkObject *jump_minute_spinbutton_adj;
-  GtkWidget *jump_minute_spinbutton;
-  GtkWidget *jump_hour_label;
-  GtkObject *jump_hour_spinbutton_adj;
-  GtkWidget *jump_hour_spinbutton;
-  GtkWidget *dialog_action_area2;
-  GtkWidget *jump_ok_button;
-  GtkWidget *jump_cancel_button;
-
-  intf_jump = gtk_dialog_new ();
-  gtk_object_set_data (GTK_OBJECT (intf_jump), "intf_jump", intf_jump);
-  gtk_window_set_title (GTK_WINDOW (intf_jump), _("Jump"));
-  gtk_window_set_policy (GTK_WINDOW (intf_jump), TRUE, TRUE, FALSE);
-
-  dialog_vbox3 = GTK_DIALOG (intf_jump)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_jump), "dialog_vbox3", dialog_vbox3);
-  gtk_widget_show (dialog_vbox3);
-
-  jump_frame = gtk_frame_new (_("Go To:"));
-  gtk_widget_ref (jump_frame);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_frame", jump_frame,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_frame);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox3), jump_frame, TRUE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (jump_frame), 5);
-  gtk_frame_set_label_align (GTK_FRAME (jump_frame), 0.05, 0.5);
-
-  hbox13 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox13);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "hbox13", hbox13,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox13);
-  gtk_container_add (GTK_CONTAINER (jump_frame), hbox13);
-
-  jump_second_label = gtk_label_new (_("s."));
-  gtk_widget_ref (jump_second_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_second_label", jump_second_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_second_label);
-  gtk_box_pack_end (GTK_BOX (hbox13), jump_second_label, FALSE, FALSE, 5);
-
-  jump_second_spinbutton_adj = gtk_adjustment_new (0, 0, 60, 1, 10, 10);
-  jump_second_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_second_spinbutton_adj), 1, 0);
-  gtk_widget_ref (jump_second_spinbutton);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_second_spinbutton", jump_second_spinbutton,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_second_spinbutton);
-  gtk_box_pack_end (GTK_BOX (hbox13), jump_second_spinbutton, FALSE, TRUE, 0);
-
-  jump_minute_label = gtk_label_new (_("m:"));
-  gtk_widget_ref (jump_minute_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_minute_label", jump_minute_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_minute_label);
-  gtk_box_pack_end (GTK_BOX (hbox13), jump_minute_label, FALSE, FALSE, 5);
-
-  jump_minute_spinbutton_adj = gtk_adjustment_new (0, 0, 60, 1, 10, 10);
-  jump_minute_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_minute_spinbutton_adj), 1, 0);
-  gtk_widget_ref (jump_minute_spinbutton);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_minute_spinbutton", jump_minute_spinbutton,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_minute_spinbutton);
-  gtk_box_pack_end (GTK_BOX (hbox13), jump_minute_spinbutton, FALSE, TRUE, 0);
-
-  jump_hour_label = gtk_label_new (_("h:"));
-  gtk_widget_ref (jump_hour_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_hour_label", jump_hour_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_hour_label);
-  gtk_box_pack_end (GTK_BOX (hbox13), jump_hour_label, FALSE, FALSE, 5);
-
-  jump_hour_spinbutton_adj = gtk_adjustment_new (0, 0, 12, 1, 10, 10);
-  jump_hour_spinbutton = gtk_spin_button_new (GTK_ADJUSTMENT (jump_hour_spinbutton_adj), 1, 0);
-  gtk_widget_ref (jump_hour_spinbutton);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_hour_spinbutton", jump_hour_spinbutton,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_hour_spinbutton);
-  gtk_box_pack_end (GTK_BOX (hbox13), jump_hour_spinbutton, FALSE, TRUE, 0);
-
-  dialog_action_area2 = GTK_DIALOG (intf_jump)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_jump), "dialog_action_area2", dialog_action_area2);
-  gtk_widget_show (dialog_action_area2);
-  gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area2), 10);
-
-  jump_ok_button = gtk_button_new_with_label (_("OK"));
-  gtk_widget_ref (jump_ok_button);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_ok_button", jump_ok_button,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_ok_button);
-  gtk_box_pack_start (GTK_BOX (dialog_action_area2), jump_ok_button, TRUE, TRUE, 0);
-
-  jump_cancel_button = gtk_button_new_with_label (_("Cancel"));
-  gtk_widget_ref (jump_cancel_button);
-  gtk_object_set_data_full (GTK_OBJECT (intf_jump), "jump_cancel_button", jump_cancel_button,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (jump_cancel_button);
-  gtk_box_pack_start (GTK_BOX (dialog_action_area2), jump_cancel_button, TRUE, TRUE, 0);
-
-  gtk_signal_connect (GTK_OBJECT (jump_ok_button), "clicked",
-                      GTK_SIGNAL_FUNC (GtkJumpOk),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (jump_cancel_button), "clicked",
-                      GTK_SIGNAL_FUNC (GtkJumpCancel),
-                      NULL);
-
-  return intf_jump;
-}
-
-GtkWidget*
-create_intf_playlist (void)
-{
-  GtkWidget *intf_playlist;
-  GtkWidget *dialog_vbox4;
-  GtkWidget *playlist_menubar;
-  GtkWidget *playlist_add;
-  GtkWidget *playlist_add_menu;
-  GtkAccelGroup *playlist_add_menu_accels;
-  GtkWidget *playlist_add_disc;
-  GtkWidget *playlist_add_file;
-  GtkWidget *playlist_add_network;
-  GtkWidget *playlist_add_url;
-  GtkWidget *playlist_delete;
-  GtkWidget *playlist_delete_menu;
-  GtkAccelGroup *playlist_delete_menu_accels;
-  GtkWidget *playlist_delete_all;
-  GtkWidget *playlist_delete_selected;
-  GtkWidget *playlist_selection;
-  GtkWidget *playlist_selection_menu;
-  GtkAccelGroup *playlist_selection_menu_accels;
-  guint tmp_key;
-  GtkWidget *playlist_selection_crop;
-  GtkWidget *playlist_selection_invert;
-  GtkWidget *playlist_selection_select;
-  GtkWidget *scrolledwindow1;
-  GtkWidget *playlist_clist;
-  GtkWidget *label22;
-  GtkWidget *label23;
-  GtkWidget *dialog_action_area3;
-  GtkWidget *playlist_ok_button;
-  GtkWidget *playlist_cancel_button;
-
-  intf_playlist = gtk_dialog_new ();
-  gtk_object_set_data (GTK_OBJECT (intf_playlist), "intf_playlist", intf_playlist);
-  gtk_window_set_title (GTK_WINDOW (intf_playlist), _("Playlist"));
-  gtk_window_set_default_size (GTK_WINDOW (intf_playlist), 400, 300);
-  gtk_window_set_policy (GTK_WINDOW (intf_playlist), TRUE, TRUE, FALSE);
-
-  dialog_vbox4 = GTK_DIALOG (intf_playlist)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_playlist), "dialog_vbox4", dialog_vbox4);
-  gtk_widget_show (dialog_vbox4);
-
-  playlist_menubar = gtk_menu_bar_new ();
-  gtk_widget_ref (playlist_menubar);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_menubar", playlist_menubar,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_menubar);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox4), playlist_menubar, FALSE, FALSE, 0);
-
-  playlist_add = gtk_menu_item_new_with_label (_("Add"));
-  gtk_widget_ref (playlist_add);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add", playlist_add,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_add);
-  gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_add);
-
-  playlist_add_menu = gtk_menu_new ();
-  gtk_widget_ref (playlist_add_menu);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_menu", playlist_add_menu,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_add), playlist_add_menu);
-  playlist_add_menu_accels = gtk_menu_get_accel_group (GTK_MENU (playlist_add_menu));
-
-  playlist_add_disc = gtk_menu_item_new_with_label (_("Disc"));
-  gtk_widget_ref (playlist_add_disc);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_disc", playlist_add_disc,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_add_disc);
-  gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_disc);
-
-  playlist_add_file = gtk_menu_item_new_with_label (_("File"));
-  gtk_widget_ref (playlist_add_file);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_file", playlist_add_file,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_add_file);
-  gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_file);
-
-  playlist_add_network = gtk_menu_item_new_with_label (_("Network"));
-  gtk_widget_ref (playlist_add_network);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_network", playlist_add_network,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_add_network);
-  gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_network);
-
-  playlist_add_url = gtk_menu_item_new_with_label (_("URL"));
-  gtk_widget_ref (playlist_add_url);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_add_url", playlist_add_url,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_add_url);
-  gtk_container_add (GTK_CONTAINER (playlist_add_menu), playlist_add_url);
-
-  playlist_delete = gtk_menu_item_new_with_label (_("Delete"));
-  gtk_widget_ref (playlist_delete);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete", playlist_delete,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_delete);
-  gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_delete);
-
-  playlist_delete_menu = gtk_menu_new ();
-  gtk_widget_ref (playlist_delete_menu);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_menu", playlist_delete_menu,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_delete), playlist_delete_menu);
-  playlist_delete_menu_accels = gtk_menu_get_accel_group (GTK_MENU (playlist_delete_menu));
-
-  playlist_delete_all = gtk_menu_item_new_with_label (_("All"));
-  gtk_widget_ref (playlist_delete_all);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_all", playlist_delete_all,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_delete_all);
-  gtk_container_add (GTK_CONTAINER (playlist_delete_menu), playlist_delete_all);
-
-  playlist_delete_selected = gtk_menu_item_new_with_label (_("Selected"));
-  gtk_widget_ref (playlist_delete_selected);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_delete_selected", playlist_delete_selected,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_delete_selected);
-  gtk_container_add (GTK_CONTAINER (playlist_delete_menu), playlist_delete_selected);
-
-  playlist_selection = gtk_menu_item_new_with_label (_("Selection"));
-  gtk_widget_ref (playlist_selection);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection", playlist_selection,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_selection);
-  gtk_container_add (GTK_CONTAINER (playlist_menubar), playlist_selection);
-
-  playlist_selection_menu = gtk_menu_new ();
-  gtk_widget_ref (playlist_selection_menu);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_menu", playlist_selection_menu,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (playlist_selection), playlist_selection_menu);
-  playlist_selection_menu_accels = gtk_menu_get_accel_group (GTK_MENU (playlist_selection_menu));
-
-  playlist_selection_crop = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_crop)->child),
-                                   _("_Crop"));
-  gtk_widget_add_accelerator (playlist_selection_crop, "activate_item", playlist_selection_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (playlist_selection_crop);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_crop", playlist_selection_crop,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_selection_crop);
-  gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_crop);
-
-  playlist_selection_invert = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_invert)->child),
-                                   _("_Invert"));
-  gtk_widget_add_accelerator (playlist_selection_invert, "activate_item", playlist_selection_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (playlist_selection_invert);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_invert", playlist_selection_invert,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_selection_invert);
-  gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_invert);
-
-  playlist_selection_select = gtk_menu_item_new_with_label ("");
-  tmp_key = gtk_label_parse_uline (GTK_LABEL (GTK_BIN (playlist_selection_select)->child),
-                                   _("_Select"));
-  gtk_widget_add_accelerator (playlist_selection_select, "activate_item", playlist_selection_menu_accels,
-                              tmp_key, 0, 0);
-  gtk_widget_ref (playlist_selection_select);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_selection_select", playlist_selection_select,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_selection_select);
-  gtk_container_add (GTK_CONTAINER (playlist_selection_menu), playlist_selection_select);
-
-  scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_ref (scrolledwindow1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "scrolledwindow1", scrolledwindow1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (scrolledwindow1);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox4), scrolledwindow1, TRUE, TRUE, 0);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-
-  playlist_clist = gtk_clist_new (2);
-  gtk_widget_ref (playlist_clist);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_clist", playlist_clist,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_clist);
-  gtk_container_add (GTK_CONTAINER (scrolledwindow1), playlist_clist);
-  gtk_container_set_border_width (GTK_CONTAINER (playlist_clist), 5);
-  gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 0, 257);
-  gtk_clist_set_column_width (GTK_CLIST (playlist_clist), 1, 80);
-  gtk_clist_set_selection_mode (GTK_CLIST (playlist_clist), GTK_SELECTION_EXTENDED);
-  gtk_clist_column_titles_show (GTK_CLIST (playlist_clist));
-  gtk_clist_set_shadow_type (GTK_CLIST (playlist_clist), GTK_SHADOW_OUT);
-
-  label22 = gtk_label_new (_("File"));
-  gtk_widget_ref (label22);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label22", label22,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label22);
-  gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 0, label22);
-
-  label23 = gtk_label_new (_("Duration"));
-  gtk_widget_ref (label23);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "label23", label23,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label23);
-  gtk_clist_set_column_widget (GTK_CLIST (playlist_clist), 1, label23);
-
-  dialog_action_area3 = GTK_DIALOG (intf_playlist)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_playlist), "dialog_action_area3", dialog_action_area3);
-  gtk_widget_show (dialog_action_area3);
-  gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area3), 10);
-
-  playlist_ok_button = gtk_button_new_with_label (_("OK"));
-  gtk_widget_ref (playlist_ok_button);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_ok_button", playlist_ok_button,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_ok_button);
-  gtk_box_pack_start (GTK_BOX (dialog_action_area3), playlist_ok_button, TRUE, TRUE, 0);
-
-  playlist_cancel_button = gtk_button_new_with_label (_("Cancel"));
-  gtk_widget_ref (playlist_cancel_button);
-  gtk_object_set_data_full (GTK_OBJECT (intf_playlist), "playlist_cancel_button", playlist_cancel_button,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (playlist_cancel_button);
-  gtk_box_pack_start (GTK_BOX (dialog_action_area3), playlist_cancel_button, TRUE, TRUE, 0);
-
-  gtk_signal_connect (GTK_OBJECT (intf_playlist), "destroy",
-                      GTK_SIGNAL_FUNC (gtk_widget_hide),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (intf_playlist), "delete_event",
-                      GTK_SIGNAL_FUNC (gtk_widget_hide),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_add_disc), "activate",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_add_file), "activate",
-                      GTK_SIGNAL_FUNC (GtkFileOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_add_network), "activate",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_add_url), "activate",
-                      GTK_SIGNAL_FUNC (GtkPlaylistAddUrl),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_delete_all), "activate",
-                      GTK_SIGNAL_FUNC (GtkPlaylistDeleteAll),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_delete_selected), "activate",
-                      GTK_SIGNAL_FUNC (GtkPlaylistDeleteSelected),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_selection_crop), "activate",
-                      GTK_SIGNAL_FUNC (GtkPlaylistCrop),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_selection_invert), "activate",
-                      GTK_SIGNAL_FUNC (GtkPlaylistInvert),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_selection_select), "activate",
-                      GTK_SIGNAL_FUNC (GtkPlaylistSelect),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_clist), "event",
-                      GTK_SIGNAL_FUNC (GtkPlaylistEvent),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_data_received",
-                      GTK_SIGNAL_FUNC (GtkPlaylistDragData),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_motion",
-                      GTK_SIGNAL_FUNC (GtkPlaylistDragMotion),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_ok_button), "clicked",
-                      GTK_SIGNAL_FUNC (GtkPlaylistOk),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (playlist_cancel_button), "clicked",
-                      GTK_SIGNAL_FUNC (GtkPlaylistCancel),
-                      NULL);
-
-  return intf_playlist;
-}
-
-GtkWidget*
-create_intf_messages (void)
-{
-  GtkWidget *intf_messages;
-  GtkWidget *dialog_vbox6;
-  GtkWidget *scrolledwindow2;
-  GtkWidget *messages_textbox;
-  GtkWidget *dialog_action_area5;
-  GtkWidget *messages_ok;
-
-  intf_messages = gtk_dialog_new ();
-  gtk_object_set_data (GTK_OBJECT (intf_messages), "intf_messages", intf_messages);
-  gtk_window_set_title (GTK_WINDOW (intf_messages), _("Messages"));
-  gtk_window_set_default_size (GTK_WINDOW (intf_messages), 600, 400);
-  gtk_window_set_policy (GTK_WINDOW (intf_messages), TRUE, TRUE, FALSE);
-
-  dialog_vbox6 = GTK_DIALOG (intf_messages)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_messages), "dialog_vbox6", dialog_vbox6);
-  gtk_widget_show (dialog_vbox6);
-
-  scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
-  gtk_widget_ref (scrolledwindow2);
-  gtk_object_set_data_full (GTK_OBJECT (intf_messages), "scrolledwindow2", scrolledwindow2,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (scrolledwindow2);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox6), scrolledwindow2, TRUE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow2), 5);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
-
-  messages_textbox = gtk_text_new (NULL, NULL);
-  gtk_widget_ref (messages_textbox);
-  gtk_object_set_data_full (GTK_OBJECT (intf_messages), "messages_textbox", messages_textbox,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (messages_textbox);
-  gtk_container_add (GTK_CONTAINER (scrolledwindow2), messages_textbox);
-
-  dialog_action_area5 = GTK_DIALOG (intf_messages)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_messages), "dialog_action_area5", dialog_action_area5);
-  gtk_widget_show (dialog_action_area5);
-  gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area5), 5);
-
-  messages_ok = gtk_button_new_with_label (_("OK"));
-  gtk_widget_ref (messages_ok);
-  gtk_object_set_data_full (GTK_OBJECT (intf_messages), "messages_ok", messages_ok,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (messages_ok);
-  gtk_box_pack_start (GTK_BOX (dialog_action_area5), messages_ok, FALSE, TRUE, 0);
-  GTK_WIDGET_SET_FLAGS (messages_ok, GTK_CAN_DEFAULT);
-
-  gtk_signal_connect (GTK_OBJECT (intf_messages), "delete_event",
-                      GTK_SIGNAL_FUNC (GtkMessagesDelete),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (messages_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkMessagesOk),
-                      NULL);
-
-  gtk_widget_grab_default (messages_ok);
-  return intf_messages;
-}
-
-GtkWidget*
-create_intf_sout (void)
-{
-  GtkWidget *intf_sout;
-  GtkWidget *vbox15;
-  GtkWidget *vbox16;
-  GtkWidget *frame11;
-  GtkWidget *hbox28;
-  GtkWidget *label38;
-  GtkWidget *combo4;
-  GtkWidget *sout_entry_target;
-  GtkWidget *frame12;
-  GtkWidget *table6;
-  GSList *sout_access_group = NULL;
-  GtkWidget *sout_access_file;
-  GtkWidget *sout_access_udp;
-  GtkWidget *sout_access_rtp;
-  GtkWidget *sout_file_path_label;
-  GtkWidget *combo6;
-  GtkWidget *sout_file_path;
-  GtkWidget *sout_udp_address_label;
-  GtkWidget *sout_udp_address_combo;
-  GtkWidget *sout_udp_address;
-  GtkObject *sout_udp_port_adj;
-  GtkWidget *sout_udp_port;
-  GtkWidget *hbox29;
-  GSList *sout_mux_group = NULL;
-  GtkWidget *sout_mux_ts;
-  GtkWidget *sout_mux_ps;
-  GtkWidget *sout_mux_avi;
-  GtkWidget *sout_udp_port_label;
-  GtkWidget *hbox25;
-  GtkWidget *hbox26;
-  GtkWidget *button1;
-  GtkWidget *button2;
-
-  intf_sout = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_object_set_data (GTK_OBJECT (intf_sout), "intf_sout", intf_sout);
-  gtk_container_set_border_width (GTK_CONTAINER (intf_sout), 5);
-  gtk_window_set_title (GTK_WINDOW (intf_sout), _("Stream output"));
-  gtk_window_set_modal (GTK_WINDOW (intf_sout), TRUE);
-
-  vbox15 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_ref (vbox15);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "vbox15", vbox15,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox15);
-  gtk_container_add (GTK_CONTAINER (intf_sout), vbox15);
-
-  vbox16 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_ref (vbox16);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "vbox16", vbox16,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox16);
-  gtk_box_pack_start (GTK_BOX (vbox15), vbox16, TRUE, TRUE, 0);
-
-  frame11 = gtk_frame_new (_("Stream output (MRL)"));
-  gtk_widget_ref (frame11);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "frame11", frame11,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame11);
-  gtk_box_pack_start (GTK_BOX (vbox16), frame11, FALSE, TRUE, 0);
-
-  hbox28 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox28);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox28", hbox28,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox28);
-  gtk_container_add (GTK_CONTAINER (frame11), hbox28);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox28), 5);
-
-  label38 = gtk_label_new (_("Destination Target: "));
-  gtk_widget_ref (label38);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "label38", label38,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label38);
-  gtk_box_pack_start (GTK_BOX (hbox28), label38, FALSE, FALSE, 0);
-
-  combo4 = gtk_combo_new ();
-  gtk_widget_ref (combo4);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "combo4", combo4,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo4);
-  gtk_box_pack_start (GTK_BOX (hbox28), combo4, TRUE, TRUE, 0);
-
-  sout_entry_target = GTK_COMBO (combo4)->entry;
-  gtk_widget_ref (sout_entry_target);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_entry_target", sout_entry_target,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_entry_target);
-
-  frame12 = gtk_frame_new (NULL);
-  gtk_widget_ref (frame12);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "frame12", frame12,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame12);
-  gtk_box_pack_start (GTK_BOX (vbox16), frame12, TRUE, TRUE, 0);
-
-  table6 = gtk_table_new (3, 5, FALSE);
-  gtk_widget_ref (table6);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "table6", table6,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (table6);
-  gtk_container_add (GTK_CONTAINER (frame12), table6);
-  gtk_table_set_row_spacings (GTK_TABLE (table6), 5);
-  gtk_table_set_col_spacings (GTK_TABLE (table6), 5);
-
-  sout_access_file = gtk_radio_button_new_with_label (sout_access_group, _("File"));
-  sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_file));
-  gtk_widget_ref (sout_access_file);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_file", sout_access_file,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_access_file);
-  gtk_table_attach (GTK_TABLE (table6), sout_access_file, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  sout_access_udp = gtk_radio_button_new_with_label (sout_access_group, "UDP");
-  sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_udp));
-  gtk_widget_ref (sout_access_udp);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_udp", sout_access_udp,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_access_udp);
-  gtk_table_attach (GTK_TABLE (table6), sout_access_udp, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  sout_access_rtp = gtk_radio_button_new_with_label (sout_access_group, "RTP");
-  sout_access_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_access_rtp));
-  gtk_widget_ref (sout_access_rtp);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_access_rtp", sout_access_rtp,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_access_rtp);
-  gtk_table_attach (GTK_TABLE (table6), sout_access_rtp, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  sout_file_path_label = gtk_label_new (_("Path:"));
-  gtk_widget_ref (sout_file_path_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_file_path_label", sout_file_path_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_file_path_label);
-  gtk_table_attach (GTK_TABLE (table6), sout_file_path_label, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (sout_file_path_label), 0, 0.5);
-
-  combo6 = gtk_combo_new ();
-  gtk_widget_ref (combo6);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "combo6", combo6,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo6);
-  gtk_table_attach (GTK_TABLE (table6), combo6, 2, 5, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  sout_file_path = GTK_COMBO (combo6)->entry;
-  gtk_widget_ref (sout_file_path);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_file_path", sout_file_path,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_file_path);
-
-  sout_udp_address_label = gtk_label_new (_("Address:"));
-  gtk_widget_ref (sout_udp_address_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address_label", sout_udp_address_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_udp_address_label);
-  gtk_table_attach (GTK_TABLE (table6), sout_udp_address_label, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (sout_udp_address_label), 0, 0.5);
-
-  sout_udp_address_combo = gtk_combo_new ();
-  gtk_widget_ref (sout_udp_address_combo);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address_combo", sout_udp_address_combo,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_udp_address_combo);
-  gtk_table_attach (GTK_TABLE (table6), sout_udp_address_combo, 2, 3, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  sout_udp_address = GTK_COMBO (sout_udp_address_combo)->entry;
-  gtk_widget_ref (sout_udp_address);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_address", sout_udp_address,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_udp_address);
-
-  sout_udp_port_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
-  sout_udp_port = gtk_spin_button_new (GTK_ADJUSTMENT (sout_udp_port_adj), 1, 0);
-  gtk_widget_ref (sout_udp_port);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_port", sout_udp_port,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_udp_port);
-  gtk_table_attach (GTK_TABLE (table6), sout_udp_port, 4, 5, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  hbox29 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox29);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox29", hbox29,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox29);
-  gtk_table_attach (GTK_TABLE (table6), hbox29, 4, 5, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-  sout_mux_ts = gtk_radio_button_new_with_label (sout_mux_group, _("TS"));
-  sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_ts));
-  gtk_widget_ref (sout_mux_ts);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_ts", sout_mux_ts,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_mux_ts);
-  gtk_box_pack_start (GTK_BOX (hbox29), sout_mux_ts, FALSE, FALSE, 0);
-
-  sout_mux_ps = gtk_radio_button_new_with_label (sout_mux_group, _("PS"));
-  sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_ps));
-  gtk_widget_ref (sout_mux_ps);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_ps", sout_mux_ps,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_mux_ps);
-  gtk_box_pack_start (GTK_BOX (hbox29), sout_mux_ps, FALSE, FALSE, 0);
-
-  sout_mux_avi = gtk_radio_button_new_with_label (sout_mux_group, _("AVI"));
-  sout_mux_group = gtk_radio_button_group (GTK_RADIO_BUTTON (sout_mux_avi));
-  gtk_widget_ref (sout_mux_avi);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_mux_avi", sout_mux_avi,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_mux_avi);
-  gtk_box_pack_start (GTK_BOX (hbox29), sout_mux_avi, FALSE, FALSE, 0);
-
-  sout_udp_port_label = gtk_label_new (_("Port"));
-  gtk_widget_ref (sout_udp_port_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "sout_udp_port_label", sout_udp_port_label,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sout_udp_port_label);
-  gtk_table_attach (GTK_TABLE (table6), sout_udp_port_label, 3, 4, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (sout_udp_port_label), 0, 0.5);
-
-  hbox25 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox25);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox25", hbox25,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox25);
-  gtk_box_pack_end (GTK_BOX (vbox15), hbox25, FALSE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox25), 5);
-
-  hbox26 = gtk_hbox_new (FALSE, 0);
-  gtk_widget_ref (hbox26);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "hbox26", hbox26,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox26);
-  gtk_box_pack_end (GTK_BOX (hbox25), hbox26, TRUE, TRUE, 3);
-
-  button1 = gtk_button_new_with_label (_("OK"));
-  gtk_widget_ref (button1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "button1", button1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (button1);
-  gtk_box_pack_start (GTK_BOX (hbox26), button1, TRUE, TRUE, 2);
-
-  button2 = gtk_button_new_with_label (_("Cancel"));
-  gtk_widget_ref (button2);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sout), "button2", button2,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (button2);
-  gtk_box_pack_start (GTK_BOX (hbox26), button2, TRUE, TRUE, 2);
-
-  gtk_signal_connect (GTK_OBJECT (sout_access_file), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsAccessFile),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_access_udp), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsAccessUdp),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_access_rtp), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsAccessUdp),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_file_path), "changed",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_udp_address), "changed",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_udp_port), "changed",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_mux_ts), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_mux_ps), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (sout_mux_avi), "toggled",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsChanged),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (button1), "clicked",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsOk),
-                      NULL);
-  gtk_signal_connect (GTK_OBJECT (button2), "clicked",
-                      GTK_SIGNAL_FUNC (GtkSoutSettingsCancel),
-                      NULL);
-
-  return intf_sout;
-}
-
diff --git a/modules/gui/gtk/gtk_interface.h b/modules/gui/gtk/gtk_interface.h
deleted file mode 100644 (file)
index db4639b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-GtkWidget* create_intf_window (void);
-GtkWidget* create_intf_popup (void);
-GtkWidget* create_intf_about (void);
-GtkWidget* create_intf_open (void);
-GtkWidget* create_intf_file (void);
-GtkWidget* create_intf_jump (void);
-GtkWidget* create_intf_playlist (void);
-GtkWidget* create_intf_messages (void);
-GtkWidget* create_intf_sout (void);
diff --git a/modules/gui/gtk/gtk_support.c b/modules/gui/gtk/gtk_support.c
deleted file mode 100644 (file)
index 987d9a9..0000000
+++ /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 "gtk_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 ("pixmaps", 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/gtk/gtk_support.h b/modules/gui/gtk/gtk_support.h
deleted file mode 100644 (file)
index 7a13025..0000000
+++ /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);
-
diff --git a/modules/gui/gtk/menu.c b/modules/gui/gtk/menu.c
deleted file mode 100644 (file)
index 8d91f8e..0000000
+++ /dev/null
@@ -1,1545 +0,0 @@
-/*****************************************************************************
- * menu.c : functions to handle menu items.
- *****************************************************************************
- * Copyright (C) 2000, 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Sam Hocevar <sam@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *          Johan Bilien <jobi@via.ecp.fr>
- *          Laurent Aimar <fenrir@via.ecp.fr>
- *
- * 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/input.h>
-#include <vlc/intf.h>
-#include <vlc/aout.h>
-#include <vlc/vout.h>
-
-#ifdef MODULE_NAME_IS_gnome
-#   include <gnome.h>
-#else
-#   include <gtk/gtk.h>
-#endif
-
-#include <string.h>
-
-#include "gtk_callbacks.h"
-#include "gtk_interface.h"
-#include "gtk_support.h"
-
-#include "playlist.h"
-#include "common.h"
-
-/*
- * Local Prototypes
- */
-static gint GtkLanguageMenus( gpointer , GtkWidget *, es_descriptor_t *, gint,
-                        void(*pf_toggle )( GtkCheckMenuItem *, gpointer ) );
-
-void GtkMenubarAudioToggle   ( GtkCheckMenuItem *, gpointer );
-void GtkPopupAudioToggle     ( GtkCheckMenuItem *, gpointer );
-void GtkMenubarSubtitleToggle( GtkCheckMenuItem *, gpointer );
-void GtkPopupSubtitleToggle  ( GtkCheckMenuItem *, gpointer );
-static gint GtkTitleMenu( gpointer, GtkWidget *,
-                    void(*pf_toggle )( GtkCheckMenuItem *, gpointer ) );
-static gint GtkRadioMenu( intf_thread_t *, GtkWidget *, GSList *,
-                          char *, int, int, int,
-                   void( *pf_toggle )( GtkCheckMenuItem *, gpointer ) );
-
-static void GtkMenubarDeinterlaceToggle( GtkCheckMenuItem * menuitem, gpointer user_data );
-static void GtkPopupDeinterlaceToggle( GtkCheckMenuItem * menuitem, gpointer user_data );
-static gint GtkDeinterlaceMenus( gpointer          p_data,
-                                 GtkWidget *       p_root,
-                                 void(*pf_toggle )( GtkCheckMenuItem *, gpointer ) );
-
-gint GtkSetupMenus( intf_thread_t * p_intf );
-
-/****************************************************************************
- * Gtk*Toggle: callbacks to toggle the value of a checkmenuitem
- ****************************************************************************
- * We need separate functions for menubar and popup here since we can't use
- * user_data to transmit intf_* and we need to refresh the other menu.
- ****************************************************************************/
-
-#define GTKLANGTOGGLE( window, menu, type, var_name, callback, b_update )\
-    intf_thread_t *         p_intf;                                     \
-    GtkWidget *             p_menu;                                     \
-    es_descriptor_t *       p_es;                                       \
-                                                                        \
-    p_intf = GtkGetIntf( menuitem );                                    \
-                                                                        \
-    if( !p_intf->p_sys->b_update )                                      \
-    {                                                                   \
-        p_menu = GTK_WIDGET( gtk_object_get_data(                       \
-                   GTK_OBJECT( p_intf->p_sys->window ), (menu) ) );     \
-        p_es = (es_descriptor_t*)user_data;                             \
-        if( p_es && menuitem->active )                                  \
-            var_SetInteger( p_intf->p_sys->p_input, var_name, p_es->i_id ); \
-        else                                                            \
-            var_SetInteger( p_intf->p_sys->p_input, var_name, -1 );     \
-                                                                        \
-        p_intf->p_sys->b_update = menuitem->active;                     \
-                                                                        \
-        if( p_intf->p_sys->b_update )                                   \
-        {                                                               \
-            GtkLanguageMenus( p_intf, p_menu, p_es, type, callback );   \
-        }                                                               \
-                                                                        \
-        p_intf->p_sys->b_update = VLC_FALSE;                            \
-    }
-
-/*
- * Audio
- */
-
-void GtkMenubarAudioToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
-{
-    GTKLANGTOGGLE( p_popup, "popup_language", AUDIO_ES, "audio-es",
-                   GtkPopupAudioToggle, b_audio_update );
-}
-
-void GtkPopupAudioToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
-{
-    GTKLANGTOGGLE( p_window, "menubar_audio", AUDIO_ES, "audio-es",
-                   GtkMenubarAudioToggle, b_audio_update );
-}
-
-/*
- * Subtitles
- */
-
-void GtkMenubarSubtitleToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
-{
-    GTKLANGTOGGLE( p_popup, "popup_subpictures", SPU_ES, "spu-es",
-                   GtkPopupSubtitleToggle, b_spu_update );
-}
-
-void GtkPopupSubtitleToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
-{
-    GTKLANGTOGGLE( p_window, "menubar_subpictures", SPU_ES, "spu-es",
-                   GtkMenubarSubtitleToggle, b_spu_update );
-}
-
-#undef GTKLANGTOGGLE
-
-/*
- * Navigation
- */
-
-void GtkPopupNavigationToggle( GtkCheckMenuItem * menuitem,
-                               gpointer user_data )
-{
-    intf_thread_t * p_intf = GtkGetIntf( menuitem );
-
-    if( menuitem->active &&
-        !p_intf->p_sys->b_title_update &&
-        !p_intf->p_sys->b_chapter_update )
-    {
-        input_area_t   *p_area;
-
-        guint i_title   = DATA2TITLE( user_data );
-        guint i_chapter = DATA2CHAPTER( user_data );
-
-        /* FIXME use "navigation" variable */
-        var_SetInteger( p_intf->p_sys->p_input, "title", i_title );
-        var_SetInteger( p_intf->p_sys->p_input, "chapter", i_chapter );
-
-        p_intf->p_sys->b_title_update = VLC_TRUE;
-        p_intf->p_sys->b_chapter_update = VLC_TRUE;
-
-        vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
-        GtkSetupMenus( p_intf );
-        vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
-    }
-}
-
-/*
- * Program
- */
-#define GTKPROGRAMTOGGLE( )                                                 \
-    intf_thread_t * p_intf = GtkGetIntf( menuitem );                        \
-                                                                            \
-    if( menuitem->active && !p_intf->p_sys->b_program_update )              \
-    {                                                                       \
-        int i_program_id = (ptrdiff_t)user_data;                            \
-                                                                            \
-        var_SetInteger( p_intf->p_sys->p_input, "program", i_program_id );  \
-                                                                            \
-        p_intf->p_sys->b_program_update = VLC_TRUE;                         \
-                                                                            \
-        vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );      \
-        GtkSetupMenus( p_intf );                                            \
-        vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );    \
-                                                                            \
-        p_intf->p_sys->b_program_update = VLC_FALSE;                        \
-                                                                            \
-        var_SetInteger( p_intf->p_sys->p_input, "state", PLAYING_S );       \
-    }
-
-void GtkMenubarProgramToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
-{
-    GTKPROGRAMTOGGLE( );
-}
-
-void GtkPopupProgramToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
-{
-    GTKPROGRAMTOGGLE( );
-}
-
-/*
- * Title
- */
-
-void GtkMenubarTitleToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
-{
-    intf_thread_t * p_intf = GtkGetIntf( menuitem );
-
-    if( menuitem->active && !p_intf->p_sys->b_title_update )
-    {
-        guint i_title = (ptrdiff_t)user_data;
-
-        var_SetInteger( p_intf->p_sys->p_input, "title", i_title );
-
-        p_intf->p_sys->b_title_update = VLC_TRUE;
-        vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
-        GtkSetupMenus( p_intf );
-        vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
-    }
-}
-
-/*
- * Chapter
- */
-
-void GtkMenubarChapterToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
-{
-    intf_thread_t * p_intf;
-    input_area_t *  p_area;
-    guint           i_chapter;
-    GtkWidget *     p_popup_menu;
-
-    p_intf    = GtkGetIntf( menuitem );
-    p_area    = p_intf->p_sys->p_input->stream.p_selected_area;
-    i_chapter = (ptrdiff_t)user_data;
-
-    if( menuitem->active && !p_intf->p_sys->b_chapter_update )
-    {
-        var_SetInteger( p_intf->p_sys->p_input, "chapter", i_chapter );
-
-        p_intf->p_sys->b_chapter_update = VLC_TRUE;
-        p_popup_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                             p_intf->p_sys->p_popup ), "popup_navigation" ) );
-
-        vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
-        GtkTitleMenu( p_intf, p_popup_menu, GtkPopupNavigationToggle );
-        vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
-
-        p_intf->p_sys->b_chapter_update = VLC_FALSE;
-    }
-}
-
-
-static void GtkPopupObjectToggle( GtkCheckMenuItem * menuitem,
-    gpointer user_data, int i_object_type, char *psz_variable )
-{
-    intf_thread_t   *p_intf = GtkGetIntf( menuitem );
-    GtkLabel        *p_label;
-
-    p_label = GTK_LABEL( ( GTK_BIN( menuitem )->child ) );
-
-    if( menuitem->active && !p_intf->p_sys->b_aout_update &&
-        !p_intf->p_sys->b_vout_update )
-    {
-        vlc_object_t * p_obj;
-
-        p_obj = (vlc_object_t *)vlc_object_find( p_intf, i_object_type,
-                                                  FIND_ANYWHERE );
-        if( p_obj )
-        {
-            vlc_value_t val;
-
-            if( user_data )
-            {
-                val = (vlc_value_t)user_data;
-            }
-            else
-            {
-                gtk_label_get( p_label, &val.psz_string );
-            }
-
-            if( var_Set( p_obj, psz_variable, val ) < 0 )
-            {
-                msg_Warn( p_obj, "cannot set variable (%s)", val.psz_string );
-            }
-            vlc_object_release( p_obj );
-        }
-    }
-}
-static void GtkPopupAoutChannelsToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
-{
-    GtkPopupObjectToggle( menuitem, user_data, VLC_OBJECT_AOUT, "audio-channels" );
-}
-
-static void GtkPopupAoutDeviceToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
-{
-    GtkPopupObjectToggle( menuitem, user_data, VLC_OBJECT_AOUT, "audio-device" );
-}
-
-
-static void GtkPopupVoutDeviceToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
-{
-    GtkPopupObjectToggle( menuitem, user_data, VLC_OBJECT_VOUT, "video-device" );
-}
-
-
-static void GtkDeinterlaceUpdate( intf_thread_t *p_intf, char *psz_mode )
-{
-    char *psz_filter;
-    unsigned int  i;
-
-    psz_filter = config_GetPsz( p_intf, "vout-filter" );
-
-    if( !strcmp( psz_mode, "None" ) )
-    {
-        config_PutPsz( p_intf, "vout-filter", "" );
-    }
-    else
-    {
-        if( !psz_filter || !*psz_filter )
-        {
-            config_PutPsz( p_intf, "vout-filter", "deinterlace" );
-        }
-        else
-        {
-            if( strstr( psz_filter, "deinterlace" ) == NULL )
-            {
-                psz_filter = realloc( psz_filter, strlen( psz_filter ) + 20 );
-                strcat( psz_filter, ",deinterlace" );
-            }
-            config_PutPsz( p_intf, "vout-filter", psz_filter );
-        }
-    }
-
-    if( psz_filter )
-        free( psz_filter );
-
-    /* now restart all video stream */
-    if( p_intf->p_sys->p_input )
-    {
-        vout_thread_t *p_vout;
-        vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
-
-        /* Warn the vout we are about to change the filter chain */
-        p_vout = vlc_object_find( p_intf, VLC_OBJECT_VOUT,
-                                  FIND_ANYWHERE );
-        if( p_vout )
-        {
-            p_vout->b_filter_change = VLC_TRUE;
-            vlc_object_release( p_vout );
-        }
-
-#define ES p_intf->p_sys->p_input->stream.pp_es[i]
-        /* create a set of language buttons and append them to the container */
-        for( i = 0 ; i < p_intf->p_sys->p_input->stream.i_es_number ; i++ )
-        {
-            if( ( ES->i_cat == VIDEO_ES ) &&
-                    ES->p_dec != NULL )
-            {
-                input_UnselectES( p_intf->p_sys->p_input, ES );
-                input_SelectES( p_intf->p_sys->p_input, ES );
-            }
-#undef ES
-        }
-        vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
-    }
-
-    if( strcmp( psz_mode, "None" ) )
-    {
-        vout_thread_t *p_vout;
-        p_vout = vlc_object_find( p_intf, VLC_OBJECT_VOUT,
-                                  FIND_ANYWHERE );
-        if( p_vout )
-        {
-            vlc_value_t val;
-
-            val.psz_string = psz_mode;
-            if( var_Set( p_vout, "deinterlace-mode", val ) != VLC_SUCCESS )
-                config_PutPsz( p_intf, "deinterlace-mode", psz_mode );
-
-            vlc_object_release( p_vout );
-        }
-        else
-            config_PutPsz( p_intf, "deinterlace-mode", psz_mode );
-
-    }
-}
-
-static void GtkMenubarDeinterlaceToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
-{
-    intf_thread_t   *p_intf = GtkGetIntf( menuitem );
-    GtkLabel        *p_label;
-    char            *psz_mode;
-    GtkWidget       *p_popup_menu;
-
-    p_label = GTK_LABEL( ( GTK_BIN( menuitem )->child ) );
-
-    if( !p_intf->p_sys->b_deinterlace_update && menuitem->active )
-    {
-        gtk_label_get( p_label, &psz_mode );
-        GtkDeinterlaceUpdate( p_intf, psz_mode );
-
-        p_intf->p_sys->b_deinterlace_update = VLC_TRUE;
-
-        p_popup_menu   = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                                     p_intf->p_sys->p_popup ), "popup_deinterlace" ) );
-
-        GtkDeinterlaceMenus( p_intf, p_popup_menu, GtkPopupDeinterlaceToggle );
-
-        p_intf->p_sys->b_deinterlace_update = VLC_FALSE;
-
-    }
-}
-
-static void GtkPopupDeinterlaceToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
-{
-    intf_thread_t   *p_intf = GtkGetIntf( menuitem );
-    GtkLabel        *p_label;
-    char            *psz_mode;
-    GtkWidget       *p_menubar_menu;
-
-    p_label = GTK_LABEL( ( GTK_BIN( menuitem )->child ) );
-
-    if( !p_intf->p_sys->b_deinterlace_update && menuitem->active )
-    {
-        gtk_label_get( p_label, &psz_mode );
-        GtkDeinterlaceUpdate( p_intf, psz_mode );
-
-        p_intf->p_sys->b_deinterlace_update = VLC_TRUE;
-
-        p_menubar_menu   = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                                     p_intf->p_sys->p_window ), "menubar_deinterlace" ) );
-
-        GtkDeinterlaceMenus( p_intf, p_menubar_menu, GtkMenubarDeinterlaceToggle );
-
-        p_intf->p_sys->b_deinterlace_update = VLC_FALSE;
-    }
-}
-
-/****************************************************************************
- * Functions to generate menus
- ****************************************************************************/
-
-/*****************************************************************************
- * GtkRadioMenu: update interactive menus of the interface
- *****************************************************************************
- * Sets up menus with information from input
- * Warning: since this function is designed to be called by management
- * function, the interface lock has to be taken
- *****************************************************************************/
-static gint GtkRadioMenu( intf_thread_t * p_intf,
-                            GtkWidget * p_root, GSList * p_menu_group,
-                            char * psz_item_name,
-                            int i_start, int i_end, int i_selected,
-                     void( *pf_toggle )( GtkCheckMenuItem *, gpointer ) )
-{
-    char                psz_name[ GTK_MENU_LABEL_SIZE ];
-    GtkWidget *         p_menu;
-    GtkWidget *         p_submenu;
-    GtkWidget *         p_item_group;
-    GtkWidget *         p_item;
-    GtkWidget *         p_item_selected;
-    GSList *            p_group;
-    gint                i_item;
-
-    /* temporary hack to avoid blank menu when an open menu is removed */
-    if( GTK_MENU_ITEM(p_root)->submenu != NULL )
-    {
-        gtk_menu_popdown( GTK_MENU( GTK_MENU_ITEM(p_root)->submenu ) );
-    }
-    /* removes previous menu */
-    gtk_menu_item_remove_submenu( GTK_MENU_ITEM( p_root ) );
-    gtk_widget_set_sensitive( p_root, FALSE );
-
-    p_item_group = NULL;
-    p_submenu = NULL;
-    p_item_selected = NULL;
-    p_group = p_menu_group;
-
-    p_menu = gtk_menu_new();
-    gtk_object_set_data( GTK_OBJECT( p_menu ), "p_intf", p_intf );
-
-    for( i_item = i_start ; i_item <= i_end ; i_item++ )
-    {
-        /* we group chapters in packets of ten for small screens */
-        if( ( i_item % 10 == i_start ) && ( i_end > i_start + 20 ) )
-        {
-            if( i_item != i_start )
-            {
-                gtk_menu_item_set_submenu( GTK_MENU_ITEM( p_item_group ),
-                                           p_submenu );
-                gtk_menu_append( GTK_MENU( p_menu ), p_item_group );
-            }
-
-            snprintf( psz_name, GTK_MENU_LABEL_SIZE,
-                      "%ss %d to %d", psz_item_name, i_item, i_item + 9 );
-            psz_name[ GTK_MENU_LABEL_SIZE - 1 ] = '\0';
-            p_item_group = gtk_menu_item_new_with_label( psz_name );
-            gtk_widget_show( p_item_group );
-            p_submenu = gtk_menu_new();
-            gtk_object_set_data( GTK_OBJECT( p_submenu ), "p_intf", p_intf );
-        }
-
-        snprintf( psz_name, GTK_MENU_LABEL_SIZE, "%s %d",
-                  psz_item_name, i_item );
-        psz_name[ GTK_MENU_LABEL_SIZE - 1 ] = '\0';
-
-        p_item = gtk_radio_menu_item_new_with_label( p_group, psz_name );
-        p_group = gtk_radio_menu_item_group( GTK_RADIO_MENU_ITEM( p_item ) );
-
-        if( i_selected == i_item )
-        {
-            p_item_selected = p_item;
-        }
-
-        gtk_widget_show( p_item );
-
-        /* setup signal hanling */
-        gtk_signal_connect( GTK_OBJECT( p_item ),
-                            "toggled",
-                            GTK_SIGNAL_FUNC( pf_toggle ),
-                            (gpointer)((long)(i_item)) );
-
-        if( i_end > i_start + 20 )
-        {
-            gtk_menu_append( GTK_MENU( p_submenu ), p_item );
-        }
-        else
-        {
-            gtk_menu_append( GTK_MENU( p_menu ), p_item );
-        }
-    }
-
-    if( i_end > i_start + 20 )
-    {
-        gtk_menu_item_set_submenu( GTK_MENU_ITEM( p_item_group ), p_submenu );
-        gtk_menu_append( GTK_MENU( p_menu ), p_item_group );
-    }
-
-    /* link the new menu to the title menu item */
-    gtk_menu_item_set_submenu( GTK_MENU_ITEM( p_root ), p_menu );
-
-    /* toggle currently selected chapter
-     * We have to release the lock since input_ToggleES needs it */
-    if( p_item_selected != NULL )
-    {
-        gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM( p_item_selected ),
-                                        TRUE );
-    }
-
-    /* be sure that menu is sensitive, if there are several items */
-    if( i_end > i_start )
-    {
-        gtk_widget_set_sensitive( p_root, TRUE );
-    }
-
-    return TRUE;
-}
-
-/*****************************************************************************
- * GtkProgramMenu: update the programs menu of the interface
- *****************************************************************************
- * Builds the program menu according to what have been found in the PAT
- * by the input. Usefull for multi-programs streams such as DVB ones.
- *****************************************************************************/
-static gint GtkProgramMenu( gpointer            p_data,
-                            GtkWidget *         p_root,
-                            pgrm_descriptor_t * p_pgrm,
-                      void(*pf_toggle )( GtkCheckMenuItem *, gpointer ) )
-{
-    intf_thread_t *     p_intf;
-    GtkWidget *         p_menu;
-    GtkWidget *         p_item;
-    GtkWidget *         p_item_active;
-    GSList *            p_group;
-    char                psz_name[ GTK_MENU_LABEL_SIZE ];
-    guint               i;
-
-    /* cast */
-    p_intf = (intf_thread_t *)p_data;
-
-    /* temporary hack to avoid blank menu when an open menu is removed */
-    if( GTK_MENU_ITEM(p_root)->submenu != NULL )
-    {
-        gtk_menu_popdown( GTK_MENU( GTK_MENU_ITEM(p_root)->submenu ) );
-    }
-    /* removes previous menu */
-    gtk_menu_item_remove_submenu( GTK_MENU_ITEM( p_root ) );
-    gtk_widget_set_sensitive( p_root, FALSE );
-
-    p_group = NULL;
-
-    /* menu container */
-    p_menu = gtk_menu_new();
-    gtk_object_set_data( GTK_OBJECT( p_menu ), "p_intf", p_intf );
-
-    p_item_active = NULL;
-
-    /* create a set of program buttons and append them to the container */
-    for( i = 0 ; i < p_intf->p_sys->p_input->stream.i_pgrm_number ; i++ )
-    {
-        snprintf( psz_name, GTK_MENU_LABEL_SIZE, "id %d",
-            p_intf->p_sys->p_input->stream.pp_programs[i]->i_number );
-        psz_name[GTK_MENU_LABEL_SIZE-1] = '\0';
-
-        p_item = gtk_radio_menu_item_new_with_label( p_group, psz_name );
-        p_group =
-            gtk_radio_menu_item_group( GTK_RADIO_MENU_ITEM( p_item ) );
-
-        if( p_pgrm == p_intf->p_sys->p_input->stream.pp_programs[i] )
-        {
-            /* don't lose p_item when we append into menu */
-            p_item_active = p_item;
-        }
-
-        gtk_widget_show( p_item );
-
-        /* setup signal hanling */
-        gtk_signal_connect( GTK_OBJECT( p_item ), "toggled",
-                        GTK_SIGNAL_FUNC( pf_toggle ),
-                        (gpointer)(ptrdiff_t)( p_intf->p_sys->p_input->
-                        stream.pp_programs[i]->i_number ) );
-
-        gtk_menu_append( GTK_MENU( p_menu ), p_item );
-    }
-
-    /* link the new menu to the menubar item */
-    gtk_menu_item_set_submenu( GTK_MENU_ITEM( p_root ), p_menu );
-
-    /* activation will call signals so we can only do it
-     * when submenu is attached to menu - to get intf_window
-     * We have to release the lock since input_ToggleES needs it */
-    if( p_item_active != NULL )
-    {
-        gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM( p_item_active ),
-                                        TRUE );
-    }
-
-    /* be sure that menu is sensitive if more than 1 program */
-    if( p_intf->p_sys->p_input->stream.i_pgrm_number > 1 )
-    {
-        gtk_widget_set_sensitive( p_root, TRUE );
-    }
-
-    return TRUE;
-}
-
-/*****************************************************************************
- * GtkLanguageMenus: update interactive menus of the interface
- *****************************************************************************
- * Sets up menus with information from input:
- *  -languages
- *  -sub-pictures
- * Warning: since this function is designed to be called by management
- * function, the interface lock has to be taken
- *****************************************************************************/
-static gint GtkLanguageMenus( gpointer          p_data,
-                              GtkWidget *       p_root,
-                              es_descriptor_t * p_es,
-                              gint              i_cat,
-                        void(*pf_toggle )( GtkCheckMenuItem *, gpointer ) )
-{
-    intf_thread_t *     p_intf;
-    GtkWidget *         p_menu;
-    GtkWidget *         p_separator;
-    GtkWidget *         p_item;
-    GtkWidget *         p_item_active;
-    GSList *            p_group;
-    char                psz_name[ GTK_MENU_LABEL_SIZE ];
-    guint               i_item;
-    guint               i;
-
-    p_intf = (intf_thread_t *)p_data;
-
-    /* temporary hack to avoid blank menu when an open menu is removed */
-    if( GTK_MENU_ITEM(p_root)->submenu != NULL )
-    {
-        gtk_menu_popdown( GTK_MENU( GTK_MENU_ITEM(p_root)->submenu ) );
-    }
-    /* removes previous menu */
-    gtk_menu_item_remove_submenu( GTK_MENU_ITEM( p_root ) );
-    gtk_widget_set_sensitive( p_root, FALSE );
-
-    p_group = NULL;
-
-    /* menu container */
-    p_menu = gtk_menu_new();
-    gtk_object_set_data( GTK_OBJECT( p_menu ), "p_intf", p_intf );
-
-    /* special case for "off" item */
-    snprintf( psz_name, GTK_MENU_LABEL_SIZE, _("None") );
-    psz_name[ GTK_MENU_LABEL_SIZE - 1 ] = '\0';
-
-    p_item = gtk_radio_menu_item_new_with_label( p_group, psz_name );
-    p_group = gtk_radio_menu_item_group( GTK_RADIO_MENU_ITEM( p_item ) );
-
-    gtk_widget_show( p_item );
-
-    /* signal hanling for off */
-    gtk_signal_connect( GTK_OBJECT( p_item ), "toggled",
-                        GTK_SIGNAL_FUNC ( pf_toggle ), NULL );
-
-    gtk_menu_append( GTK_MENU( p_menu ), p_item );
-
-    p_separator = gtk_menu_item_new();
-    gtk_widget_set_sensitive( p_separator, FALSE );
-    gtk_widget_show( p_separator );
-    gtk_menu_append( GTK_MENU( p_menu ), p_separator );
-
-    p_item_active = NULL;
-    i_item = 0;
-
-    vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
-
-#define ES p_intf->p_sys->p_input->stream.pp_es[i]
-    /* create a set of language buttons and append them to the container */
-    for( i = 0 ; i < p_intf->p_sys->p_input->stream.i_es_number ; i++ )
-    {
-        if( ( ES->i_cat == i_cat ) &&
-            ( !ES->p_pgrm ||
-              ES->p_pgrm ==
-                 p_intf->p_sys->p_input->stream.p_selected_program ) )
-        {
-            i_item++;
-            if( !p_intf->p_sys->p_input->stream.pp_es[i]->psz_desc ||
-                !*p_intf->p_sys->p_input->stream.pp_es[i]->psz_desc )
-            {
-                snprintf( psz_name, GTK_MENU_LABEL_SIZE,
-                          "Language %d", i_item );
-                psz_name[ GTK_MENU_LABEL_SIZE - 1 ] = '\0';
-            }
-            else
-            {
-                strcpy( psz_name,
-                        p_intf->p_sys->p_input->stream.pp_es[i]->psz_desc );
-            }
-
-            p_item = gtk_radio_menu_item_new_with_label( p_group, psz_name );
-            p_group =
-                gtk_radio_menu_item_group( GTK_RADIO_MENU_ITEM( p_item ) );
-
-            if( p_es == p_intf->p_sys->p_input->stream.pp_es[i] )
-            {
-                /* don't lose p_item when we append into menu */
-                p_item_active = p_item;
-            }
-
-            gtk_widget_show( p_item );
-
-            /* setup signal hanling */
-            gtk_signal_connect( GTK_OBJECT( p_item ), "toggled",
-                            GTK_SIGNAL_FUNC( pf_toggle ),
-                            (gpointer)( p_intf->p_sys->p_input->stream.pp_es[i] ) );
-
-            gtk_menu_append( GTK_MENU( p_menu ), p_item );
-        }
-    }
-
-    vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
-
-    /* link the new menu to the menubar item */
-    gtk_menu_item_set_submenu( GTK_MENU_ITEM( p_root ), p_menu );
-
-    /* acitvation will call signals so we can only do it
-     * when submenu is attached to menu - to get intf_window
-     * We have to release the lock since input_ToggleES needs it */
-    if( p_item_active != NULL )
-    {
-        gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM( p_item_active ),
-                                        TRUE );
-    }
-
-    /* be sure that menu is sensitive if non empty */
-    if( i_item > 0 )
-    {
-        gtk_widget_set_sensitive( p_root, TRUE );
-    }
-
-    return TRUE;
-}
-
-/*****************************************************************************
- * GtkTitleMenu: sets menus for titles and chapters selection
- *****************************************************************************
- * Generates two types of menus:
- *  -simple list of titles
- *  -cascaded lists of chapters for each title
- *****************************************************************************/
-static gint GtkTitleMenu( gpointer       p_data,
-                          GtkWidget *    p_navigation,
-                          void(*pf_toggle )( GtkCheckMenuItem *, gpointer ) )
-{
-    intf_thread_t *     p_intf;
-    char                psz_name[ GTK_MENU_LABEL_SIZE ];
-    GtkWidget *         p_title_menu;
-    GtkWidget *         p_title_submenu;
-    GtkWidget *         p_title_item;
-    GtkWidget *         p_item_active;
-    GtkWidget *         p_chapter_menu;
-    GtkWidget *         p_chapter_submenu;
-    GtkWidget *         p_title_menu_item;
-    GtkWidget *         p_chapter_menu_item;
-    GtkWidget *         p_item;
-    GSList *            p_title_group;
-    GSList *            p_chapter_group;
-    guint               i_title;
-    guint               i_chapter;
-    guint               i_title_nb;
-    guint               i_chapter_nb;
-
-    /* cast */
-    p_intf = (intf_thread_t*)p_data;
-
-    /* temporary hack to avoid blank menu when an open menu is removed */
-    if( GTK_MENU_ITEM(p_navigation)->submenu != NULL )
-    {
-        gtk_menu_popdown( GTK_MENU( GTK_MENU_ITEM(p_navigation)->submenu ) );
-    }
-    /* removes previous menu */
-    gtk_menu_item_remove_submenu( GTK_MENU_ITEM( p_navigation ) );
-    gtk_widget_set_sensitive( p_navigation, FALSE );
-
-    p_title_menu = gtk_menu_new();
-    p_title_group = NULL;
-    p_title_submenu = NULL;
-    p_title_menu_item = NULL;
-    p_chapter_group = NULL;
-    p_chapter_submenu = NULL;
-    p_chapter_menu_item = NULL;
-    p_item_active = NULL;
-    i_title_nb = p_intf->p_sys->p_input->stream.i_area_nb - 1;
-
-    gtk_object_set_data( GTK_OBJECT( p_title_menu ), "p_intf", p_intf );
-
-    /* loop on titles */
-    for( i_title = 1 ; i_title <= i_title_nb ; i_title++ )
-    {
-        /* we group titles in packets of ten for small screens */
-        if( ( i_title % 10 == 1 ) && ( i_title_nb > 20 ) )
-        {
-            if( i_title != 1 )
-            {
-                gtk_menu_item_set_submenu( GTK_MENU_ITEM( p_title_menu_item ),
-                                           p_title_submenu );
-                gtk_menu_append( GTK_MENU( p_title_menu ), p_title_menu_item );
-            }
-
-            snprintf( psz_name, GTK_MENU_LABEL_SIZE,
-                      "%d - %d", i_title, i_title + 9 );
-            psz_name[ GTK_MENU_LABEL_SIZE - 1 ] = '\0';
-            p_title_menu_item = gtk_menu_item_new_with_label( psz_name );
-            gtk_widget_show( p_title_menu_item );
-            p_title_submenu = gtk_menu_new();
-            gtk_object_set_data( GTK_OBJECT( p_title_submenu ),
-                                 "p_intf", p_intf );
-        }
-
-        snprintf( psz_name, GTK_MENU_LABEL_SIZE, _("Title %d (%d)"), i_title,
-                  p_intf->p_sys->p_input->stream.pp_areas[i_title]->i_part_nb - 1);
-        psz_name[ GTK_MENU_LABEL_SIZE - 1 ] = '\0';
-#if 0
-        if( pf_toggle == on_menubar_title_toggle )
-        {
-            p_title_item = gtk_radio_menu_item_new_with_label( p_title_group,
-                                                           psz_name );
-            p_title_group =
-              gtk_radio_menu_item_group( GTK_RADIO_MENU_ITEM( p_title_item ) );
-
-            if( p_intf->p_sys->p_input->stream.pp_areas[i_title] ==
-                         p_intf->p_sys->p_input->stream.p_selected_area )
-            {
-                p_item_active = p_title_item;
-            }
-
-            /* setup signal hanling */
-            gtk_signal_connect( GTK_OBJECT( p_title_item ),
-                     "toggled",
-                     GTK_SIGNAL_FUNC( pf_toggle ),
-                     (gpointer)(p_intf->p_sys->p_input->stream.pp_areas[i_title]) );
-
-            if( p_intf->p_sys->p_input->stream.i_area_nb > 1 )
-            {
-                /* be sure that menu is sensitive */
-                gtk_widget_set_sensitive( p_navigation, TRUE );
-            }
-        }
-        else
-#endif
-        {
-            p_title_item = gtk_menu_item_new_with_label( psz_name );
-
-#if 1
-            p_chapter_menu = gtk_menu_new();
-            gtk_object_set_data( GTK_OBJECT( p_chapter_menu ),
-                                 "p_intf", p_intf );
-            i_chapter_nb =
-               p_intf->p_sys->p_input->stream.pp_areas[i_title]->i_part_nb - 1;
-
-            for( i_chapter = 1 ; i_chapter <= i_chapter_nb ; i_chapter++ )
-            {
-                /* we group chapters in packets of ten for small screens */
-                if( ( i_chapter % 10 == 1 ) && ( i_chapter_nb > 20 ) )
-                {
-                    if( i_chapter != 1 )
-                    {
-                        gtk_menu_item_set_submenu(
-                                    GTK_MENU_ITEM( p_chapter_menu_item ),
-                                    p_chapter_submenu );
-                        gtk_menu_append( GTK_MENU( p_chapter_menu ),
-                                         p_chapter_menu_item );
-                    }
-
-                    snprintf( psz_name, GTK_MENU_LABEL_SIZE,
-                              "%d - %d", i_chapter, i_chapter + 9 );
-                    psz_name[ GTK_MENU_LABEL_SIZE - 1 ] = '\0';
-                    p_chapter_menu_item =
-                            gtk_menu_item_new_with_label( psz_name );
-                    gtk_widget_show( p_chapter_menu_item );
-                    p_chapter_submenu = gtk_menu_new();
-                    gtk_object_set_data( GTK_OBJECT( p_chapter_submenu ),
-                                         "p_intf", p_intf );
-                }
-
-                snprintf( psz_name, GTK_MENU_LABEL_SIZE,
-                          _("Chapter %d"), i_chapter );
-                psz_name[ GTK_MENU_LABEL_SIZE - 1 ] = '\0';
-
-                p_item = gtk_radio_menu_item_new_with_label(
-                                                p_chapter_group, psz_name );
-                p_chapter_group = gtk_radio_menu_item_group(
-                                                GTK_RADIO_MENU_ITEM( p_item ) );
-                gtk_widget_show( p_item );
-
-#define p_area p_intf->p_sys->p_input->stream.pp_areas[i_title]
-                if( ( p_area ==
-                        p_intf->p_sys->p_input->stream.p_selected_area ) &&
-                    ( p_area->i_part == i_chapter ) )
-                {
-                    p_item_active = p_item;
-                }
-#undef p_area
-
-                /* setup signal hanling */
-                gtk_signal_connect( GTK_OBJECT( p_item ),
-                           "toggled",
-                           GTK_SIGNAL_FUNC( pf_toggle ),
-                           (gpointer)POS2DATA( i_title, i_chapter ) );
-
-                if( i_chapter_nb > 20 )
-                {
-                    gtk_menu_append( GTK_MENU( p_chapter_submenu ), p_item );
-                }
-                else
-                {
-                    gtk_menu_append( GTK_MENU( p_chapter_menu ), p_item );
-                }
-            }
-
-            if( i_chapter_nb > 20 )
-            {
-                gtk_menu_item_set_submenu( GTK_MENU_ITEM( p_chapter_menu_item ),
-                                           p_chapter_submenu );
-                gtk_menu_append( GTK_MENU( p_chapter_menu ),
-                                 p_chapter_menu_item );
-            }
-
-            /* link the new menu to the title menu item */
-            gtk_menu_item_set_submenu( GTK_MENU_ITEM( p_title_item ),
-                                       p_chapter_menu );
-
-            if( p_intf->p_sys->p_input->stream.pp_areas[i_title]->i_part_nb > 1 )
-            {
-                /* be sure that menu is sensitive */
-                gtk_widget_set_sensitive( p_navigation, TRUE );
-            }
-#else
-            GtkRadioMenu( p_intf, p_title_item, p_chapter_group, _("Chapter"),
-                p_intf->p_sys->p_input->stream.pp_areas[i_title]->i_part_nb - 1,
-                1, i_title * 100,
-                p_intf->p_sys->p_input->stream.p_selected_area->i_part +
-                p_intf->p_sys->p_input->stream.p_selected_area->i_id *100,
-                pf_toggle );
-
-#endif
-        }
-        gtk_widget_show( p_title_item );
-
-        if( i_title_nb > 20 )
-        {
-            gtk_menu_append( GTK_MENU( p_title_submenu ), p_title_item );
-        }
-        else
-        {
-            gtk_menu_append( GTK_MENU( p_title_menu ), p_title_item );
-        }
-    }
-
-    if( i_title_nb > 20 )
-    {
-        gtk_menu_item_set_submenu( GTK_MENU_ITEM( p_title_menu_item ),
-                                   p_title_submenu );
-        gtk_menu_append( GTK_MENU( p_title_menu ), p_title_menu_item );
-    }
-
-    /* be sure that menu is sensitive */
-    gtk_widget_set_sensitive( p_title_menu, TRUE );
-
-    /* link the new menu to the menubar item */
-    gtk_menu_item_set_submenu( GTK_MENU_ITEM( p_navigation ), p_title_menu );
-
-    /* Default selected chapter
-     * We have to release the lock since input_ToggleES needs it */
-    if( p_item_active != NULL )
-    {
-        gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM( p_item_active ),
-                                        TRUE );
-    }
-#if 0
-    if( p_intf->p_sys->p_input->stream.i_area_nb > 1 )
-    {
-        /* be sure that menu is sensitive */
-        gtk_widget_set_sensitive( p_navigation, TRUE );
-    }
-#endif
-
-    return TRUE;
-}
-
-/*****************************************************************************
- * GtkSetupVarMenu :
- *****************************************************************************
- *
- *****************************************************************************/
-static gint GtkSetupVarMenu( intf_thread_t * p_intf,
-                             vlc_object_t * p_object,
-                             GtkWidget *p_root,
-                             char * psz_variable,
-                             void(*pf_toggle )( GtkCheckMenuItem *, gpointer ) )
-{
-    vlc_value_t         val, text, val_list, text_list;
-    GtkWidget *         p_menu;
-    GSList *            p_group = NULL;
-    GtkWidget *         p_item;
-    GtkWidget *         p_item_active = NULL;
-
-    int                 i_item, i_type;
-
-     /* temporary hack to avoid blank menu when an open menu is removed */
-    if( GTK_MENU_ITEM(p_root)->submenu != NULL )
-    {
-        gtk_menu_popdown( GTK_MENU( GTK_MENU_ITEM(p_root)->submenu ) );
-    }
-    /* removes previous menu */
-    gtk_menu_item_remove_submenu( GTK_MENU_ITEM( p_root ) );
-    gtk_widget_set_sensitive( p_root, FALSE );
-
-    /* Check the type of the object variable */
-    i_type = var_Type( p_object, psz_variable );
-
-    /* Make sure we want to display the variable */
-    if( i_type & VLC_VAR_HASCHOICE )
-    {
-        var_Change( p_object, psz_variable, VLC_VAR_CHOICESCOUNT, &val, NULL );
-        if( val.i_int == 0 ) return FALSE;
-    }
-
-    /* Get the descriptive name of the variable */
-    var_Change( p_object, psz_variable, VLC_VAR_GETTEXT, &text, NULL );
-
-    /* get the current value */
-    if( var_Get( p_object, psz_variable, &val ) < 0 )
-    {
-        return FALSE;
-    }
-
-    if( var_Change( p_object, psz_variable, VLC_VAR_GETLIST,
-                    &val_list, &text_list ) < 0 )
-    {
-        if( i_type == VLC_VAR_STRING ) free( val.psz_string );
-        return FALSE;
-    }
-
-    /* menu container */
-    p_menu = gtk_menu_new();
-    gtk_object_set_data( GTK_OBJECT( p_menu ), "p_intf", p_intf );
-
-    for( i_item = 0; i_item < val_list.p_list->i_count; i_item++ )
-    {
-        switch( i_type & VLC_VAR_TYPE )
-        {
-        case VLC_VAR_STRING:
-            p_item = gtk_radio_menu_item_new_with_label( p_group,
-                     text_list.p_list->p_values[i_item].psz_string ?
-                     text_list.p_list->p_values[i_item].psz_string :
-                     val_list.p_list->p_values[i_item].psz_string );
-
-            /* signal hanling for off */
-            gtk_signal_connect( GTK_OBJECT( p_item ), "toggled",
-                GTK_SIGNAL_FUNC ( pf_toggle ),
-                /* FIXME memory leak */
-                strdup(val_list.p_list->p_values[i_item].psz_string) );
-
-            if( !strcmp( val.psz_string,
-                         val_list.p_list->p_values[i_item].psz_string ) )
-            {
-                p_item_active = p_item;
-            }
-            break;
-        case VLC_VAR_INTEGER:
-            p_item = gtk_radio_menu_item_new_with_label( p_group,
-                     text_list.p_list->p_values[i_item].psz_string ?
-                     text_list.p_list->p_values[i_item].psz_string :
-                     NULL /* FIXME */ );
-
-            /* signal hanling for off */
-            gtk_signal_connect( GTK_OBJECT( p_item ), "toggled",
-                GTK_SIGNAL_FUNC ( pf_toggle ),
-                (gpointer)val_list.p_list->p_values[i_item].i_int );
-
-            if( val.i_int == val_list.p_list->p_values[i_item].i_int )
-            {
-                p_item_active = p_item;
-            }
-            break;
-        default:
-            /* FIXME */
-            return FALSE;
-        }
-
-        p_group = gtk_radio_menu_item_group( GTK_RADIO_MENU_ITEM( p_item ) );
-
-        gtk_widget_show( p_item );
-
-        gtk_menu_append( GTK_MENU( p_menu ), p_item );
-    }
-
-    /* link the new menu to the menubar item */
-    gtk_menu_item_set_submenu( GTK_MENU_ITEM( p_root ), p_menu );
-
-    if( p_item_active )
-    {
-        gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM(p_item_active),
-                                        TRUE );
-    }
-
-    if( val_list.p_list->i_count > 0 )
-    {
-        gtk_widget_set_sensitive( p_root, TRUE );
-    }
-
-    /* clean up everything */
-    if( i_type == VLC_VAR_STRING ) free( val.psz_string );
-    var_Change( p_object, psz_variable, VLC_VAR_FREELIST,
-                &val_list, &text_list );
-
-    return TRUE;
-}
-
-/*****************************************************************************
- * GtkDeinterlaceMenus: update interactive menus of the interface
- *****************************************************************************
- *****************************************************************************/
-static gint GtkDeinterlaceMenus( gpointer          p_data,
-                                 GtkWidget *       p_root,
-                                 void(*pf_toggle )( GtkCheckMenuItem *, gpointer ) )
-{
-    intf_thread_t *     p_intf;
-    GtkWidget *         p_menu;
-    GtkWidget *         p_separator;
-    GtkWidget *         p_item;
-    GtkWidget *         p_item_active;
-    GSList *            p_group;
-    guint               i_item;
-    guint               i;
-    char                *ppsz_deinterlace_mode[] = { "discard", "blend", "mean", "bob", "linear", NULL };
-    char                *psz_deinterlace_option;
-    char                *psz_filter;
-
-    p_intf = (intf_thread_t *)p_data;
-
-    /* temporary hack to avoid blank menu when an open menu is removed */
-    if( GTK_MENU_ITEM(p_root)->submenu != NULL )
-    {
-        gtk_menu_popdown( GTK_MENU( GTK_MENU_ITEM(p_root)->submenu ) );
-    }
-    /* removes previous menu */
-    gtk_menu_item_remove_submenu( GTK_MENU_ITEM( p_root ) );
-    gtk_widget_set_sensitive( p_root, FALSE );
-
-    p_group = NULL;
-
-    /* menu container */
-    p_menu = gtk_menu_new();
-    gtk_object_set_data( GTK_OBJECT( p_menu ), "p_intf", p_intf );
-
-    /* special case for "off" item */
-    p_item = gtk_radio_menu_item_new_with_label( p_group, "None" );
-    p_group = gtk_radio_menu_item_group( GTK_RADIO_MENU_ITEM( p_item ) );
-
-    gtk_widget_show( p_item );
-
-    /* signal hanling for off */
-    gtk_signal_connect( GTK_OBJECT( p_item ), "toggled",
-                        GTK_SIGNAL_FUNC ( pf_toggle ), NULL );
-
-    gtk_menu_append( GTK_MENU( p_menu ), p_item );
-
-    p_separator = gtk_menu_item_new();
-    gtk_widget_set_sensitive( p_separator, FALSE );
-    gtk_widget_show( p_separator );
-    gtk_menu_append( GTK_MENU( p_menu ), p_separator );
-
-
-    /* search actual deinterlace mode */
-    psz_filter = config_GetPsz( p_intf, "filter" );
-    psz_deinterlace_option = strdup( "None" );
-
-    if( psz_filter && *psz_filter )
-    {
-       if( strstr ( psz_filter, "deinterlace" ) )
-       {
-            vlc_value_t val;
-            vout_thread_t *p_vout;
-
-            p_vout = vlc_object_find( p_intf, VLC_OBJECT_VOUT,
-                                      FIND_ANYWHERE );
-            if( p_vout &&
-                var_Get( p_vout, "deinterlace-mode", &val ) == VLC_SUCCESS )
-            {
-                if( val.psz_string && *val.psz_string )
-                {
-                    free( psz_deinterlace_option );
-                    psz_deinterlace_option = val.psz_string;
-                }
-                else if( val.psz_string ) free( val.psz_string );
-            }
-
-            if( p_vout ) vlc_object_release( p_vout );
-       }
-    }
-    if( psz_filter )
-        free( psz_filter );
-
-    p_item_active = NULL;
-    i_item = 0;
-
-    /* create a set of deinteralce buttons and append them to the container */
-    for( i = 0; ppsz_deinterlace_mode[i] != NULL; i++ )
-    {
-        i_item++;
-
-        p_item = gtk_radio_menu_item_new_with_label( p_group, ppsz_deinterlace_mode[i] );
-        p_group = gtk_radio_menu_item_group( GTK_RADIO_MENU_ITEM( p_item ) );
-        gtk_widget_show( p_item );
-
-        if( !strcmp( ppsz_deinterlace_mode[i], psz_deinterlace_option ) )
-        {
-            p_item_active = p_item;
-        }
-        /* setup signal hanling */
-        gtk_signal_connect( GTK_OBJECT( p_item ), "toggled",
-                            GTK_SIGNAL_FUNC( pf_toggle ),
-                            NULL );
-
-        gtk_menu_append( GTK_MENU( p_menu ), p_item );
-
-    }
-
-    /* link the new menu to the menubar item */
-    gtk_menu_item_set_submenu( GTK_MENU_ITEM( p_root ), p_menu );
-
-    /* acitvation will call signals so we can only do it
-     * when submenu is attached to menu - to get intf_window
-     * We have to release the lock since input_ToggleES needs it */
-    if( p_item_active != NULL )
-    {
-        gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM( p_item_active ),
-                                        TRUE );
-    }
-
-    /* be sure that menu is sensitive if non empty */
-    if( i_item > 0 )
-    {
-        gtk_widget_set_sensitive( p_root, TRUE );
-    }
-
-    return TRUE;
-}
-
-
-
-/*****************************************************************************
- * GtkSetupMenus: function that generates title/chapter/audio/subpic
- * menus with help from preceding functions
- *****************************************************************************
- * Function called with the lock on stream
- *****************************************************************************/
-gint GtkSetupMenus( intf_thread_t * p_intf )
-{
-    es_descriptor_t *   p_audio_es;
-    es_descriptor_t *   p_spu_es;
-    GtkWidget *         p_menubar_menu;
-    GtkWidget *         p_popup_menu;
-    guint               i;
-
-    p_intf->p_sys->b_chapter_update |= p_intf->p_sys->b_title_update;
-    p_intf->p_sys->b_audio_update |= p_intf->p_sys->b_title_update |
-                                     p_intf->p_sys->b_program_update;
-    p_intf->p_sys->b_spu_update |= p_intf->p_sys->b_title_update |
-                                   p_intf->p_sys->b_program_update;
-
-    if( 1 )
-    {
-        p_menubar_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                                     p_intf->p_sys->p_window ), "menubar_deinterlace" ) );
-        p_popup_menu   = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                                     p_intf->p_sys->p_popup ), "popup_deinterlace" ) );
-
-        p_intf->p_sys->b_deinterlace_update = VLC_TRUE;
-        GtkDeinterlaceMenus( p_intf, p_menubar_menu, GtkMenubarDeinterlaceToggle );
-        p_intf->p_sys->b_deinterlace_update = VLC_TRUE;
-        GtkDeinterlaceMenus( p_intf, p_popup_menu, GtkPopupDeinterlaceToggle );
-
-        p_intf->p_sys->b_deinterlace_update = VLC_FALSE;
-    }
-
-    if( p_intf->p_sys->b_program_update )
-    {
-        pgrm_descriptor_t * p_pgrm;
-
-        if( p_intf->p_sys->p_input->stream.p_new_program )
-        {
-            p_pgrm = p_intf->p_sys->p_input->stream.p_new_program;
-        }
-        else
-        {
-            p_pgrm = p_intf->p_sys->p_input->stream.p_selected_program;
-        }
-
-        p_menubar_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                            p_intf->p_sys->p_window ), "menubar_program" ) );
-        GtkProgramMenu( p_intf, p_menubar_menu, p_pgrm,
-                        GtkMenubarProgramToggle );
-
-        p_intf->p_sys->b_program_update = VLC_TRUE;
-        p_popup_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                            p_intf->p_sys->p_popup ), "popup_program" ) );
-        GtkProgramMenu( p_intf, p_popup_menu, p_pgrm,
-                        GtkPopupProgramToggle );
-
-        p_intf->p_sys->b_program_update = VLC_FALSE;
-    }
-
-    if( p_intf->p_sys->b_title_update )
-    {
-        char            psz_title[5];
-
-        p_menubar_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                            p_intf->p_sys->p_window ), "menubar_title" ) );
-        GtkRadioMenu( p_intf, p_menubar_menu, NULL, _("Title"), 1,
-                      p_intf->p_sys->p_input->stream.i_area_nb - 1,
-                      p_intf->p_sys->p_input->stream.p_selected_area->i_id,
-                      GtkMenubarTitleToggle );
-
-        snprintf( psz_title, 4, "%d",
-                  p_intf->p_sys->p_input->stream.p_selected_area->i_id );
-        psz_title[ 4 ] = '\0';
-        gtk_label_set_text( p_intf->p_sys->p_label_title, psz_title );
-
-        p_intf->p_sys->b_title_update = VLC_FALSE;
-    }
-
-    if( p_intf->p_sys->b_chapter_update )
-    {
-        char            psz_chapter[5];
-
-        p_popup_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                             p_intf->p_sys->p_popup ), "popup_navigation" ) );
-        GtkTitleMenu( p_intf, p_popup_menu, GtkPopupNavigationToggle );
-#if 0
-        GtkRadioMenu( p_intf, p_menubar_menu, NULL, _("Title"), 1,
-                        p_intf->p_sys->p_input->stream.i_area_nb - 1,
-                        p_intf->p_sys->p_input->stream.p_selected_area->i_id,
-                        on_menubar_chapter_toggle );
-#endif
-
-        p_menubar_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                             p_intf->p_sys->p_window ), "menubar_chapter" ) );
-
-        GtkRadioMenu( p_intf, p_menubar_menu, NULL, _("Chapter"), 1,
-                        p_intf->p_sys->p_input->stream.p_selected_area->i_part_nb - 1,
-                        p_intf->p_sys->p_input->stream.p_selected_area->i_part,
-                        GtkMenubarChapterToggle );
-
-
-        snprintf( psz_chapter, 4, "%d",
-                  p_intf->p_sys->p_input->stream.p_selected_area->i_part );
-        psz_chapter[ 4 ] = '\0';
-        gtk_label_set_text( p_intf->p_sys->p_label_chapter, psz_chapter );
-
-        p_intf->p_sys->i_part =
-                p_intf->p_sys->p_input->stream.p_selected_area->i_part;
-
-        p_intf->p_sys->b_chapter_update = VLC_FALSE;
-    }
-
-    /* look for selected ES */
-    p_audio_es = NULL;
-    p_spu_es = NULL;
-
-    for( i = 0 ; i < p_intf->p_sys->p_input->stream.i_selected_es_number ; i++ )
-    {
-        if( p_intf->p_sys->p_input->stream.pp_selected_es[i]->i_cat == AUDIO_ES )
-        {
-            p_audio_es = p_intf->p_sys->p_input->stream.pp_selected_es[i];
-        }
-
-        if( p_intf->p_sys->p_input->stream.pp_selected_es[i]->i_cat == SPU_ES )
-        {
-            p_spu_es = p_intf->p_sys->p_input->stream.pp_selected_es[i];
-        }
-    }
-
-    vlc_mutex_unlock( &p_intf->p_sys->p_input->stream.stream_lock );
-
-    /* audio menus */
-    if( p_intf->p_sys->b_audio_update )
-    {
-        /* find audio root menu */
-        p_menubar_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                             p_intf->p_sys->p_window ), "menubar_audio" ) );
-
-        p_popup_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                     p_intf->p_sys->p_popup ), "popup_language" ) );
-
-        p_intf->p_sys->b_audio_update = VLC_TRUE;
-        GtkLanguageMenus( p_intf, p_menubar_menu, p_audio_es, AUDIO_ES,
-                            GtkMenubarAudioToggle );
-        p_intf->p_sys->b_audio_update = VLC_TRUE;
-        GtkLanguageMenus( p_intf, p_popup_menu, p_audio_es, AUDIO_ES,
-                            GtkPopupAudioToggle );
-
-        p_intf->p_sys->b_audio_update = VLC_FALSE;
-    }
-
-    /* sub picture menus */
-    if( p_intf->p_sys->b_spu_update )
-    {
-        /* find spu root menu */
-        p_menubar_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                          p_intf->p_sys->p_window ), "menubar_subpictures" ) );
-
-        p_popup_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                     p_intf->p_sys->p_popup ), "popup_subpictures" ) );
-
-        p_intf->p_sys->b_spu_update = VLC_TRUE;
-        GtkLanguageMenus( p_intf, p_menubar_menu, p_spu_es, SPU_ES,
-                            GtkMenubarSubtitleToggle  );
-        p_intf->p_sys->b_spu_update = VLC_TRUE;
-        GtkLanguageMenus( p_intf, p_popup_menu, p_spu_es, SPU_ES,
-                            GtkPopupSubtitleToggle );
-
-        p_intf->p_sys->b_spu_update = VLC_FALSE;
-    }
-    /* create audio channels and device menu (in menubar _and_ popup */
-    if( p_intf->p_sys->b_aout_update )
-    {
-        aout_instance_t *p_aout;
-
-        p_aout = (aout_instance_t*)vlc_object_find( p_intf, VLC_OBJECT_AOUT, FIND_ANYWHERE );
-
-        if( p_aout != NULL )
-        {
-            vlc_value_t val;
-            val.b_bool = VLC_FALSE;
-
-            var_Set( (vlc_object_t *)p_aout, "intf-change", val );
-
-            /* audio-channels */
-            p_menubar_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                              p_intf->p_sys->p_window ), "menubar_audio_channels" ) );
-            p_popup_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                         p_intf->p_sys->p_popup ), "popup_audio_channels" ) );
-            GtkSetupVarMenu( p_intf, (vlc_object_t *)p_aout, p_popup_menu,
-                              "audio-channels",  GtkPopupAoutChannelsToggle );
-            GtkSetupVarMenu( p_intf, (vlc_object_t *)p_aout, p_menubar_menu,
-                              "audio-channels",  GtkPopupAoutChannelsToggle );
-
-            /* audio-device */
-            p_menubar_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                              p_intf->p_sys->p_window ), "menubar_audio_device" ) );
-            p_popup_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                         p_intf->p_sys->p_popup ), "popup_audio_device" ) );
-            GtkSetupVarMenu( p_intf, (vlc_object_t *)p_aout, p_popup_menu,
-                              "audio-device",  GtkPopupAoutDeviceToggle );
-            GtkSetupVarMenu( p_intf, (vlc_object_t *)p_aout, p_menubar_menu,
-                              "audio-device",  GtkPopupAoutDeviceToggle );
-
-            vlc_object_release( (vlc_object_t *)p_aout );
-        }
-        p_intf->p_sys->b_aout_update = VLC_FALSE;
-    }
-
-    if( p_intf->p_sys->b_vout_update )
-    {
-        vout_thread_t *p_vout;
-
-        p_vout = (vout_thread_t*)vlc_object_find( p_intf, VLC_OBJECT_VOUT, FIND_ANYWHERE );
-
-        if( p_vout != NULL )
-        {
-            vlc_value_t val;
-            val.b_bool = VLC_FALSE;
-
-            var_Set( (vlc_object_t *)p_vout, "intf-change", val );
-
-            /* video-device */
-            p_menubar_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                              p_intf->p_sys->p_window ), "menubar_video_device" ) );
-            p_popup_menu = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT(
-                         p_intf->p_sys->p_popup ), "popup_video_device" ) );
-            GtkSetupVarMenu( p_intf, (vlc_object_t *)p_vout, p_popup_menu,
-                              "video-device",  GtkPopupVoutDeviceToggle );
-            GtkSetupVarMenu( p_intf, (vlc_object_t *)p_vout, p_menubar_menu,
-                              "video-device",  GtkPopupVoutDeviceToggle );
-
-
-            vlc_object_release( (vlc_object_t *)p_vout );
-        }
-        p_intf->p_sys->b_vout_update = VLC_FALSE;
-    }
-    vlc_mutex_lock( &p_intf->p_sys->p_input->stream.stream_lock );
-
-    return TRUE;
-}
-
diff --git a/modules/gui/gtk/menu.h b/modules/gui/gtk/menu.h
deleted file mode 100644 (file)
index 130d7ba..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*****************************************************************************
- * gtk_menu.h: prototypes for menu functions
- *****************************************************************************
- * Copyright (C) 1999, 2000 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *
- * 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.
- *****************************************************************************/
-
-gint GtkSetupMenus( intf_thread_t * );
-
-/*****************************************************************************
- * String sizes
- *****************************************************************************/
-#define GTK_MENU_LABEL_SIZE 64
-
-/*****************************************************************************
- * Convert user_data structures to title and chapter information
- *****************************************************************************/
-#define DATA2TITLE( user_data )    ( (gint)((long)(user_data)) >> 16 )
-#define DATA2CHAPTER( user_data )  ( (gint)((long)(user_data)) & 0xffff )
-#define POS2DATA( title, chapter ) ( 0 + ( ((title) << 16) \
-                                         | ((chapter) & 0xffff)) )
-
diff --git a/modules/gui/gtk/modules.c b/modules/gui/gtk/modules.c
deleted file mode 100644 (file)
index 90d30ec..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*****************************************************************************
- * gtk_modules.c : functions to build modules configuration boxes.
- *****************************************************************************
- * Copyright (C) 2000, 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *      
- * 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>
-
-#ifdef MODULE_NAME_IS_gnome
-#   include <gnome.h>
-#else
-#   include <gtk/gtk.h>
-#endif
-
-#include <string.h>
-
-#include "gtk_callbacks.h"
-#include "gtk_interface.h"
-#include "gtk_support.h"
-
-#include "playlist.h"
-#include "common.h"
-
-gboolean GtkModulesShow( GtkWidget       *widget,
-                         gpointer         user_data )
-{
-    intf_thread_t *p_intf = GtkGetIntf( widget );
-
-    if( !GTK_IS_WIDGET( p_intf->p_sys->p_modules ) )
-    {
-/*        p_intf->p_sys->p_modules = create_intf_modules(); */
-        gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_modules ),
-                             "p_intf", p_intf );
-    }
-    gtk_widget_show( p_intf->p_sys->p_modules );
-    gdk_window_raise( p_intf->p_sys->p_modules->window );
-
-    return FALSE;
-}
-
-void GtkModulesCancel( GtkButton * button, gpointer user_data )
-{
-    intf_thread_t *p_intf = GtkGetIntf( button );
-
-    gtk_widget_hide( p_intf->p_sys->p_modules );
-}
-
diff --git a/modules/gui/gtk/modules.h b/modules/gui/gtk/modules.h
deleted file mode 100644 (file)
index fda99db..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/*****************************************************************************
- * gtk_modules.h: prototypes for modules functions
- *****************************************************************************
- * Copyright (C) 1999, 2000 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *
- * 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.
- *****************************************************************************/
-
-gboolean GtkModulesShow    ( GtkWidget *, gpointer );
-void     GtkModulesCancel  ( GtkButton * button, gpointer );
-
diff --git a/modules/gui/gtk/open.c b/modules/gui/gtk/open.c
deleted file mode 100644 (file)
index a10db77..0000000
+++ /dev/null
@@ -1,731 +0,0 @@
-/*****************************************************************************
- * gtk_open.c : functions to handle file/disc/network open widgets.
- *****************************************************************************
- * Copyright (C) 2000, 2001, 2003 the VideoLAN team
- * $Id$
- *
- * Authors: Sam Hocevar <sam@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *
- * 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>
-
-#ifdef MODULE_NAME_IS_gnome
-#   include <gnome.h>
-#else
-#   include <gtk/gtk.h>
-#endif
-
-#include <string.h>
-
-#include "gtk_callbacks.h"
-#include "gtk_interface.h"
-#include "gtk_support.h"
-
-#include "playlist.h"
-#include "common.h"
-
-#ifdef HAVE_CDDAX
-#define CDDA_MRL "cddax://"
-#else
-#define CDDA_MRL "cdda://"
-#endif
-
-#ifdef HAVE_VCDX
-#define VCD_MRL "vcdx://"
-#else
-#define VCD_MRL "vcdx://"
-#endif
-
-static void GtkOpenShow( intf_thread_t *, int );
-
-static void GtkFileOpenChanged    ( GtkWidget *, gpointer );
-static void GtkDiscOpenChanged    ( GtkWidget *, gpointer );
-static void GtkNetworkOpenChanged ( GtkWidget *, gpointer );
-static void GtkSatOpenChanged     ( GtkWidget *, gpointer );
-
-/*****************************************************************************
- * File requester callbacks
- *****************************************************************************
- * The following callbacks are related to the file requester.
- *****************************************************************************/
-void GtkFileShow( GtkButton * button, gpointer user_data )
-{
-    GtkWidget * p_file = create_intf_file();
-
-    gtk_object_set_data( GTK_OBJECT(p_file), "p_intf",
-                         GtkGetIntf( button ) );
-
-    /* entry <- entry_file or entry_subtitle */
-    gtk_object_set_data( GTK_OBJECT(p_file), "entry",
-                         user_data );
-
-    gtk_widget_show( p_file );
-    gdk_window_raise( p_file->window );
-}
-
-void GtkFileOk( GtkButton * button, gpointer user_data )
-{
-    GtkWidget * p_file = gtk_widget_get_toplevel( GTK_WIDGET (button) );
-
-    char *psz_entry;
-    char *psz_filename;
-    intf_thread_t * p_intf = GtkGetIntf( button );
-
-    /* add the new file to the dialog box */
-    psz_entry = gtk_object_get_data( GTK_OBJECT( p_file ), "entry" );
-    psz_filename =
-            gtk_file_selection_get_filename( GTK_FILE_SELECTION( p_file ) );
-    gtk_entry_set_text( GTK_ENTRY( lookup_widget( p_intf->p_sys->p_open,
-                                                  psz_entry ) ),
-                        psz_filename );
-    gtk_widget_destroy( p_file );
-}
-
-void GtkFileCancel( GtkButton * button, gpointer user_data )
-{
-    gtk_widget_destroy( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
-}
-
-/*****************************************************************************
- * Open file callbacks
- *****************************************************************************
- * The following callbacks are related to the file tab.
- *****************************************************************************/
-gboolean GtkFileOpenShow( GtkWidget       *widget,
-                          gpointer         user_data )
-{
-    GtkOpenShow( GtkGetIntf( widget ), 0 );
-
-    return TRUE;
-}
-
-static void GtkFileOpenChanged( GtkWidget * button, gpointer user_data )
-{
-    GString *       p_target;
-
-    p_target = g_string_new( "file://" );
-    g_string_append( p_target,
-                     gtk_entry_get_text( GTK_ENTRY( lookup_widget(
-                                     GTK_WIDGET(button), "entry_file" ) ) ) );
-    gtk_entry_set_text( GTK_ENTRY( lookup_widget(
-                                   GTK_WIDGET(button), "entry_open" ) ),
-                        p_target->str );
-    g_string_free( p_target, TRUE );
-}
-
-/*****************************************************************************
- * Open disc callbacks
- *****************************************************************************
- * The following callbacks are related to the disc manager.
- *****************************************************************************/
-gboolean GtkDiscOpenShow( GtkWidget       *widget,
-                          gpointer         user_data)
-{
-    GtkOpenShow( GtkGetIntf( widget ), 1 );
-
-    return TRUE;
-}
-
-void GtkDiscOpenDvd( GtkToggleButton * togglebutton, gpointer user_data )
-{
-    intf_thread_t * p_intf = GtkGetIntf( togglebutton );
-    char *psz_device;
-
-    if( togglebutton->active )
-    {
-        if ( (psz_device = config_GetPsz( p_intf, "dvd" )) )
-        {
-           gtk_widget_set_sensitive( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "disc_dvd_use_menu" ) ) , TRUE);
-
-           gtk_entry_set_text(
-            GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
-                                      "disc_name" ) ), psz_device );
-           free( psz_device );
-        }
-        else
-        {
-          gtk_widget_set_sensitive( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "disc_dvd_use_menu" ) ), FALSE );
-        }
-        GtkDiscOpenChanged( (GtkWidget *) togglebutton, user_data );
-    }
-    else
-    {
-        gtk_widget_set_sensitive( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "disc_dvd_use_menu" ) ), FALSE );
-    }
-}
-
-void GtkDiscOpenVcd( GtkToggleButton * togglebutton, gpointer user_data )
-{
-    intf_thread_t * p_intf = GtkGetIntf( togglebutton );
-    char *psz_device;
-
-    if( togglebutton->active )
-      {
-        if ( (psz_device = config_GetPsz( p_intf, "vcd" )) )
-         {
-           gtk_entry_set_text(
-            GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
-                                      "disc_name" ) ), psz_device );
-           free( psz_device );
-         } else {
-            gtk_entry_set_text(
-            GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
-                                      "disc_name" ) ), "" );
-         }
-        GtkDiscOpenChanged( (GtkWidget *) togglebutton, user_data );
-      }
-}
-
-void GtkDiscOpenCDDA( GtkToggleButton * togglebutton, gpointer user_data )
-{
-    intf_thread_t * p_intf = GtkGetIntf( togglebutton );
-    char *psz_device;
-
-    if( togglebutton->active )
-      {
-        if ( (psz_device = config_GetPsz( p_intf, "cd-audio" )) )
-        {
-          gtk_entry_set_text(
-            GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
-                                      "disc_name" ) ), psz_device );
-          free( psz_device );
-        } else {
-          gtk_entry_set_text(
-            GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
-                                      "disc_name" ) ), "" );
-        }
-        GtkDiscOpenChanged( (GtkWidget *) togglebutton, user_data );
-      }
-}
-
-static void GtkDiscOpenChanged( GtkWidget * button, gpointer user_data )
-{
-    intf_thread_t * p_intf = GtkGetIntf( button );
-    GString * p_target = g_string_new( "" );
-    GtkWidget * p_open = gtk_widget_get_toplevel( GTK_WIDGET (button) );
-    vlc_bool_t b_menus = VLC_FALSE;
-    vlc_bool_t b_chapter_menu = VLC_TRUE;
-    GtkWidget *p_label = gtk_object_get_data( GTK_OBJECT( p_open ),
-                                              "disc_title_label" );
-
-    if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
-                                          "disc_dvd" ) )->active )
-    {
-        gtk_label_set_text( GTK_LABEL( p_label ), _("Title") );
-
-        b_menus = GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
-                                               "disc_dvd_use_menu" ) )->active;
-
-        if( b_menus )
-        {
-            g_string_append( p_target, "dvd://" );
-        }
-        else
-        {
-            g_string_append( p_target, "dvdsimple://" );
-        }
-
-        g_string_append( p_target,
-                         gtk_entry_get_text( GTK_ENTRY( lookup_widget(
-                                     GTK_WIDGET(button), "disc_name" ) ) ) );
-
-        if( !b_menus )
-          {
-            g_string_sprintfa( p_target, "@%i:%i",
-                               gtk_spin_button_get_value_as_int(
-                                GTK_SPIN_BUTTON( lookup_widget(
-                                    GTK_WIDGET(button), "disc_title" ) ) ),
-                               gtk_spin_button_get_value_as_int(
-                                GTK_SPIN_BUTTON( lookup_widget(
-                                    GTK_WIDGET(button), "disc_chapter" ) ) ) );
-          }
-    }
-    else if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
-                                               "disc_vcd" ) )->active )
-    {
-        int i = gtk_spin_button_get_value_as_int(
-                           GTK_SPIN_BUTTON( lookup_widget(
-                           GTK_WIDGET(button), "disc_title" ) ) );
-
-#ifdef HAVE_VCDX
-        int i_pbc = config_GetInt( p_intf, "vcdx-PBC"  );
-
-        gtk_label_set_text( GTK_LABEL( p_label ),
-                            i_pbc ? _("PBC LID") : _("Entry") );
-
-        g_string_append( p_target, VCD_MRL );
-        g_string_append( p_target,
-                         gtk_entry_get_text( GTK_ENTRY( lookup_widget(
-                         GTK_WIDGET(button), "disc_name" ) ) ) );
-
-        if ( i )
-          g_string_sprintfa( p_target, "@%c%d", i_pbc ? 'P' : 'E', i );
-
-#else
-        gtk_label_set_text( GTK_LABEL( p_label ), _("Track") );
-        g_string_append( p_target, VCD_MRL );
-        g_string_sprintfa( p_target, "@%d", i );
-#endif /* HAVE_VCDX */
-        b_chapter_menu = VLC_FALSE;
-    }
-
-    else if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
-                                               "disc_cdda" ) )->active )
-    {
-        int i = gtk_spin_button_get_value_as_int(
-                           GTK_SPIN_BUTTON( lookup_widget(
-                           GTK_WIDGET(button), "disc_title" ) ) );
-
-        gtk_label_set_text( GTK_LABEL( p_label ), _("Track") );
-        b_chapter_menu = VLC_FALSE;
-
-        g_string_append( p_target, CDDA_MRL );
-        g_string_append( p_target,
-                     gtk_entry_get_text( GTK_ENTRY( lookup_widget(
-                                     GTK_WIDGET(button), "disc_name" ) ) ) );
-#ifdef HAVE_CDDAX
-        if ( i )
-          g_string_sprintfa( p_target, "@T%i", i );
-#else
-        g_string_sprintfa( p_target, "@%i", i );
-
-#endif
-    }
-
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
-                    "disc_title_label" ), !b_menus );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
-                    "disc_title" ), !b_menus );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
-                    "disc_chapter_label" ), b_chapter_menu && !b_menus );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
-                    "disc_chapter" ), b_chapter_menu && !b_menus );
-
-    gtk_entry_set_text( GTK_ENTRY( lookup_widget(
-                                   GTK_WIDGET(button), "entry_open" ) ),
-                        p_target->str );
-    g_string_free( p_target, TRUE );
-}
-
-/*****************************************************************************
- * Network stream callbacks
- *****************************************************************************
- * The following callbacks are related to the network stream manager.
- *****************************************************************************/
-gboolean GtkNetworkOpenShow( GtkWidget       *widget,
-                             gpointer         user_data )
-{
-    GtkOpenShow( GtkGetIntf( widget ), 2 );
-
-    return TRUE;
-}
-
-static void GtkNetworkOpenChanged( GtkWidget *button, gpointer user_data )
-{
-    GString *       p_target = g_string_new( "" );
-
-    unsigned int    i_port;
-
-#define SELECTED( s ) GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button), \
-                       (s) ) )->active
-    /* Check which option was chosen */
-    if( SELECTED( "network_udp" ) )
-    {
-        g_string_append( p_target, "udp://" );
-        i_port = gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON(
-                               lookup_widget( GTK_WIDGET(button),
-                                              "network_udp_port" ) ) );
-        if( i_port != 1234 )
-        {
-            g_string_sprintfa( p_target, "@:%i", i_port );
-        }
-    }
-    else if( SELECTED( "network_multicast" ) )
-    {
-        g_string_sprintfa( p_target, "udp://@%s",
-                           gtk_entry_get_text( GTK_ENTRY(
-                            lookup_widget( GTK_WIDGET(button),
-                                           "network_multicast_address" ) ) ) );
-        i_port = gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON(
-                               lookup_widget( GTK_WIDGET(button),
-                                              "network_multicast_port" ) ) );
-        if( i_port != 1234 )
-        {
-            g_string_sprintfa( p_target, ":%i", i_port );
-        }
-    }
-    else if( SELECTED( "network_http" ) )
-    {
-        g_string_assign( p_target,
-                         gtk_entry_get_text( GTK_ENTRY( lookup_widget(
-                               GTK_WIDGET(button), "network_http_url" ) ) ) );
-    }
-
-    gtk_entry_set_text( GTK_ENTRY( lookup_widget(
-                                   GTK_WIDGET(button), "entry_open" ) ),
-                        p_target->str );
-    g_string_free( p_target, TRUE );
-}
-
-void GtkNetworkOpenUDP( GtkToggleButton *togglebutton,
-                                        gpointer user_data )
-{
-    GtkWidget *     p_open;
-
-    p_open = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
-
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
-                    "network_udp_port_label" ),
-                    gtk_toggle_button_get_active( togglebutton ) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
-                    "network_udp_port" ),
-                    gtk_toggle_button_get_active( togglebutton ) );
-
-    GtkNetworkOpenChanged( GTK_WIDGET( togglebutton ), user_data );
-}
-
-void GtkNetworkOpenMulticast( GtkToggleButton *togglebutton,
-                                              gpointer user_data )
-{
-    GtkWidget *     p_open;
-
-    p_open = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
-                    "network_multicast_address_label" ),
-                    gtk_toggle_button_get_active( togglebutton ) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
-                    "network_multicast_address_combo" ),
-                    gtk_toggle_button_get_active( togglebutton ) );
-
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
-                    "network_multicast_port_label" ),
-                    gtk_toggle_button_get_active( togglebutton ) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
-                    "network_multicast_port" ),
-                    gtk_toggle_button_get_active( togglebutton ) );
-
-    GtkNetworkOpenChanged( GTK_WIDGET( togglebutton ), user_data );
-}
-
-void GtkNetworkOpenHTTP( GtkToggleButton *togglebutton,
-                                         gpointer user_data )
-{
-    GtkWidget *     p_open;
-
-    p_open = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
-                    "network_http_url_label" ),
-                    gtk_toggle_button_get_active( togglebutton ) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
-                    "network_http_url" ),
-                    gtk_toggle_button_get_active( togglebutton ) );
-
-    GtkNetworkOpenChanged( GTK_WIDGET( togglebutton ), user_data );
-}
-
-/*****************************************************************************
- * Open satellite callbacks
- *****************************************************************************
- * The following callbacks are related to the satellite card manager.
- *****************************************************************************/
-gboolean GtkSatOpenShow( GtkWidget       *widget,
-                         gpointer         user_data)
-{
-    GtkOpenShow( GtkGetIntf( widget ), 3 );
-
-    return TRUE;
-}
-
-static void GtkSatOpenChanged( GtkWidget * button, gpointer user_data )
-{
-    GString *       p_target = g_string_new( "" );
-
-    g_string_sprintfa( p_target, "%s://%d,%d,%ld,%d", "satellite",
-                       gtk_spin_button_get_value_as_int(
-                              GTK_SPIN_BUTTON( lookup_widget(
-                                  GTK_WIDGET(button), "sat_freq" ) ) ),
-                       !GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET( button ),
-                                               "sat_pol_vert" ) )->active,
-                       strtol( gtk_entry_get_text( GTK_ENTRY( GTK_COMBO(
-                               lookup_widget( GTK_WIDGET( button ), "sat_fec" )
-                               )->entry ) ), NULL, 10 ),
-                       gtk_spin_button_get_value_as_int(
-                              GTK_SPIN_BUTTON( lookup_widget(
-                                  GTK_WIDGET(button), "sat_srate" ) ) ) );
-
-    gtk_entry_set_text( GTK_ENTRY( lookup_widget(
-                                   GTK_WIDGET(button), "entry_open" ) ),
-                        p_target->str );
-    g_string_free( p_target, TRUE );
-}
-
-void
-GtkSatOpenToggle                       (GtkToggleButton *togglebutton,
-                                        gpointer         user_data)
-{
-    if( togglebutton->active )
-    {
-        GtkSatOpenChanged( GTK_WIDGET( togglebutton ), user_data );
-    }
-}
-
-/*****************************************************************************
- * Open subtitle callbacks
- *****************************************************************************
- * The following callbacks are related to the subtitle
- *****************************************************************************/
-void
-GtkOpenSubtitleShow                    (GtkButton       *button,
-                                        gpointer         user_data)
-{
-    intf_thread_t * p_intf = GtkGetIntf( button );
-
-    if( GTK_TOGGLE_BUTTON( button )->active )
-    {
-        /* show hbox_subtitle */
-        gtk_widget_show_all( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "hbox_subtitle" ) ) );
-    }
-    else
-    {
-        /* hide hbox_subtitle */
-        gtk_widget_hide_all( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "hbox_subtitle" ) ) );
-    }
-}
-
-/*****************************************************************************
- * Open sout callbacks
- *****************************************************************************
- * The following callbacks are related to the sout
- *****************************************************************************/
-
-void GtkOpenSoutShow  ( GtkButton       *button,
-                        gpointer         user_data)
-{
-    intf_thread_t * p_intf = GtkGetIntf( button );
-
-    if( GTK_TOGGLE_BUTTON( button )->active )
-    {
-        gtk_widget_set_sensitive( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "sout_settings" ) ), TRUE );
-    }
-    else
-    {
-        gtk_widget_set_sensitive( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "sout_settings" ) ), FALSE );
-    }
-
-}
-
-/******************************
-  ******************************/
-
-static void GtkOpenShow( intf_thread_t *p_intf, int i_page )
-{
-    char *psz_var;
-    GtkWidget *p_notebook;
-
-    /* If we have already created this window, do nothing */
-    if( GTK_IS_WIDGET( p_intf->p_sys->p_open ) )
-    {
-        goto setpage;
-    }
-
-    p_intf->p_sys->p_open = create_intf_open();
-    gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_open ),
-                         "p_intf", p_intf );
-
-    /* FileOpen stuff */
-    psz_var = config_GetPsz( p_intf, MODULE_STRING"-search-path" );
-    if( psz_var )
-    {
-        gtk_file_selection_set_filename( GTK_FILE_SELECTION(
-            p_intf->p_sys->p_open ), psz_var );
-        free( psz_var );
-    }
-
-    /* Disc stuff */
-    psz_var = config_GetPsz( p_intf, "dvd" );
-    if( psz_var )
-    {
-        gtk_entry_set_text( GTK_ENTRY( gtk_object_get_data(
-            GTK_OBJECT( p_intf->p_sys->p_open ), "disc_name" ) ),
-            psz_var );
-        free( psz_var );
-    }
-
-    /* Network stuff */
-    gtk_spin_button_set_value( GTK_SPIN_BUTTON( gtk_object_get_data(
-        GTK_OBJECT( p_intf->p_sys->p_open ), "network_udp_port" ) ),
-        config_GetInt( p_intf, "server-port" ) );
-
-    gtk_entry_set_text( GTK_ENTRY( gtk_object_get_data(
-        GTK_OBJECT( p_intf->p_sys->p_open ), "network_http_url" ) ),
-        "http://" );
-
-#ifdef HAVE_SATELLITE
-    /* Satellite stuff */
-    psz_var = config_GetPsz( p_intf, "frequency" );
-    if( psz_var )
-    {
-        gtk_entry_set_text( GTK_ENTRY( gtk_object_get_data(
-            GTK_OBJECT( p_intf->p_sys->p_open ), "sat_freq" ) ),
-            psz_var );
-        free( psz_var );
-    }
-
-    psz_var = config_GetPsz( p_intf, "symbol-rate" );
-    if( psz_var )
-    {
-        gtk_entry_set_text( GTK_ENTRY( gtk_object_get_data(
-            GTK_OBJECT( p_intf->p_sys->p_open ), "sat_srate" ) ),
-            psz_var );
-        free( psz_var );
-    }
-#endif /*HAVE_SATELITE*/
-
-    /* subtitle stuff */
-    /* hide hbox_subtitle */
-    gtk_widget_hide_all( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "hbox_subtitle" ) ) );
-    /* sout */
-    psz_var = config_GetPsz( p_intf, "sout" );
-    if( psz_var && *psz_var )
-    {
-        gtk_toggle_button_set_active(  gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "show_sout_settings" ), TRUE );
-        gtk_widget_set_sensitive( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "sout_settings" ) ), TRUE );
-    }
-    else
-    {
-        gtk_toggle_button_set_active(  gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "show_sout_settings" ), FALSE );
-        gtk_widget_set_sensitive( GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( p_intf->p_sys->p_open ), "sout_settings" ) ), FALSE );
-    }
-    if( psz_var ) free( psz_var );
-
-    /* Set the right page */
-setpage:
-    p_notebook = lookup_widget( GTK_WIDGET( p_intf->p_sys->p_open ),
-                                "open_notebook" );
-    gtk_notebook_set_page( GTK_NOTEBOOK( p_notebook ), i_page );
-
-    gtk_widget_show( p_intf->p_sys->p_open );
-    gdk_window_raise( p_intf->p_sys->p_open->window );
-}
-
-void GtkOpenOk( GtkButton * button, gpointer user_data )
-{
-    /* Check what was pressed */
-    intf_thread_t * p_intf = GtkGetIntf( button );
-    playlist_t *    p_playlist;
-    GtkCList *      p_playlist_clist;
-    gchar *         psz_target;
-
-    /* Hide the dialog box */
-    gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
-
-    /* Update the playlist */
-    p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-
-    psz_target = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
-                                       GTK_WIDGET(button), "entry_open" ) ) );
-    playlist_Add( p_playlist, (char*)psz_target, (char*)psz_target,
-                  PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
-
-    /* catch the GTK CList */
-    p_playlist_clist = GTK_CLIST( gtk_object_get_data(
-        GTK_OBJECT( p_intf->p_sys->p_playwin ), "playlist_clist" ) );
-    /* update the plugin display */
-    GtkRebuildCList( p_playlist_clist, p_playlist );
-
-    vlc_object_release( p_playlist );
-
-    /* export subtitle */
-    if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
-                           "show_subtitle" ) )->active )
-    {
-        /* yeah subtitle */
-        char    *psz_subtitle;
-        gfloat  delay;
-        gfloat  fps;
-
-        psz_subtitle = gtk_entry_get_text( GTK_ENTRY( lookup_widget( GTK_WIDGET(button), "entry_subtitle" ) ) );
-        delay = gtk_spin_button_get_value_as_float( GTK_SPIN_BUTTON( lookup_widget( GTK_WIDGET(button), "subtitle_delay" ) ) );
-        fps = gtk_spin_button_get_value_as_float( GTK_SPIN_BUTTON( lookup_widget( GTK_WIDGET(button), "subtitle_fps" ) ) );
-
-        config_PutPsz( p_intf, "sub-file", psz_subtitle );
-        config_PutInt( p_intf, "sub-delay", (int)( delay * 10 ) );
-        config_PutFloat( p_intf, "sub-fps", fps );
-    }
-    else
-    {
-        config_PutPsz( p_intf, "sub-file", "" );
-    }
-    /* export sout */
-    if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
-                           "show_sout_settings" ) )->active )
-    {
-        char    *psz_sout;
-
-        psz_sout = gtk_entry_get_text( GTK_ENTRY( lookup_widget( GTK_WIDGET( p_intf->p_sys->p_sout ), "sout_entry_target" ) ) );
-        config_PutPsz( p_intf, "sout", psz_sout );
-    }
-    else
-    {
-        config_PutPsz( p_intf, "sout", "" );
-    }
-}
-
-void GtkOpenCancel( GtkButton * button, gpointer user_data )
-{
-    gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
-}
-
-void GtkOpenChanged( GtkWidget * button, gpointer user_data )
-{
-    intf_thread_t * p_intf = GtkGetIntf( button );
-    GtkWidget *p_notebook;
-    int i_page;
-
-    p_notebook = lookup_widget( GTK_WIDGET( p_intf->p_sys->p_open ),
-                                "open_notebook" );
-    i_page = gtk_notebook_get_current_page( GTK_NOTEBOOK( p_notebook ) );
-
-    switch( i_page )
-    {
-        case 0:
-            GtkFileOpenChanged( button, NULL );
-            break;
-        case 1:
-            GtkDiscOpenChanged( button, NULL );
-            break;
-        case 2:
-            GtkNetworkOpenChanged( button, NULL );
-            break;
-        case 3:
-            GtkSatOpenChanged( button, NULL );
-            break;
-    }
-}
-
diff --git a/modules/gui/gtk/open.h b/modules/gui/gtk/open.h
deleted file mode 100644 (file)
index 06c31d9..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*****************************************************************************
- * gtk_open.h: prototypes for open functions
- *****************************************************************************
- * Copyright (C) 1999, 2000 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *
- * 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.
- *****************************************************************************/
-
-gboolean GtkFileOpenShow        ( GtkWidget *, gpointer );
-void     GtkFileOpenCancel      ( GtkButton *, gpointer );
-void     GtkFileOpenOk          ( GtkButton *, gpointer );
-
-gboolean GtkDiscOpenShow        ( GtkWidget *, gpointer );
-void     GtkDiscOpenDvd         ( GtkToggleButton *, gpointer );
-void     GtkDiscOpenVcd         ( GtkToggleButton *, gpointer );
-void     GtkDiscOpenCDDA        ( GtkToggleButton *, gpointer );
-void     GtkDiscOpenOk          ( GtkButton *, gpointer );
-void     GtkDiscOpenCancel      ( GtkButton *, gpointer );
-
-gboolean GtkNetworkOpenShow     ( GtkWidget *, gpointer );
-void     GtkNetworkOpenOk       ( GtkButton *, gpointer );
-void     GtkNetworkOpenCancel   ( GtkButton *, gpointer );
-void     GtkNetworkOpenBroadcast( GtkToggleButton *, gpointer );
-void     GtkNetworkOpenChannel  ( GtkToggleButton *, gpointer );
-
diff --git a/modules/gui/gtk/playlist.c b/modules/gui/gtk/playlist.c
deleted file mode 100644 (file)
index 912a896..0000000
+++ /dev/null
@@ -1,752 +0,0 @@
-/*****************************************************************************
- * gtk_playlist.c : Interface for the playlist dialog
- *****************************************************************************
- * Copyright (C) 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Pierre Baillet <oct@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *
- * 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>
-#include <string.h>
-
-#include <vlc/vlc.h>
-#include <vlc/intf.h>
-
-#include <sys/types.h>          /* for readdir  and stat stuff */
-
-#if (!defined( WIN32 ) || defined(__MINGW32__))
-/* Mingw has its own version of dirent */
-#   include <dirent.h>
-#endif
-
-#include <sys/stat.h>
-#include <unistd.h>
-
-#ifdef MODULE_NAME_IS_gnome
-#   include <gnome.h>
-#else
-#   include <gtk/gtk.h>
-#endif
-
-#include "gtk_callbacks.h"
-#include "gtk_interface.h"
-#include "gtk_support.h"
-
-#include "playlist.h"
-#include "common.h"
-
-/****************************************************************************
- * Local prototypes
- ****************************************************************************/
-static void UrlDecode       ( char * );
-static GList * GtkReadFiles ( intf_thread_t *, gchar * );
-
-/****************************************************************************
- * Playlist window management
- ****************************************************************************/
-gboolean GtkPlaylistShow( GtkWidget       *widget,
-                          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( GTK_WIDGET_VISIBLE( p_intf->p_sys->p_playwin ) )
-    {
-        gtk_widget_hide( p_intf->p_sys->p_playwin );
-    }
-    else
-    {
-        GtkCList * p_clist;
-
-        p_clist = GTK_CLIST( gtk_object_get_data(
-            GTK_OBJECT( p_intf->p_sys->p_playwin ), "playlist_clist" ) );
-        GtkRebuildCList( p_clist , p_playlist );
-        gtk_widget_show( p_intf->p_sys->p_playwin );
-        gdk_window_raise( p_intf->p_sys->p_playwin->window );
-    }
-
-    vlc_object_release( p_playlist );
-
-    return TRUE;
-}
-
-
-void GtkPlaylistOk( GtkButton * button, gpointer user_data )
-{
-     gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
-}
-
-
-void GtkPlaylistCancel( GtkButton * button, gpointer user_data )
-{
-     gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
-}
-
-
-
-gboolean GtkPlaylistPrev( GtkWidget       *widget,
-                          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;
-    }
-
-    playlist_Prev( p_playlist );
-    vlc_object_release( p_playlist );
-
-    return TRUE;
-}
-
-
-gboolean GtkPlaylistNext( GtkWidget       *widget,
-                          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;
-    }
-
-    playlist_Next( p_playlist );
-    vlc_object_release( p_playlist );
-
-    return TRUE;
-}
-
-/****************************************************************************
- * Playlist core functions
- ****************************************************************************/
-void GtkPlaylistAddUrl( GtkMenuItem * menuitem, gpointer user_data )
-{
-
-}
-
-
-void GtkPlaylistDeleteAll( GtkMenuItem * menuitem, gpointer user_data )
-{
-
-}
-
-
-void GtkPlaylistDeleteSelected( GtkMenuItem * menuitem, gpointer user_data )
-{
-    /* user wants to delete a file in the queue */
-    GList *     p_selection;
-    GtkCList *  p_clist;
-
-    intf_thread_t *  p_intf = GtkGetIntf( menuitem);
-    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_clist = GTK_CLIST( gtk_object_get_data( GTK_OBJECT(
-        p_intf->p_sys->p_playwin ), "playlist_clist" ) );
-
-    p_selection = p_clist->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, GtkCompareItems );
-        g_list_foreach( p_selection, GtkDeleteGListItem, p_playlist );
-        /* rebuild the CList */
-        GtkRebuildCList( p_clist, p_playlist );
-    }
-
-    vlc_mutex_unlock( &p_intf->change_lock );
-
-    vlc_object_release( p_playlist );
-}
-
-void GtkPlaylistCrop( GtkMenuItem * menuitem, gpointer user_data )
-{
-    /* Ok, this is a really small thing, but, hey, it works and
-       might be useful, who knows ? */
-    GtkPlaylistInvert( menuitem, user_data );
-    GtkPlaylistDeleteSelected( menuitem, user_data );
-}
-
-void GtkPlaylistInvert( GtkMenuItem * menuitem, gpointer user_data )
-{
-    GtkCList *  p_clist;
-    int *       pi_selected;
-    int         i_length;
-    int         i_dummy;
-
-    /* catch the thread back */
-    intf_thread_t *p_intf = GtkGetIntf( menuitem );
-
-    /* lock the struct */
-    vlc_mutex_lock( &p_intf->change_lock );
-
-    p_clist = GTK_CLIST( gtk_object_get_data( GTK_OBJECT(
-        p_intf->p_sys->p_playwin ), "playlist_clist" ) );
-
-    gtk_clist_freeze( p_clist );
-
-    /* have to copy the selection to an int *
-       I wasn't able to copy the g_list to another g_list
-       glib only does pointer copies, not real copies :( */
-
-    i_length = g_list_length( p_clist->selection );
-    pi_selected = malloc( sizeof(int) * i_length );
-
-    for( i_dummy = 0 ; i_dummy < i_length ; i_dummy++ )
-    {
-        pi_selected[i_dummy] =
-            GPOINTER_TO_UINT( g_list_nth_data( p_clist->selection, i_dummy ) );
-    }
-
-    gtk_clist_select_all( p_clist );
-
-    for( i_dummy = 0; i_dummy < i_length; i_dummy++ )
-    {
-        gtk_clist_unselect_row( p_clist, pi_selected[i_dummy], 0 );
-    }
-
-    gtk_clist_thaw( p_clist );
-
-    vlc_mutex_unlock( &p_intf->change_lock );
-
-    free( pi_selected );
-}
-
-void GtkPlaylistSelect( GtkMenuItem * menuitem, gpointer user_data)
-{
-
-}
-
-gboolean GtkPlaylistEvent( 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 = GTK_CLIST( gtk_object_get_data( GTK_OBJECT(
-            p_intf->p_sys->p_playwin ), "playlist_clist" ) );
-
-        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 );
-        return TRUE;
-    }
-
-    vlc_object_release( p_playlist );
-    return FALSE;
-}
-
-void GtkPlaylistDragData( GtkWidget       *widget,
-                          GdkDragContext  *drag_context,
-                          gint             x,
-                          gint             y,
-                          GtkSelectionData *data,
-                          guint            info,
-                          guint            time,
-                          gpointer         user_data )
-{
-    intf_thread_t * p_intf = GtkGetIntf( widget );
-    GtkCList *      p_clist;
-    gint            i_row;
-    gint            i_col;
-
-    p_clist = GTK_CLIST( gtk_object_get_data( GTK_OBJECT(
-        p_intf->p_sys->p_playwin ), "playlist_clist" ) );
-
-    if( gtk_clist_get_selection_info( p_clist, x, y, &i_row, &i_col ) == 1 )
-    {
-        /* we are dropping somewhere into the clist items */
-        GtkDropDataReceived( p_intf, data, info, i_row - 1 );
-    }
-    else
-    {
-        /* otherwise, put that at the end of the playlist */
-        GtkDropDataReceived( p_intf, data, info, PLAYLIST_END );
-    }
-}
-
-
-gboolean GtkPlaylistDragMotion( GtkWidget       *widget,
-                                GdkDragContext  *drag_context,
-                                gint             x,
-                                gint             y,
-                                guint            time,
-                                gpointer         user_data )
-{
-    GtkCList *  p_clist;
-    gint        i_row;
-    gint        i_col;
-    int         i_dummy;
-    GdkColor    color;
-
-    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;
-    }
-
-    p_clist = GTK_CLIST( gtk_object_get_data( GTK_OBJECT(
-        p_intf->p_sys->p_playwin ), "playlist_clist" ) );
-
-    if( !GTK_WIDGET_TOPLEVEL(widget) )
-    {
-        gdk_window_raise( p_intf->p_sys->p_playwin->window );
-    }
-
-    color.red =   0xffff;
-    color.blue =  0xffff;
-    color.green = 0xffff;
-
-    gtk_clist_freeze( p_clist );
-
-    for( i_dummy = 0; i_dummy < p_clist->rows; i_dummy++)
-    {
-        gtk_clist_set_background( p_clist, i_dummy , &color );
-    }
-
-    color.red = 0;
-    color.blue = 0xf000;
-    color.green = 0x9000;
-    if( gtk_clist_get_selection_info( p_clist, x, y, &i_row, &i_col ) == 1 )
-    {
-        gtk_clist_set_background ( p_clist, i_row - 1, &color );
-        gtk_clist_set_background ( p_clist, i_row, &color );
-    }
-    else
-    {
-        gtk_clist_set_background ( p_clist, p_clist->rows - 1, &color );
-    }
-
-    color.red = 0xffff;
-    color.blue = 0;
-    color.green = 0;
-    vlc_mutex_lock( &p_playlist->object_lock );
-    gtk_clist_set_background( p_clist, p_playlist->i_index, &color );
-    vlc_mutex_unlock( &p_playlist->object_lock );
-    vlc_object_release( p_playlist );
-
-    gtk_clist_thaw( p_clist );
-
-    return TRUE;
-}
-
-void GtkDropDataReceived( intf_thread_t * p_intf,
-        GtkSelectionData * p_data, guint i_info, int i_position)
-{
-    /* first we'll have to split against all the '\n' we have */
-    gchar *     p_protocol;
-    gchar *     p_temp;
-    gchar *     p_next;
-    gchar *     p_string = (gchar *)p_data->data;
-    GList *     p_files = NULL;
-    GtkCList *  p_clist;
-
-    playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-
-    /* if this has been URLencoded, decode it
-     *
-     * Is it a good thing to do it in place ?
-     * probably not...
-     */
-    if( i_info == DROP_ACCEPT_TEXT_URI_LIST )
-    {
-        UrlDecode( p_string );
-    }
-
-    /* this cuts string into single file drops */
-    /* this code was borrowed from xmms, thx guys :) */
-    while( *p_string)
-    {
-        p_next = strchr( p_string, '\n' );
-        if( p_next )
-        {
-            if( *( p_next - 1 ) == '\r' )
-            {
-                *( p_next - 1) = '\0';
-            }
-            *p_next = '\0';
-        }
-
-        /* do we have a protocol or something ? */
-        p_temp = strstr( p_string, ":" );
-        if( p_temp != NULL && p_temp[0] != '\0' )
-        {
-            char i_save;
-
-            i_save = p_temp[0];
-            p_temp[0] = '\0';
-            p_protocol = strdup( p_string );
-            p_temp[0] = i_save;
-            p_temp++;
-
-            /* Allowed things are proto: or proto:// */
-            if( p_temp[0] == '/' && p_temp[1] == '/')
-            {
-                /* eat two '/'s */
-                p_temp += 2;
-            }
-            msg_Dbg( p_intf, "playlist protocol '%s', target '%s'",
-                             p_protocol, p_temp );
-        }
-        else
-        {
-            p_protocol = strdup( "" );
-        }
-
-        /* if it uses the file protocol we can do something, else, sorry :(
-         * I think this is a good choice for now, as we don't have any
-         * ability to read http:// or ftp:// files
-         * what about adding dvd:// to the list of authorized proto ? */
-
-        if( strcmp( p_protocol, "file:" ) == 0 )
-        {
-            p_files = g_list_concat( p_files,
-                                     GtkReadFiles( p_intf, p_string ) );
-        }
-        else
-        {
-            p_files = g_list_concat( p_files,
-                      g_list_append( NULL, g_strdup( p_string ) ) );
-        }
-
-        /* free the malloc and go on... */
-        free( p_protocol );
-
-        if( p_next == NULL )
-        {
-            break;
-        }
-        p_string = p_next + 1;
-    }
-
-    /* At this point, we have a nice big list maybe NULL */
-    if( p_files != NULL )
-    {
-        /* lock the interface */
-        vlc_mutex_lock( &p_intf->change_lock );
-
-        msg_Dbg( p_intf, "adding %d elements", g_list_length( p_files ) );
-        GtkAppendList( p_playlist, i_position, p_files );
-
-        /* get the CList  and rebuild it. */
-        p_clist = GTK_CLIST( lookup_widget( p_intf->p_sys->p_playwin,
-                                            "playlist_clist" ) );
-        GtkRebuildCList( p_clist , p_playlist );
-
-        /* unlock the interface */
-        vlc_mutex_unlock( &p_intf->change_lock );
-    }
-
-    vlc_object_release( p_playlist );
-}
-
-
-void GtkDeleteGListItem( gpointer data, gpointer param )
-{
-    int i_cur_row = (long)data;
-    playlist_t * p_playlist = param;
-
-    playlist_LockDelete( p_playlist, i_cur_row );
-}
-
-
-gint GtkCompareItems( gconstpointer a, gconstpointer b )
-{
-    return (ptrdiff_t) ( (int *)b - (int *)a );
-}
-
-
-/* check a file (string) against supposed valid extension */
-int GtkHasValidExtension( gchar * psz_filename )
-{
-    char * ppsz_ext[6] = { "mpg", "mpeg", "vob", "mp2", "ts", "ps" };
-    int  i_ext = 6;
-    int  i_dummy;
-
-    gchar * psz_ext = strrchr( psz_filename, '.' ) + sizeof( char );
-
-    for( i_dummy = 0 ; i_dummy < i_ext ; i_dummy++ )
-    {
-        if( strcmp( psz_ext, ppsz_ext[i_dummy] ) == 0 )
-        {
-            return 1;
-        }
-    }
-
-    return 0;
-}
-
-/* recursive function: descend into folders and build a list of
- * valid filenames */
-static GList * GtkReadFiles( intf_thread_t * p_intf, gchar * psz_fsname )
-{
-    struct stat statbuf;
-    GList  *    p_current = NULL;
-
-    /* get the attributes of this file */
-    stat( psz_fsname, &statbuf );
-
-    /* is it a regular file ? */
-    if( S_ISREG( statbuf.st_mode ) )
-    {
-        if( GtkHasValidExtension( psz_fsname ) )
-        {
-            msg_Dbg( p_intf, "%s is a valid file, stacking on the playlist",
-                             psz_fsname );
-            return g_list_append( NULL, g_strdup( psz_fsname ) );
-        }
-        else
-        {
-            return NULL;
-        }
-    }
-    /* is it a directory (should we check for symlinks ?) */
-    else if( S_ISDIR( statbuf.st_mode ) )
-    {
-        /* have to cd into this dir */
-        DIR *           p_current_dir = opendir( psz_fsname );
-        struct dirent * p_dir_content;
-
-        msg_Dbg( p_intf, "%s is a folder", psz_fsname );
-
-        if( p_current_dir == NULL )
-        {
-            /* something went bad, get out of here ! */
-            return p_current;
-        }
-        p_dir_content = readdir( p_current_dir );
-
-        /* while we still have entries in the directory */
-        while( p_dir_content != NULL )
-        {
-            /* if it is "." or "..", forget it */
-            if( ( strcmp( p_dir_content->d_name, "." ) != 0 ) &&
-                ( strcmp( p_dir_content->d_name, ".." ) != 0 ) )
-            {
-                /* else build the new directory by adding
-                   fsname "/" and the current entry name
-                   (kludgy :()
-                  */
-                char *  psz_newfs = malloc ( 2 + strlen( psz_fsname ) +
-                            strlen( p_dir_content->d_name ) * sizeof(char) );
-                strcpy( psz_newfs, psz_fsname );
-                strcpy( psz_newfs + strlen( psz_fsname ) + 1,
-                        p_dir_content->d_name );
-                psz_newfs[strlen( psz_fsname )] = '/';
-
-                p_current = g_list_concat( p_current,
-                                           GtkReadFiles( p_intf, psz_newfs ) );
-
-                g_free( psz_newfs );
-            }
-            p_dir_content = readdir( p_current_dir );
-        }
-        return p_current;
-    }
-    return NULL;
-}
-
-/* add items in a playlist
- * when i_pos==-1 add to the end of the list...
- */
-int GtkAppendList( playlist_t * p_playlist, int i_pos, GList * p_list )
-{
-    int i_dummy;
-    int i_length;
-
-    i_length = g_list_length( p_list );
-
-    for( i_dummy = 0; i_dummy < i_length ; i_dummy++ )
-    {
-        playlist_Add( p_playlist,
-                /* ok; this is a really nasty trick to insert
-                   the item where they are suppose to go but, hey
-                   this works :P (btw, you are really nasty too) */
-               g_list_nth_data( p_list, i_dummy ),
-               g_list_nth_data( p_list, i_dummy ),
-               i_dummy == 0 ? PLAYLIST_INSERT | PLAYLIST_GO : PLAYLIST_INSERT,
-               i_pos == PLAYLIST_END ? PLAYLIST_END : ( i_pos + i_dummy ) );
-    }
-
-    return 0;
-}
-
-/* statis timeouted function */
-void GtkPlayListManage( intf_thread_t * p_intf )
-{
-    playlist_t * p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST,
-                                                       FIND_ANYWHERE );
-    GtkCList *   p_clist;
-
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-
-    /* this thing really sucks for now :( */
-
-    /* TODO speak more with src/playlist/playlist.c */
-    if( GTK_IS_WIDGET( p_intf->p_sys->p_playwin ) )
-    {
-        p_clist = GTK_CLIST( gtk_object_get_data( GTK_OBJECT(
-                       p_intf->p_sys->p_playwin ), "playlist_clist" ) );
-
-        vlc_mutex_lock( &p_playlist->object_lock );
-
-        if( p_intf->p_sys->i_playing != p_playlist->i_index )
-        {
-            GdkColor color;
-
-            color.red = 0xffff;
-            color.blue = 0;
-            color.green = 0;
-
-            gtk_clist_set_background( p_clist, p_playlist->i_index, &color );
-
-            if( p_intf->p_sys->i_playing != -1 )
-            {
-                color.red = 0xffff;
-                color.blue = 0xffff;
-                color.green = 0xffff;
-                gtk_clist_set_background( p_clist, p_intf->p_sys->i_playing,
-                                          &color);
-            }
-            p_intf->p_sys->i_playing = p_playlist->i_index;
-        }
-
-        vlc_mutex_unlock( &p_playlist->object_lock );
-    }
-
-    vlc_object_release( p_playlist );
-}
-
-void GtkRebuildCList( 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-- ; )
-    {
-        char psz_duration[MSTRTIME_MAX_SIZE];
-        mtime_t dur = p_playlist->pp_items[i_dummy]->input.i_duration;
-        if ( dur != -1 )
-        {
-            secstotimestr( psz_duration, dur/1000000 );
-        }
-        else
-        {
-            memcpy( psz_duration ,"no info",sizeof("no info" ));
-        }
-        ppsz_text[0] = p_playlist->pp_items[i_dummy]->input.psz_name;
-        ppsz_text[1] = strdup( psz_duration );
-        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 );
-}
-
-/* URL-decode a file: URL path, return NULL if it's not what we expect */
-static void UrlDecode( char *encoded_path )
-{
-    char *tmp = NULL, *cur = NULL, *ext = NULL;
-    int realchar;
-
-    if( !encoded_path || *encoded_path == '\0' )
-    {
-        return;
-    }
-
-    cur = encoded_path ;
-
-    tmp = calloc(strlen(encoded_path) + 1,  sizeof(char) );
-
-    while ( ( ext = strchr(cur, '%') ) != NULL)
-    {
-        strncat(tmp, cur, (ext - cur) / sizeof(char));
-        ext++;
-
-        if (!sscanf(ext, "%2x", &realchar))
-        {
-            free(tmp);
-            return;
-        }
-
-        tmp[strlen(tmp)] = (char)realchar;
-
-        cur = ext + 2;
-    }
-
-    strcat(tmp, cur);
-    strcpy(encoded_path,tmp);
-}
-
diff --git a/modules/gui/gtk/playlist.h b/modules/gui/gtk/playlist.h
deleted file mode 100644 (file)
index d0c90b2..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*****************************************************************************
- * gtk_playlist.h : Playlist functions for the Gtk plugin.
- *****************************************************************************
- * Copyright (C) 2000, 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Pierre Baillet <oct@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *      
- * 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 GtkPlaylistDeleteAll     ( GtkMenuItem *, gpointer );
-void GtkPlaylistDeleteSelected( GtkMenuItem *, gpointer );
-void GtkPlaylistCrop          ( GtkMenuItem *, gpointer );
-void GtkPlaylistInvert        ( GtkMenuItem *, gpointer );
-void GtkPlaylistSelect        ( GtkMenuItem *, gpointer );
-void GtkPlaylistOk            ( GtkButton *, gpointer );
-void GtkPlaylistCancel        ( GtkButton *, gpointer );
-void GtkPlaylistAddUrl        ( GtkMenuItem *, gpointer );
-
-gint     GtkCompareItems      ( gconstpointer, gconstpointer );
-int      GtkHasValidExtension ( gchar * );
-
-gboolean GtkPlaylistShow      ( GtkWidget *, gpointer );
-gboolean GtkPlaylistPrev      ( GtkWidget *, gpointer );
-gboolean GtkPlaylistNext      ( GtkWidget *, gpointer );
-gboolean GtkPlaylistDragMotion( GtkWidget *, GdkDragContext *,
-                                gint, gint, guint, gpointer );
-gboolean GtkPlaylistEvent     ( GtkWidget *, GdkEvent *, gpointer );
-void     GtkPlaylistDragData  ( GtkWidget *, GdkDragContext *,
-                                gint, gint, GtkSelectionData *,
-                                guint, guint, gpointer  );
-void     GtkDeleteGListItem   ( gpointer, gpointer );
-
-void GtkDropDataReceived ( intf_thread_t *, GtkSelectionData *, guint, int );
-int  GtkAppendList       ( playlist_t *, int, GList * );
-void GtkRebuildCList     ( GtkCList *, playlist_t * );
-void GtkPlayListManage   ( intf_thread_t * );
-
diff --git a/modules/gui/gtk/preferences.c b/modules/gui/gtk/preferences.c
deleted file mode 100644 (file)
index 7e40b26..0000000
+++ /dev/null
@@ -1,1085 +0,0 @@
-/*****************************************************************************
- * gtk_preferences.c: functions to handle the preferences dialog box.
- *****************************************************************************
- * Copyright (C) 2001-2004 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@netcourrier.com>
- *          Loïc Minier <lool@via.ecp.fr>
- *
- * 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: Our main job is to build a nice interface from the modules config
- *   structure. Once this is done, we need to track each change made by the
- *   user to the data contained in this interface so that when/if he decides to
- *   apply his changes we can quickly commit them into the modules config
- *   structure. (for this last task we use a GHashTable to accumulate the
- *   changes. To commit them, we then just have to circle through it )
- *
- *****************************************************************************/
-#include <sys/types.h>                                              /* off_t */
-#include <stdlib.h>
-
-#include <vlc/vlc.h>
-#include <vlc/intf.h>
-
-#ifdef MODULE_NAME_IS_gnome
-#   include <gnome.h>
-#else
-#   include <gtk/gtk.h>
-#endif
-
-#include <string.h>
-
-#include "gtk_support.h"
-
-#include "common.h"
-#include "preferences.h"
-
-/* local functions */
-static void GtkCreateConfigDialog( char *, intf_thread_t * );
-
-static void GtkConfigOk          ( GtkButton *, gpointer );
-static void GtkConfigApply       ( GtkButton *, gpointer );
-static void GtkConfigCancel      ( GtkButton *, gpointer );
-static void GtkConfigSave        ( GtkButton *, gpointer );
-
-static void GtkConfigDialogDestroyed ( GtkObject *, gpointer );
-
-static void GtkStringChanged     ( GtkEditable *, gpointer );
-static void GtkIntChanged        ( GtkEditable *, gpointer );
-static void GtkIntRangedChanged  ( GtkEditable *, gpointer );
-static void GtkFloatChanged      ( GtkEditable *, gpointer );
-static void GtkFloatRangedChanged      ( GtkEditable *, gpointer );
-static void GtkBoolChanged       ( GtkToggleButton *, gpointer );
-
-static void GtkFreeHashTable     ( GtkObject *object );
-static void GtkFreeHashValue     ( gpointer, gpointer, gpointer );
-static gboolean GtkSaveHashValue ( gpointer, gpointer, gpointer );
-
-static void GtkModuleConfigure   ( GtkButton *, gpointer );
-static void GtkModuleSelected    ( GtkButton *, gpointer );
-static void GtkModuleHighlighted ( GtkCList *, int, int, GdkEventButton *,
-                                   gpointer );
-
-/****************************************************************************
- * Callback for menuitems: display configuration interface window
- ****************************************************************************/
-void GtkPreferencesShow( GtkMenuItem * menuitem, gpointer user_data )
-{
-    intf_thread_t * p_intf;
-
-    p_intf = GtkGetIntf( menuitem );
-
-    GtkCreateConfigDialog( "main", p_intf );
-}
-
-/****************************************************************************
- * GtkCreateConfigDialog: dynamically creates the configuration dialog
- * box from all the configuration data provided by the selected module.
- ****************************************************************************/
-
-/* create a new tooltipped area */
-#define TOOLTIP( text )                                                   \
-    /* create an event box to catch some events */                        \
-    item_event_box = gtk_event_box_new();                                 \
-    /* add a tooltip on mouseover */                                      \
-    gtk_tooltips_set_tip( p_intf->p_sys->p_tooltips,                      \
-                          item_event_box, text, "" );                     \
-    gtk_container_set_border_width( GTK_CONTAINER(item_event_box), 4 );
-
-/* draws a right aligned label in side of a widget */
-#define LABEL_AND_WIDGET( label_text, widget, tooltip )                   \
-    gtk_table_resize( GTK_TABLE(category_table), ++rows, 2 );             \
-    item_align = gtk_alignment_new( 1, .5, 0, 0 );                        \
-    item_label = gtk_label_new( label_text );                             \
-    gtk_container_add( GTK_CONTAINER(item_align), item_label );           \
-    gtk_table_attach_defaults( GTK_TABLE(category_table), item_align,     \
-                               0, 1, rows - 1, rows );                    \
-    item_align = gtk_alignment_new( 0, .5, .5, 0 );                       \
-    gtk_container_add( GTK_CONTAINER(item_align), widget );               \
-    TOOLTIP(tooltip)                                                      \
-    gtk_container_add( GTK_CONTAINER(item_event_box), item_align );       \
-    gtk_table_attach_defaults( GTK_TABLE(category_table), item_event_box, \
-                               1, 2, rows - 1, rows );
-
-static void GtkCreateConfigDialog( char *psz_module_name,
-                                   intf_thread_t *p_intf )
-{
-    module_t *p_parser = NULL;
-    vlc_list_t *p_list;
-    module_config_t *p_item;
-    vlc_bool_t b_advanced = config_GetInt( p_intf, "advanced" );
-    int i_index;
-
-    guint rows = 0;
-
-    GHashTable *config_hash_table;
-
-    GtkWidget *item_event_box;
-
-    GtkWidget *config_dialog;
-    GtkWidget *config_dialog_vbox;
-    GtkWidget *config_notebook;
-
-    GtkWidget *category_table = NULL;
-    GtkWidget *category_label = NULL;
-
-#ifndef MODULE_NAME_IS_gnome
-    GtkWidget *dialog_action_area;
-#endif
-
-    GtkWidget *ok_button;
-    GtkWidget *apply_button;
-    GtkWidget *save_button;
-    GtkWidget *cancel_button;
-
-    GtkWidget *item_align;
-    GtkWidget *item_frame;
-    GtkWidget *item_hbox;
-    GtkWidget *item_label;
-    GtkWidget *item_vbox;
-    GtkWidget *item_combo;
-    GtkWidget *string_entry;
-    GtkWidget *integer_spinbutton;
-    GtkWidget *integer_slider;
-    GtkWidget *float_spinbutton;
-    GtkWidget *float_slider;
-    GtkObject *item_adj;
-    GtkWidget *bool_checkbutton;
-    GtkWidget *module_clist;
-    GtkWidget *module_config_button;
-    GtkWidget *module_select_button;
-
-    gint category_max_height;
-
-    /* Check if the dialog box is already opened because we don't want to
-     * duplicate identical dialog windows. */
-    config_dialog = (GtkWidget *)gtk_object_get_data(
-                    GTK_OBJECT(p_intf->p_sys->p_window), psz_module_name );
-    if( config_dialog )
-    {
-        /* Yeah it was open */
-        gtk_widget_grab_focus( config_dialog );
-        return;
-    }
-
-
-    /* Look for the selected module */
-    p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, FIND_ANYWHERE );
-
-    for( i_index = 0; i_index < p_list->i_count; i_index++ )
-    {
-        p_parser = (module_t *)p_list->p_values[i_index].p_object ;
-
-        if( psz_module_name
-             && !strcmp( psz_module_name, p_parser->psz_object_name ) )
-        {
-            break;
-        }
-    }
-
-    if( !p_parser || i_index == p_list->i_count )
-    {
-        vlc_list_release( p_list );
-        return;
-    }
-
-    /* We found it, now we can start building its configuration interface */
-    /* Create the configuration dialog box */
-
-#ifdef MODULE_NAME_IS_gnome
-    config_dialog = gnome_dialog_new( p_parser->psz_longname, NULL );
-    config_dialog_vbox = GNOME_DIALOG(config_dialog)->vbox;
-#else
-    config_dialog = gtk_dialog_new();
-    gtk_window_set_title( GTK_WINDOW(config_dialog),
-                          p_parser->psz_longname );
-    config_dialog_vbox = GTK_DIALOG(config_dialog)->vbox;
-#endif
-
-    gtk_object_set_data( GTK_OBJECT(config_dialog), "p_intf", p_intf );
-
-    category_max_height = config_GetInt( p_intf, MODULE_STRING "-prefs-maxh" );
-
-    gtk_window_set_policy( GTK_WINDOW(config_dialog), TRUE, TRUE, FALSE );
-    gtk_container_set_border_width( GTK_CONTAINER(config_dialog_vbox), 0 );
-
-    /* Create our config hash table and associate it with the dialog box */
-    config_hash_table = g_hash_table_new( NULL, NULL );
-    gtk_object_set_data( GTK_OBJECT(config_dialog),
-                         "config_hash_table", config_hash_table );
-
-    /* Create notebook */
-    config_notebook = gtk_notebook_new();
-    gtk_notebook_set_scrollable( GTK_NOTEBOOK(config_notebook), TRUE );
-    gtk_container_add( GTK_CONTAINER(config_dialog_vbox), config_notebook );
-
-    /* Enumerate config options and add corresponding config boxes */
-    p_item = p_parser->p_config;
-
-    if( p_item ) do
-    {
-        if( p_item->b_advanced && !b_advanced ) continue;
-
-        if( p_item->i_type == CONFIG_HINT_CATEGORY ||
-            p_item->i_type == CONFIG_HINT_END ||
-            !category_table )
-        {
-            /*
-             * Before we start building the interface for the new category, we
-             * must close/finish the previous one we were generating.
-             */
-            if( category_table )
-            {
-                GtkWidget *_scrolled_window;
-                GtkWidget *_viewport;
-                GtkWidget *_vbox;
-                GtkRequisition _requisition;
-
-                /* create a vbox to deal with EXPAND/FILL issues in the
-                 * notebook page, and pack it with the previously generated
-                 * category_table */
-                _vbox = gtk_vbox_new( FALSE, 0 );
-                gtk_container_set_border_width( GTK_CONTAINER(_vbox), 4 );
-                gtk_box_pack_start( GTK_BOX(_vbox), category_table,
-                                    FALSE, FALSE, 0 );
-
-                /* create a new scrolled window that will contain all of the
-                 * above. */
-                _scrolled_window = gtk_scrolled_window_new( NULL, NULL );
-                gtk_scrolled_window_set_policy(
-                    GTK_SCROLLED_WINDOW(_scrolled_window), GTK_POLICY_NEVER,
-                    GTK_POLICY_AUTOMATIC );
-                /* add scrolled window as a notebook page */
-                gtk_notebook_append_page( GTK_NOTEBOOK(config_notebook),
-                                          _scrolled_window, category_label );
-                /* pack the vbox into the scrolled window */
-                _viewport = gtk_viewport_new( NULL, NULL );
-                gtk_viewport_set_shadow_type( GTK_VIEWPORT(_viewport),
-                                              GTK_SHADOW_NONE );
-                gtk_container_add( GTK_CONTAINER(_viewport), _vbox );
-                gtk_container_add( GTK_CONTAINER(_scrolled_window),
-                                   _viewport );
-
-                /* set the size of the scrolled window to the size of the
-                 * child widget */
-                gtk_widget_show_all( _vbox );
-                gtk_widget_size_request( _vbox, &_requisition );
-                if( _requisition.height > category_max_height )
-                    gtk_widget_set_usize( _scrolled_window, -1,
-                                          category_max_height );
-                else
-                    gtk_widget_set_usize( _scrolled_window, -1,
-                                          _requisition.height );
-
-            }
-
-            /*
-             * Now we can start taking care of the new category
-             */
-
-            if( p_item->i_type != CONFIG_HINT_END )
-            {
-                /* create a new table for right-left alignment of children */
-                category_table = gtk_table_new( 0, 0, FALSE );
-                gtk_table_set_col_spacings( GTK_TABLE(category_table), 4 );
-                rows = 0;
-
-                /* create a new category label */
-                if( p_item->i_type == CONFIG_HINT_CATEGORY )
-                    category_label = gtk_label_new( p_item->psz_text );
-                else
-                    category_label = gtk_label_new( p_parser->psz_longname );
-            }
-        }
-
-        switch( p_item->i_type )
-        {
-
-        case CONFIG_ITEM_MODULE:
-
-            item_frame = gtk_frame_new( p_item->psz_text );
-
-            gtk_table_resize( GTK_TABLE(category_table), ++rows, 2 );
-            gtk_table_attach_defaults( GTK_TABLE(category_table), item_frame,
-                                       0, 2, rows - 1, rows );
-
-            item_vbox = gtk_vbox_new( FALSE, 4 );
-            gtk_container_add( GTK_CONTAINER(item_frame), item_vbox );
-
-            /* create a new clist widget */
-            {
-                gchar * titles[] = { N_("Name"), N_("Description") };
-                titles[0] = _(titles[0]);
-                titles[1] = _(titles[1]);
-
-                module_clist = gtk_clist_new_with_titles( 2, titles );
-            }
-            gtk_object_set_data( GTK_OBJECT(module_clist), "p_intf", p_intf );
-            gtk_clist_column_titles_passive( GTK_CLIST(module_clist) );
-            gtk_clist_set_selection_mode( GTK_CLIST(module_clist),
-                                          GTK_SELECTION_SINGLE);
-            gtk_container_add( GTK_CONTAINER(item_vbox), module_clist );
-
-            /* build a list of available modules */
-            {
-                gchar * entry[2];
-
-                for( i_index = 0; i_index < p_list->i_count; i_index++ )
-                {
-                    p_parser = (module_t *)p_list->p_values[i_index].p_object ;
-
-                    if( !strcmp( p_parser->psz_capability,
-                                 p_item->psz_type ) )
-                    {
-                        entry[0] = p_parser->psz_object_name;
-                        entry[1] = p_parser->psz_longname;
-                        gtk_clist_append( GTK_CLIST(module_clist), entry );
-                    }
-                }
-            }
-
-            gtk_clist_set_column_auto_resize( GTK_CLIST(module_clist),
-                                              0, TRUE );
-            gtk_clist_set_column_auto_resize( GTK_CLIST(module_clist),
-                                              1, TRUE );
-
-            /* connect signals to the modules list */
-            gtk_signal_connect( GTK_OBJECT(module_clist), "select_row",
-                                GTK_SIGNAL_FUNC(GtkModuleHighlighted),
-                                NULL );
-
-            /* hbox holding the "select" and "configure" buttons */
-            item_hbox = gtk_hbox_new( FALSE, 4 );
-            gtk_container_add( GTK_CONTAINER(item_vbox), item_hbox);
-
-            /* add configure button */
-            module_config_button =
-                gtk_button_new_with_label( _("Configure") );
-            gtk_widget_set_sensitive( module_config_button, FALSE );
-            gtk_container_add( GTK_CONTAINER(item_hbox),
-                               module_config_button );
-            gtk_object_set_data( GTK_OBJECT(module_config_button),
-                                 "p_intf", p_intf );
-            gtk_object_set_data( GTK_OBJECT(module_clist),
-                                 "config_button", module_config_button );
-
-            /* add select button */
-            module_select_button =
-                gtk_button_new_with_label( _("Select") );
-            gtk_container_add( GTK_CONTAINER(item_hbox),
-                               module_select_button );
-            /* add a tooltip on mouseover */
-            gtk_tooltips_set_tip( p_intf->p_sys->p_tooltips,
-                                  module_select_button,
-                                  p_item->psz_longtext, "" );
-
-            /* hbox holding the "selected" label and text input */
-            item_hbox = gtk_hbox_new( FALSE, 4 );
-            gtk_container_add( GTK_CONTAINER(item_vbox), item_hbox);
-            /* add new label */
-            item_label = gtk_label_new( _("Selected:") );
-            gtk_container_add( GTK_CONTAINER(item_hbox), item_label );
-
-            /* add input box with default value */
-            string_entry = gtk_entry_new();
-            gtk_object_set_data( GTK_OBJECT(module_clist),
-                                 "module_entry", string_entry );
-            gtk_container_add( GTK_CONTAINER(item_hbox), string_entry );
-            vlc_mutex_lock( p_item->p_lock );
-            gtk_entry_set_text( GTK_ENTRY(string_entry),
-                                p_item->psz_value ? p_item->psz_value : "" );
-            vlc_mutex_unlock( p_item->p_lock );
-            /* add a tooltip on mouseover */
-            gtk_tooltips_set_tip( p_intf->p_sys->p_tooltips,
-                                  string_entry, p_item->psz_longtext, "" );
-
-            /* connect signals to the buttons */
-            gtk_signal_connect( GTK_OBJECT(module_config_button), "clicked",
-                                GTK_SIGNAL_FUNC(GtkModuleConfigure),
-                                (gpointer)module_clist );
-            gtk_signal_connect( GTK_OBJECT(module_select_button), "clicked",
-                                GTK_SIGNAL_FUNC(GtkModuleSelected),
-                                (gpointer)module_clist );
-
-            /* connect signal to track changes in the text box */
-            gtk_object_set_data( GTK_OBJECT(string_entry), "config_option",
-                                 p_item->psz_name );
-            gtk_signal_connect( GTK_OBJECT(string_entry), "changed",
-                                GTK_SIGNAL_FUNC(GtkStringChanged),
-                                (gpointer)config_dialog );
-            break;
-
-        case CONFIG_ITEM_STRING:
-        case CONFIG_ITEM_FILE:
-        case CONFIG_ITEM_DIRECTORY:
-
-            if( !p_item->ppsz_list )
-            {
-                /* add input box with default value */
-                item_combo = string_entry = gtk_entry_new();
-            }
-            else
-            {
-                /* add combo box with default value */
-                GList *items = NULL;
-                int i;
-
-                for( i=0; p_item->ppsz_list[i]; i++ )
-                    items = g_list_append( items, p_item->ppsz_list[i] );
-
-                item_combo = gtk_combo_new();
-                string_entry = GTK_COMBO(item_combo)->entry;
-                gtk_combo_set_popdown_strings( GTK_COMBO(item_combo),
-                                               items );
-
-            }
-
-            vlc_mutex_lock( p_item->p_lock );
-            gtk_entry_set_text( GTK_ENTRY(string_entry),
-                                p_item->psz_value ? p_item->psz_value : "" );
-            vlc_mutex_unlock( p_item->p_lock );
-
-            /* connect signal to track changes in the text box */
-            gtk_object_set_data( GTK_OBJECT(string_entry), "config_option",
-                                 p_item->psz_name );
-            gtk_signal_connect( GTK_OBJECT(string_entry), "changed",
-                                GTK_SIGNAL_FUNC(GtkStringChanged),
-                                (gpointer)config_dialog );
-
-            LABEL_AND_WIDGET( p_item->psz_text,
-                              item_combo, p_item->psz_longtext );
-            break;
-
-        case CONFIG_ITEM_INTEGER:
-
-            if (( p_item->i_max == 0) && ( p_item->i_min == 0))
-            {
-                /* add input box with default value */
-                item_adj = gtk_adjustment_new( p_item->i_value,
-                                               -1, 99999, 1, 10, 10 );
-                integer_spinbutton = gtk_spin_button_new( GTK_ADJUSTMENT(item_adj), 1, 0 );
-
-                /* connect signal to track changes in the spinbutton value */
-                gtk_object_set_data( GTK_OBJECT(integer_spinbutton),
-                                     "config_option", p_item->psz_name );
-                gtk_signal_connect( GTK_OBJECT(integer_spinbutton), "changed",
-                                    GTK_SIGNAL_FUNC(GtkIntChanged),
-                                    (gpointer)config_dialog );
-
-                LABEL_AND_WIDGET( p_item->psz_text,
-                                  integer_spinbutton, p_item->psz_longtext );
-            }
-            else /* use i_min and i_max */
-            {
-                item_adj = gtk_adjustment_new( p_item->i_value, p_item->i_min,
-                                               p_item->i_max, 1, 1, 0 );
-                integer_slider = gtk_hscale_new( GTK_ADJUSTMENT(item_adj));
-                gtk_scale_set_digits (GTK_SCALE(integer_slider), 0);
-                                                
-                /* connect signal to track changes in the spinbutton value */
-                gtk_object_set_data( GTK_OBJECT(item_adj),
-                                     "config_option", p_item->psz_name );
-                gtk_signal_connect( GTK_OBJECT(item_adj), "value-changed",
-                                    GTK_SIGNAL_FUNC(GtkIntRangedChanged),
-                                    (gpointer)config_dialog );
-
-                LABEL_AND_WIDGET( p_item->psz_text,
-                                  integer_slider, p_item->psz_longtext );
-            }
-            break;
-
-        case CONFIG_ITEM_FLOAT:
-
-            if (( p_item->f_max == 0.0) && ( p_item->f_min == 0.0))
-            {
-                /* add input box with default value */
-                item_adj = gtk_adjustment_new( p_item->f_value,
-                                               0, 99999, 0.01, 10, 10 );
-                float_spinbutton = gtk_spin_button_new( GTK_ADJUSTMENT(item_adj),
-                                                        0.01, 2 );
-
-                /* connect signal to track changes in the spinbutton value */
-                gtk_object_set_data( GTK_OBJECT(float_spinbutton),
-                                     "config_option", p_item->psz_name );
-                gtk_signal_connect( GTK_OBJECT(float_spinbutton), "changed",
-                                    GTK_SIGNAL_FUNC(GtkFloatChanged),
-                                    (gpointer)config_dialog );
-
-                LABEL_AND_WIDGET( p_item->psz_text,
-                                  float_spinbutton, p_item->psz_longtext );
-            }
-            else /* use f_min and f_max */
-            {
-                item_adj = gtk_adjustment_new( p_item->f_value, p_item->f_min,
-                                               p_item->f_max, 0.01, 0.01, 0 );
-                float_slider = gtk_hscale_new( GTK_ADJUSTMENT(item_adj));
-                gtk_scale_set_digits (GTK_SCALE(float_slider), 2);
-                                                
-                /* connect signal to track changes in the spinbutton value */
-                gtk_object_set_data( GTK_OBJECT(item_adj),
-                                     "config_option", p_item->psz_name );
-                gtk_signal_connect( GTK_OBJECT(item_adj), "value-changed",
-                                    GTK_SIGNAL_FUNC(GtkFloatRangedChanged),
-                                    (gpointer)config_dialog );
-
-                LABEL_AND_WIDGET( p_item->psz_text,
-                                  float_slider, p_item->psz_longtext );
-            }
-            break;
-
-
-        case CONFIG_ITEM_BOOL:
-
-            /* add check button */
-            bool_checkbutton = gtk_check_button_new();
-            gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(bool_checkbutton),
-                                          p_item->i_value );
-
-            /* connect signal to track changes in the button state */
-            gtk_object_set_data( GTK_OBJECT(bool_checkbutton), "config_option",
-                                 p_item->psz_name );
-            gtk_signal_connect( GTK_OBJECT(bool_checkbutton), "toggled",
-                                GTK_SIGNAL_FUNC(GtkBoolChanged),
-                                (gpointer)config_dialog );
-
-            LABEL_AND_WIDGET( p_item->psz_text,
-                              bool_checkbutton, p_item->psz_longtext );
-            break;
-
-        }
-
-    }
-    while( p_item->i_type != CONFIG_HINT_END && p_item++ );
-
-    vlc_list_release( p_list );
-
-#ifndef MODULE_NAME_IS_gnome
-    /* Now let's add the action buttons at the bottom of the page */
-    dialog_action_area = GTK_DIALOG(config_dialog)->action_area;
-    gtk_container_set_border_width( GTK_CONTAINER(dialog_action_area), 4 );
-
-    /* add a new table for the config option */
-    item_hbox = gtk_hbox_new( FALSE, 0 );
-    gtk_box_pack_end( GTK_BOX(dialog_action_area), item_hbox,
-                      TRUE, FALSE, 0 );
-    item_hbox = gtk_hbox_new( FALSE, 0 );
-    gtk_box_pack_end( GTK_BOX(dialog_action_area), item_hbox,
-                      TRUE, FALSE, 0 );
-#endif
-
-    /* Create the OK button */
-#ifdef MODULE_NAME_IS_gnome
-    gnome_dialog_append_button( GNOME_DIALOG(config_dialog),
-                                GNOME_STOCK_BUTTON_OK );
-    ok_button =
-        GTK_WIDGET(g_list_last(GNOME_DIALOG(config_dialog)->buttons)->data);
-
-    gnome_dialog_append_button( GNOME_DIALOG(config_dialog),
-                                GNOME_STOCK_BUTTON_APPLY );
-    apply_button =
-        GTK_WIDGET(g_list_last(GNOME_DIALOG(config_dialog)->buttons)->data);
-
-    gnome_dialog_append_button_with_pixmap(
-        GNOME_DIALOG(config_dialog), _("Save"), GNOME_STOCK_PIXMAP_SAVE );
-    save_button =
-        GTK_WIDGET(g_list_last(GNOME_DIALOG(config_dialog)->buttons)->data);
-
-    gnome_dialog_append_button( GNOME_DIALOG(config_dialog),
-                                GNOME_STOCK_BUTTON_CANCEL );
-    cancel_button =
-        GTK_WIDGET(g_list_last(GNOME_DIALOG(config_dialog)->buttons)->data);
-#else
-    ok_button = gtk_button_new_with_label( _("OK") );
-    gtk_box_pack_start( GTK_BOX(dialog_action_area), ok_button,
-                        TRUE, TRUE, 0 );
-
-    apply_button = gtk_button_new_with_label( _("Apply") );
-    gtk_box_pack_start( GTK_BOX(dialog_action_area), apply_button,
-                        TRUE, TRUE, 0 );
-
-    save_button = gtk_button_new_with_label( _("Save") );
-    gtk_box_pack_start( GTK_BOX(dialog_action_area), save_button,
-                        TRUE, TRUE, 0 );
-
-    cancel_button = gtk_button_new_with_label( _("Cancel") );
-    gtk_box_pack_start( GTK_BOX(dialog_action_area), cancel_button,
-                        TRUE, TRUE, 0 );
-#endif
-
-    gtk_signal_connect( GTK_OBJECT(ok_button), "clicked",
-                        GTK_SIGNAL_FUNC(GtkConfigOk),
-                        config_dialog );
-    gtk_widget_set_sensitive( apply_button, FALSE );
-    gtk_object_set_data( GTK_OBJECT(config_dialog), "apply_button",
-                         apply_button );
-    gtk_signal_connect( GTK_OBJECT(apply_button), "clicked",
-                        GTK_SIGNAL_FUNC(GtkConfigApply),
-                        config_dialog );
-    gtk_signal_connect( GTK_OBJECT(save_button), "clicked",
-                        GTK_SIGNAL_FUNC(GtkConfigSave),
-                        config_dialog );
-    gtk_signal_connect( GTK_OBJECT(cancel_button), "clicked",
-                        GTK_SIGNAL_FUNC(GtkConfigCancel),
-                        config_dialog );
-
-
-
-    /* Ok, job done successfully. Let's keep a reference to the dialog box */
-    gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_window),
-                         psz_module_name, config_dialog );
-    gtk_object_set_data( GTK_OBJECT(config_dialog), "psz_module_name",
-                         psz_module_name );
-
-    /* we want this ref to be destroyed if the object is destroyed */
-    gtk_signal_connect( GTK_OBJECT(config_dialog), "destroy",
-                       GTK_SIGNAL_FUNC(GtkConfigDialogDestroyed),
-                       (gpointer)p_intf );
-
-    gtk_widget_show_all( config_dialog );
-}
-
-#undef LABEL_AND_WIDGET
-#undef TOOLTIP
-
-/****************************************************************************
- * GtkConfigApply: store the changes to the config inside the modules
- * configuration structure and clear the hash table.
- ****************************************************************************/
-static void GtkConfigApply( GtkButton * button, gpointer user_data )
-{
-    intf_thread_t *p_intf;
-    GHashTable *hash_table;
-    GtkWidget *apply_button;
-
-    hash_table = (GHashTable *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                    "config_hash_table" );
-    p_intf = (intf_thread_t *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                   "p_intf" );
-    g_hash_table_foreach_remove( hash_table, GtkSaveHashValue, (void*)p_intf );
-
-    /* change the highlight status of the Apply button */
-    apply_button = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                    "apply_button" );
-    gtk_widget_set_sensitive( apply_button, FALSE );
-}
-
-static void GtkConfigOk( GtkButton * button, gpointer user_data )
-{
-    GtkConfigApply( button, user_data );
-    gtk_widget_destroy( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
-}
-
-
-static void GtkConfigCancel( GtkButton * button, gpointer user_data )
-{
-    gtk_widget_destroy( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
-}
-
-static void GtkConfigSave( GtkButton * button, gpointer user_data )
-{
-    intf_thread_t *p_intf;
-
-    p_intf = (intf_thread_t *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                   "p_intf" );
-    GtkConfigApply( button, user_data );
-    config_SaveConfigFile( p_intf, NULL );
-}
-
-/****************************************************************************
- * GtkModuleHighlighted: display module description when an entry is selected
- *   in the clist, and activate the configure button if necessary.
- ****************************************************************************/
-static void GtkModuleHighlighted( GtkCList *module_clist, int row, int column,
-                                  GdkEventButton *event, gpointer user_data )
-{
-    intf_thread_t *p_intf;
-    GtkWidget *config_button;
-    module_t *p_parser;
-    vlc_list_t *p_list;
-    char *psz_name;
-    int i_index;
-
-    p_intf = (intf_thread_t *)gtk_object_get_data( GTK_OBJECT(module_clist),
-                                                   "p_intf" );
-
-    if( !gtk_clist_get_text( GTK_CLIST(module_clist), row, 0, &psz_name ) )
-    {
-        return;
-    }
-
-    /* look for module 'psz_name' */
-    p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, FIND_ANYWHERE );
-
-    for( i_index = 0; i_index < p_list->i_count; i_index++ )
-    {
-        p_parser = (module_t *)p_list->p_values[i_index].p_object ;
-
-        if( !strcmp( p_parser->psz_object_name, psz_name ) )
-        {
-            gtk_object_set_data( GTK_OBJECT(module_clist),
-                                 "module_highlighted", p_parser );
-            config_button = gtk_object_get_data( GTK_OBJECT(module_clist),
-                                                 "config_button" );
-            if( p_parser->i_config_items )
-                gtk_widget_set_sensitive( config_button, TRUE );
-            else
-                gtk_widget_set_sensitive( config_button, FALSE );
-
-            break;
-        }
-    }
-
-    vlc_list_release( p_list );
-}
-
-/****************************************************************************
- * GtkModuleConfigure: display module configuration dialog box.
- ****************************************************************************/
-static void GtkModuleConfigure( GtkButton *button, gpointer user_data )
-{
-    module_t *p_module;
-    intf_thread_t *p_intf;
-
-    p_module = (module_t *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                "module_highlighted" );
-
-    if( !p_module ) return;
-    p_intf = (intf_thread_t *)gtk_object_get_data( GTK_OBJECT(button),
-                                                   "p_intf" );
-    GtkCreateConfigDialog( p_module->psz_object_name, (gpointer)p_intf );
-
-}
-
-/****************************************************************************
- * GtkModuleSelected: select module.
- ****************************************************************************/
-static void GtkModuleSelected( GtkButton *button, gpointer user_data )
-{
-    module_t *p_module;
-    GtkWidget *widget;
-
-    p_module = (module_t *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                "module_highlighted" );
-    widget = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                               "module_entry" );
-    if( !p_module ) return;
-
-    gtk_entry_set_text( GTK_ENTRY(widget), p_module->psz_object_name );
-
-}
-
-/****************************************************************************
- * GtkStringChanged: signal called when the user changes a string value.
- ****************************************************************************/
-static void GtkStringChanged( GtkEditable *editable, gpointer user_data )
-{
-    intf_thread_t *p_intf;
-    module_config_t *p_config;
-    GHashTable *hash_table;
-    GtkWidget *apply_button;
-
-    p_intf = (intf_thread_t *)gtk_object_get_data( GTK_OBJECT(editable),
-                                                   "p_intf" );
-    hash_table = (GHashTable *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                    "config_hash_table" );
-    /* free old p_config */
-    p_config = (module_config_t *)g_hash_table_lookup( hash_table,
-                                                       (gpointer)editable );
-    if( p_config ) GtkFreeHashValue( NULL, (gpointer)p_config, (void *)p_intf );
-
-    p_config = malloc( sizeof(module_config_t) );
-    p_config->i_type = CONFIG_ITEM_STRING;
-    p_config->psz_value = gtk_editable_get_chars( editable, 0, -1 );
-    p_config->psz_name = (char *)gtk_object_get_data( GTK_OBJECT(editable),
-                                                      "config_option" );
-
-    g_hash_table_insert( hash_table, (gpointer)editable,
-                         (gpointer)p_config );
-
-    /* change the highlight status of the Apply button */
-    apply_button = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                    "apply_button" );
-    gtk_widget_set_sensitive( apply_button, TRUE );
-}
-/****************************************************************************
- * GtkIntChanged: signal called when the user changes an integer value.
- ****************************************************************************/
-static void GtkIntChanged( GtkEditable *editable, gpointer user_data )
-{
-    intf_thread_t *p_intf;
-    module_config_t *p_config;
-    GHashTable *hash_table;
-    GtkWidget *apply_button;
-
-    p_intf = (intf_thread_t *)gtk_object_get_data( GTK_OBJECT(editable),
-                                                   "p_intf" );
-    gtk_spin_button_update( GTK_SPIN_BUTTON(editable) );
-
-    hash_table = (GHashTable *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                    "config_hash_table" );
-
-    /* free old p_config */
-    p_config = (module_config_t *)g_hash_table_lookup( hash_table,
-                                                       (gpointer)editable );
-    if( p_config ) GtkFreeHashValue( NULL, (gpointer)p_config, (void *)p_intf );
-
-    p_config = malloc( sizeof(module_config_t) );
-    p_config->i_type = CONFIG_ITEM_INTEGER;
-    p_config->i_value = gtk_spin_button_get_value_as_int(
-                            GTK_SPIN_BUTTON(editable) );
-    p_config->psz_name = (char *)gtk_object_get_data( GTK_OBJECT(editable),
-                                                      "config_option" );
-
-    g_hash_table_insert( hash_table, (gpointer)editable,
-                         (gpointer)p_config );
-
-    /* change the highlight status of the Apply button */
-    apply_button = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                    "apply_button" );
-    gtk_widget_set_sensitive( apply_button, TRUE );
-}
-
-
-/***************************************************************************************
- * GtkIntRangedChanged: signal called when the user changes an integer with range value.
- **************************************************************************************/
-static void GtkIntRangedChanged( GtkEditable *editable, gpointer user_data )
-{
-    intf_thread_t *p_intf;
-    module_config_t *p_config;
-    GHashTable *hash_table;
-    GtkWidget *apply_button;
-
-    p_intf = (intf_thread_t *)gtk_object_get_data( GTK_OBJECT(editable),
-                                                   "p_intf" );
-
-    hash_table = (GHashTable *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                    "config_hash_table" );
-
-    /* free old p_config */
-    p_config = (module_config_t *)g_hash_table_lookup( hash_table,
-                                                       (gpointer)editable );
-    if( p_config ) GtkFreeHashValue( NULL, (gpointer)p_config, (void *)p_intf );
-
-    p_config = malloc( sizeof(module_config_t) );
-    p_config->i_type = CONFIG_ITEM_INTEGER;
-    p_config->i_value = ((GTK_ADJUSTMENT(editable))->value);
-    p_config->psz_name = (char *)gtk_object_get_data( GTK_OBJECT(editable),
-                                                      "config_option" );
-
-    g_hash_table_insert( hash_table, (gpointer)editable,
-                         (gpointer)p_config );
-
-    /* change the highlight status of the Apply button */
-    apply_button = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                    "apply_button" );
-    gtk_widget_set_sensitive( apply_button, TRUE );
-}
-
-/****************************************************************************
- * GtkFloatChanged: signal called when the user changes a float value.
- ****************************************************************************/
-static void GtkFloatChanged( GtkEditable *editable, gpointer user_data )
-{
-    intf_thread_t *p_intf;
-    module_config_t *p_config;
-    GHashTable *hash_table;
-    GtkWidget *apply_button;
-
-    p_intf = (intf_thread_t *)gtk_object_get_data( GTK_OBJECT(editable),
-                                                   "p_intf" );
-    gtk_spin_button_update( GTK_SPIN_BUTTON(editable) );
-
-    hash_table = (GHashTable *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                    "config_hash_table" );
-
-    /* free old p_config */
-    p_config = (module_config_t *)g_hash_table_lookup( hash_table,
-                                                       (gpointer)editable );
-    if( p_config ) GtkFreeHashValue( NULL, (gpointer)p_config, (void *)p_intf );
-
-    p_config = malloc( sizeof(module_config_t) );
-    p_config->i_type = CONFIG_ITEM_FLOAT;
-    p_config->f_value = gtk_spin_button_get_value_as_float(
-                           GTK_SPIN_BUTTON(editable) );
-    p_config->psz_name = (char *)gtk_object_get_data( GTK_OBJECT(editable),
-                                                      "config_option" );
-
-    g_hash_table_insert( hash_table, (gpointer)editable,
-                         (gpointer)p_config );
-
-    /* change the highlight status of the Apply button */
-    apply_button = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                    "apply_button" );
-    gtk_widget_set_sensitive( apply_button, TRUE );
-}
-
-/***************************************************************************************
- * GtkIntRangedChanged: signal called when the user changes an integer with range value.
- **************************************************************************************/
-static void GtkFloatRangedChanged( GtkEditable *editable, gpointer user_data )
-{
-    intf_thread_t *p_intf;
-    module_config_t *p_config;
-    GHashTable *hash_table;
-    GtkWidget *apply_button;
-
-    p_intf = (intf_thread_t *)gtk_object_get_data( GTK_OBJECT(editable),
-                                                   "p_intf" );
-
-    hash_table = (GHashTable *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                    "config_hash_table" );
-
-    /* free old p_config */
-    p_config = (module_config_t *)g_hash_table_lookup( hash_table,
-                                                       (gpointer)editable );
-    if( p_config ) GtkFreeHashValue( NULL, (gpointer)p_config, (void *)p_intf );
-
-    p_config = malloc( sizeof(module_config_t) );
-    p_config->i_type = CONFIG_ITEM_FLOAT;
-    p_config->f_value = ((GTK_ADJUSTMENT(editable))->value);
-    p_config->psz_name = (char *)gtk_object_get_data( GTK_OBJECT(editable),
-                                                      "config_option" );
-
-    g_hash_table_insert( hash_table, (gpointer)editable,
-                         (gpointer)p_config );
-
-    /* change the highlight status of the Apply button */
-    apply_button = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                    "apply_button" );
-    gtk_widget_set_sensitive( apply_button, TRUE );
-}
-
-/****************************************************************************
- * GtkBoolChanged: signal called when the user changes a bool value.
- ****************************************************************************/
-static void GtkBoolChanged( GtkToggleButton *button, gpointer user_data )
-{
-    intf_thread_t *p_intf;
-    module_config_t *p_config;
-    GHashTable *hash_table;
-    GtkWidget *apply_button;
-
-    p_intf = (intf_thread_t *)gtk_object_get_data( GTK_OBJECT(button),
-                                                   "p_intf" );
-    hash_table = (GHashTable *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                    "config_hash_table" );
-
-    /* free old p_config */
-    p_config = (module_config_t *)g_hash_table_lookup( hash_table,
-                                                       (gpointer)button );
-    if( p_config ) GtkFreeHashValue( NULL, (gpointer)p_config, (void *)p_intf );
-
-    p_config = malloc( sizeof(module_config_t) );
-    p_config->i_type = CONFIG_ITEM_BOOL;
-    p_config->i_value = gtk_toggle_button_get_active( button );
-    p_config->psz_name = (char *)gtk_object_get_data( GTK_OBJECT(button),
-                                                      "config_option" );
-
-    g_hash_table_insert( hash_table, (gpointer)button,
-                         (gpointer)p_config );
-
-    /* change the highlight status of the Apply button */
-    apply_button = (GtkWidget *)gtk_object_get_data( GTK_OBJECT(user_data),
-                                                     "apply_button" );
-    gtk_widget_set_sensitive( apply_button, TRUE );
-}
-
-/****************************************************************************
- * GtkFreeHashTable: signal called when the config hash table is destroyed.
- ****************************************************************************/
-static void GtkFreeHashTable( GtkObject *object )
-{
-    GHashTable *hash_table = (GHashTable *)gtk_object_get_data( object,
-                                                         "config_hash_table" );
-    intf_thread_t *p_intf = (intf_thread_t *)gtk_object_get_data( object,
-                                                                  "p_intf" );
-
-    g_hash_table_foreach( hash_table, GtkFreeHashValue, (void *)p_intf );
-    g_hash_table_destroy( hash_table );
-}
-
-/****************************************************************************
- * GtkFreeHashValue: signal called when an element of the config hash table
- * is destroyed.
- ****************************************************************************/
-static void GtkFreeHashValue( gpointer key, gpointer value, gpointer user_data)
-{
-    module_config_t * p_config = (module_config_t *)value;
-
-    if( p_config->i_type == CONFIG_ITEM_STRING )
-        if( p_config->psz_value ) g_free( p_config->psz_value );
-    free( p_config );
-}
-
-/****************************************************************************
- * GtkSaveHashValue: callback used when enumerating the hash table in
- * GtkConfigApply().
- ****************************************************************************/
-static gboolean GtkSaveHashValue( gpointer key, gpointer value,
-                                  gpointer user_data )
-{
-    intf_thread_t *   p_intf   = (intf_thread_t *)user_data;
-    module_config_t * p_config = (module_config_t *)value;
-
-    switch( p_config->i_type )
-    {
-
-    case CONFIG_ITEM_STRING:
-    case CONFIG_ITEM_FILE:
-    case CONFIG_ITEM_DIRECTORY:
-    case CONFIG_ITEM_MODULE:
-        config_PutPsz( p_intf, p_config->psz_name,
-                       *p_config->psz_value ? p_config->psz_value : NULL );
-        break;
-    case CONFIG_ITEM_INTEGER:
-    case CONFIG_ITEM_BOOL:
-        config_PutInt( p_intf, p_config->psz_name, p_config->i_value );
-        break;
-    case CONFIG_ITEM_FLOAT:
-        config_PutFloat( p_intf, p_config->psz_name, p_config->f_value );
-        break;
-    }
-
-    /* free the hash value we allocated */
-    if( p_config->i_type == CONFIG_ITEM_STRING )
-        g_free( p_config->psz_value );
-    free( p_config );
-
-    /* return TRUE so glib will free the hash entry */
-    return TRUE;
-}
-
-/****************************************************************************
- * GtkConfigDialogDestroyed: callback triggered when the config dialog box is
- * destroyed.
- ****************************************************************************/
-static void GtkConfigDialogDestroyed( GtkObject *object, gpointer user_data )
-{
-    intf_thread_t *p_intf = (intf_thread_t *)user_data;
-    char *psz_module_name;
-
-    psz_module_name = gtk_object_get_data( object, "psz_module_name" );
-
-    /* remove the ref to the dialog box */
-    gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_window),
-                         psz_module_name, NULL );
-
-    GtkFreeHashTable( object );
-}
diff --git a/modules/gui/gtk/preferences.h b/modules/gui/gtk/preferences.h
deleted file mode 100644 (file)
index 6325014..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*****************************************************************************
- * gtk_control.h: prototypes for control functions
- *****************************************************************************
- * Copyright (C) 1999, 2000 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.org>
- *          Stéphane Borel <stef@via.ecp.fr>
- *
- * 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 GtkPreferencesShow( GtkMenuItem *, gpointer );
diff --git a/modules/gui/gtk/sout.c b/modules/gui/gtk/sout.c
deleted file mode 100644 (file)
index 0deb83f..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-/*****************************************************************************
- * sout.c :
- *****************************************************************************
- * Copyright (C) 2000, 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Laurent Aimar <fenrir@via.ecp.fr>
- *      
- * 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>
-
-#ifdef MODULE_NAME_IS_gnome
-#   include <gnome.h>
-#else
-#   include <gtk/gtk.h>
-#endif
-
-#include <string.h>
-
-#include "gtk_callbacks.h"
-#include "gtk_interface.h"
-#include "gtk_support.h"
-
-#include "playlist.h"
-#include "common.h"
-
-void GtkSoutSettings ( GtkButton       *button,
-                       gpointer         user_data );
-
-void GtkSoutSettingsChanged  ( GtkWidget *button, gpointer user_data);
-
-
-
-
-
-
-void GtkSoutSettingsAccessFile              (GtkToggleButton *togglebutton,
-                                                gpointer         user_data)
-{
-    GtkWidget *     p_sout;
-
-    p_sout = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_sout ),
-                    "sout_file_path_label" ),
-                    gtk_toggle_button_get_active( togglebutton ) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_sout ),
-                    "sout_file_path" ),
-                    gtk_toggle_button_get_active( togglebutton ) );
-
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_sout ),
-                    "sout_mux_ts" ), TRUE );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_sout ),
-                    "sout_mux_ps" ), TRUE );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_sout ),
-                    "sout_mux_avi" ), TRUE );
-
-    GtkSoutSettingsChanged( GTK_WIDGET( togglebutton ), user_data );
-}
-
-
-void GtkSoutSettingsAccessUdp               (GtkToggleButton *togglebutton,
-                                                gpointer         user_data)
-{
-    GtkWidget *     p_sout;
-
-    p_sout = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_sout ),
-                    "sout_udp_address_label" ),
-                    gtk_toggle_button_get_active( togglebutton ) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_sout ),
-                    "sout_udp_address_combo" ),
-                    gtk_toggle_button_get_active( togglebutton ) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_sout ),
-                    "sout_udp_port_label" ),
-                    gtk_toggle_button_get_active( togglebutton ) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_sout ),
-                    "sout_udp_port" ),
-                    gtk_toggle_button_get_active( togglebutton ) );
-
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_sout ),
-                    "sout_mux_ts" ), TRUE );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_sout ),
-                    "sout_mux_ps" ), FALSE );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_sout ),
-                    "sout_mux_avi" ), FALSE );
-
-    gtk_toggle_button_set_active(  gtk_object_get_data( GTK_OBJECT( p_sout ),
-                                   "sout_mux_ts" ), TRUE );
-
-    GtkSoutSettingsChanged( GTK_WIDGET( togglebutton ), user_data );
-}
-
-
-void GtkSoutSettingsChanged  ( GtkWidget *button,
-                               gpointer         user_data)
-{
-#define SELECTED( s ) GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button), \
-                                   (s) ) )->active
-    //intf_thread_t * p_intf = GtkGetIntf( button );
-    GString *       p_target;
-
-    p_target = g_string_new( "" );
-
-    /* first set access */
-    if( SELECTED( "sout_access_file" ) )
-    {
-        g_string_append( p_target, "file/" );
-    }
-    else if( SELECTED( "sout_access_udp" ) )
-    {
-        g_string_append( p_target, "udp/" );
-    }
-    else if( SELECTED( "sout_access_rtp" ) )
-    {
-        g_string_append( p_target, "rtp/" );
-    }
-
-    /* then set muxer */
-    if( SELECTED( "sout_mux_ts" ) )
-    {
-        g_string_append( p_target, "ts://" );
-    }
-    else if( SELECTED( "sout_mux_ps" ) )
-    {
-        g_string_append( p_target, "ps://" );
-    }
-    else if( SELECTED( "sout_mux_avi" ) )
-    {
-        g_string_append( p_target, "avi://" );
-    }
-
-    /* last part of the url */
-    if( SELECTED( "sout_access_file" ) )
-    {
-        g_string_append( p_target,
-                         gtk_entry_get_text( GTK_ENTRY( lookup_widget(
-                                             GTK_WIDGET(button), "sout_file_path" ) ) ) );
-    }
-    else if( SELECTED( "sout_access_udp" ) || SELECTED( "sout_access_rtp" ) )
-    {
-        g_string_append( p_target,
-                         gtk_entry_get_text( GTK_ENTRY( lookup_widget(
-                                             GTK_WIDGET(button), "sout_udp_address" ) ) ) );
-        g_string_append( p_target, ":" );
-        g_string_sprintfa( p_target, "%i",
-                         gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( lookup_widget(
-                                                           GTK_WIDGET(button), "sout_udp_port" ) ) ) );
-    }
-
-    gtk_entry_set_text( GTK_ENTRY( lookup_widget(
-                                   GTK_WIDGET(button), "sout_entry_target" ) ),
-                        p_target->str );
-    g_string_free( p_target, TRUE );
-}
-
-
-/****************************************************************************/
-void GtkSoutSettingsOk     ( GtkButton       *button,
-                             gpointer         user_data)
-{
-    /* Hide the dialog box */
-    gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
-
-    /* set sout */
-#if 0
-    psz_target = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
-                                       GTK_WIDGET(button), "sout_entry_target" ) ) );
-
-    config_PutPsz( p_intf, "sout", psz_target );
-#endif
-}
-
-void GtkSoutSettingsCancel ( GtkButton      *button,
-                             gpointer        user_data)
-{
-    /* Hide the dialog box */
-    gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
-}
-
-void GtkSoutSettings ( GtkButton       *button,
-                       gpointer         user_data )
-{
-    intf_thread_t * p_intf = GtkGetIntf( button );
-
-    gtk_widget_show( p_intf->p_sys->p_sout );
-    gdk_window_raise( p_intf->p_sys->p_sout->window );
-}
-
-
-
diff --git a/modules/gui/gtk2/Modules.am b/modules/gui/gtk2/Modules.am
deleted file mode 100644 (file)
index 3971ad6..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-COMMON_gtk2 = \
-       $(NULL)
-
-SOURCES_gtk2 = \
-       gtk2.c \
-       gtk2_callbacks.c \
-       gtk2_callbacks.h \
-       gtk2_interface.c \
-       gtk2_interface.h \
-       gtk2_support.c \
-       gtk2_support.h \
-       $(COMMON_gtk2)
-
-SOURCES_gnome2 = \
-       gnome2.c \
-       gnome2_callbacks.c \
-       gnome2_callbacks.h \
-       gnome2_interface.c \
-       gnome2_interface.h \
-       gnome2_support.c \
-       gnome2_support.h \
-       $(COMMON_gtk2)
-
-EXTRA_DIST += \
-       gtk2.glade \
-       gnome2.glade \
-       $(NULL)
diff --git a/modules/gui/gtk2/gnome2.c b/modules/gui/gtk2/gnome2.c
deleted file mode 100644 (file)
index c2045f4..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-/*****************************************************************************
- * gnome2.c : GNOME 2 plugin for vlc
- *****************************************************************************
- * Copyright (C) 2003 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.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 <gnome.h>
-
-#include "gnome2_interface.h"
-#include "gnome2_support.h"
-
-/*****************************************************************************
- * Local prototypes.
- *****************************************************************************/
-static int  Open         ( vlc_object_t * );
-static void Close        ( vlc_object_t * );
-
-static void Run          ( intf_thread_t * );
-static int  Manage       ( intf_thread_t * );
-
-/*****************************************************************************
- * Module descriptor
- *****************************************************************************/
-vlc_module_begin();
-    int i = getenv( "DISPLAY" ) == NULL ? 15 : 95;
-    set_description( _("Gtk2 interface") );
-    set_category( CAT_INTERFACE );
-    set_subcategory( SUBCAT_INTERFACE_GENERAL );
-    set_capability( "interface", i );
-    set_callbacks( Open, Close );
-    set_program( "gvlc" );
-vlc_module_end();
-
-/*****************************************************************************
- * intf_sys_t
- *****************************************************************************/
-struct intf_sys_t
-{
-    module_t *p_gui_helper;
-
-    GtkWidget *p_app;
-};
-
-/*****************************************************************************
- * 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_GTK2_MAIN
-    p_intf->p_sys->p_gui_helper =
-        module_Need( p_this, "gui-helper", "gnome2", VLC_TRUE );
-    if( p_intf->p_sys->p_gui_helper == NULL )
-    {
-        free( p_intf->p_sys );
-        return VLC_ENOMOD;
-    }
-#endif
-
-    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;
-
-#ifdef NEED_GTK2_MAIN
-    module_Unneed( p_intf, p_intf->p_sys->p_gui_helper );
-#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 )
-{
-#ifdef NEED_GTK2_MAIN
-    gdk_threads_enter();
-#else
-    /* gnome_program_init needs to know the command line. We don't care, so
-     * we give it an empty one */
-    char  *p_args[] = { "", NULL };
-    int    i_args   = 1;
-    int    i_dummy;
-
-    gtk_set_locale();
-    gnome_program_init( PACKAGE, VERSION, LIBGNOMEUI_MODULE,
-                        i_args, p_args,
-                        GNOME_PARAM_APP_DATADIR, "",//PACKAGE_DATA_DIR,
-                        NULL );
-#endif
-
-    /* Create some useful widgets that will certainly be used */
-    p_intf->p_sys->p_app = create_app1();
-
-    /* Set the title of the main window */
-    //gtk_window_set_title( GTK_WINDOW(p_intf->p_sys->p_app),
-    //                      VOUT_TITLE " (Gtk+ interface)" );
-
-    /* Show the control window */
-    gtk_widget_show( p_intf->p_sys->p_app );
-
-#ifdef NEED_GTK2_MAIN
-    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();
-        msleep( INTF_IDLE_SLEEP );
-        gdk_threads_enter();
-    }
-#else
-    /* Sleep to avoid using all CPU - since some interfaces needs to access
-     * keyboard events, a 100ms delay is a good compromise */
-    i_dummy = gtk_timeout_add( INTF_IDLE_SLEEP / 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_app) );
-
-#ifdef NEED_GTK2_MAIN
-    gdk_threads_leave();
-#endif
-}
-
-/* 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 )
-{
-#ifndef NEED_GTK2_MAIN
-    if( p_intf->b_die )
-    {
-        gtk_main_quit();
-
-        return FALSE;
-    }
-#endif
-
-    return TRUE;
-}
diff --git a/modules/gui/gtk2/gnome2.glade b/modules/gui/gtk2/gnome2.glade
deleted file mode 100644 (file)
index af6e40b..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-<requires lib="gnome"/>
-<requires lib="bonobo"/>
-
-<widget class="GnomeApp" id="app1">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">gnome2</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="enable_layout_config">True</property>
-
-  <child internal-child="dock">
-    <widget class="BonoboDock" id="bonobodock1">
-      <property name="visible">True</property>
-      <property name="allow_floating">True</property>
-
-      <child>
-       <widget class="BonoboDockItem" id="bonobodockitem1">
-         <property name="visible">True</property>
-         <property name="shadow_type">GTK_SHADOW_NONE</property>
-
-         <child>
-           <widget class="GtkMenuBar" id="menubar1">
-             <property name="visible">True</property>
-
-             <child>
-               <widget class="GtkImageMenuItem" id="file1">
-                 <property name="visible">True</property>
-                 <property name="stock_item">GNOMEUIINFO_MENU_FILE_TREE</property>
-
-                 <child>
-                   <widget class="GtkMenu" id="file1_menu">
-
-                     <child>
-                       <widget class="GtkImageMenuItem" id="new1">
-                         <property name="visible">True</property>
-                         <property name="stock_item">GNOMEUIINFO_MENU_NEW_ITEM</property>
-                         <property name="label" translatable="yes">_New</property>
-                         <property name="use_underline">True</property>
-                         <signal name="activate" handler="on_new1_activate" last_modification_time="Thu, 13 Mar 2003 20:03:27 GMT"/>
-                       </widget>
-                     </child>
-
-                     <child>
-                       <widget class="GtkImageMenuItem" id="open1">
-                         <property name="visible">True</property>
-                         <property name="stock_item">GNOMEUIINFO_MENU_OPEN_ITEM</property>
-                         <signal name="activate" handler="on_open1_activate" last_modification_time="Thu, 13 Mar 2003 20:03:27 GMT"/>
-                       </widget>
-                     </child>
-
-                     <child>
-                       <widget class="GtkImageMenuItem" id="save1">
-                         <property name="visible">True</property>
-                         <property name="stock_item">GNOMEUIINFO_MENU_SAVE_ITEM</property>
-                         <signal name="activate" handler="on_save1_activate" last_modification_time="Thu, 13 Mar 2003 20:03:27 GMT"/>
-                       </widget>
-                     </child>
-
-                     <child>
-                       <widget class="GtkImageMenuItem" id="save_as1">
-                         <property name="visible">True</property>
-                         <property name="stock_item">GNOMEUIINFO_MENU_SAVE_AS_ITEM</property>
-                         <signal name="activate" handler="on_save_as1_activate" last_modification_time="Thu, 13 Mar 2003 20:03:27 GMT"/>
-                       </widget>
-                     </child>
-
-                     <child>
-                       <widget class="GtkSeparatorMenuItem" id="separator1">
-                         <property name="visible">True</property>
-                       </widget>
-                     </child>
-
-                     <child>
-                       <widget class="GtkImageMenuItem" id="quit1">
-                         <property name="visible">True</property>
-                         <property name="stock_item">GNOMEUIINFO_MENU_EXIT_ITEM</property>
-                         <signal name="activate" handler="on_quit1_activate" last_modification_time="Thu, 13 Mar 2003 20:03:27 GMT"/>
-                       </widget>
-                     </child>
-                   </widget>
-                 </child>
-               </widget>
-             </child>
-
-             <child>
-               <widget class="GtkImageMenuItem" id="edit1">
-                 <property name="visible">True</property>
-                 <property name="stock_item">GNOMEUIINFO_MENU_EDIT_TREE</property>
-
-                 <child>
-                   <widget class="GtkMenu" id="edit1_menu">
-
-                     <child>
-                       <widget class="GtkImageMenuItem" id="cut1">
-                         <property name="visible">True</property>
-                         <property name="stock_item">GNOMEUIINFO_MENU_CUT_ITEM</property>
-                         <signal name="activate" handler="on_cut1_activate" last_modification_time="Thu, 13 Mar 2003 20:03:27 GMT"/>
-                       </widget>
-                     </child>
-
-                     <child>
-                       <widget class="GtkImageMenuItem" id="copy1">
-                         <property name="visible">True</property>
-                         <property name="stock_item">GNOMEUIINFO_MENU_COPY_ITEM</property>
-                         <signal name="activate" handler="on_copy1_activate" last_modification_time="Thu, 13 Mar 2003 20:03:27 GMT"/>
-                       </widget>
-                     </child>
-
-                     <child>
-                       <widget class="GtkImageMenuItem" id="paste1">
-                         <property name="visible">True</property>
-                         <property name="stock_item">GNOMEUIINFO_MENU_PASTE_ITEM</property>
-                         <signal name="activate" handler="on_paste1_activate" last_modification_time="Thu, 13 Mar 2003 20:03:27 GMT"/>
-                       </widget>
-                     </child>
-
-                     <child>
-                       <widget class="GtkImageMenuItem" id="clear1">
-                         <property name="visible">True</property>
-                         <property name="stock_item">GNOMEUIINFO_MENU_CLEAR_ITEM</property>
-                         <signal name="activate" handler="on_clear1_activate" last_modification_time="Thu, 13 Mar 2003 20:03:27 GMT"/>
-                       </widget>
-                     </child>
-
-                     <child>
-                       <widget class="GtkSeparatorMenuItem" id="separator2">
-                         <property name="visible">True</property>
-                       </widget>
-                     </child>
-
-                     <child>
-                       <widget class="GtkImageMenuItem" id="properties1">
-                         <property name="visible">True</property>
-                         <property name="stock_item">GNOMEUIINFO_MENU_PROPERTIES_ITEM</property>
-                         <signal name="activate" handler="on_properties1_activate" last_modification_time="Thu, 13 Mar 2003 20:03:27 GMT"/>
-                       </widget>
-                     </child>
-
-                     <child>
-                       <widget class="GtkSeparatorMenuItem" id="separator3">
-                         <property name="visible">True</property>
-                       </widget>
-                     </child>
-
-                     <child>
-                       <widget class="GtkImageMenuItem" id="preferences1">
-                         <property name="visible">True</property>
-                         <property name="stock_item">GNOMEUIINFO_MENU_PREFERENCES_ITEM</property>
-                         <signal name="activate" handler="on_preferences1_activate" last_modification_time="Thu, 13 Mar 2003 20:03:27 GMT"/>
-                       </widget>
-                     </child>
-                   </widget>
-                 </child>
-               </widget>
-             </child>
-
-             <child>
-               <widget class="GtkImageMenuItem" id="view1">
-                 <property name="visible">True</property>
-                 <property name="stock_item">GNOMEUIINFO_MENU_VIEW_TREE</property>
-
-                 <child>
-                   <widget class="GtkMenu" id="view1_menu">
-                   </widget>
-                 </child>
-               </widget>
-             </child>
-
-             <child>
-               <widget class="GtkImageMenuItem" id="help1">
-                 <property name="visible">True</property>
-                 <property name="stock_item">GNOMEUIINFO_MENU_HELP_TREE</property>
-
-                 <child>
-                   <widget class="GtkMenu" id="help1_menu">
-
-                     <child>
-                       <widget class="GtkImageMenuItem" id="about1">
-                         <property name="visible">True</property>
-                         <property name="stock_item">GNOMEUIINFO_MENU_ABOUT_ITEM</property>
-                         <signal name="activate" handler="on_about1_activate" last_modification_time="Thu, 13 Mar 2003 20:03:27 GMT"/>
-                       </widget>
-                     </child>
-                   </widget>
-                 </child>
-               </widget>
-             </child>
-           </widget>
-         </child>
-       </widget>
-       <packing>
-         <property name="placement">BONOBO_DOCK_TOP</property>
-         <property name="band">0</property>
-         <property name="position">0</property>
-         <property name="offset">0</property>
-         <property name="behavior">BONOBO_DOCK_ITEM_BEH_EXCLUSIVE|BONOBO_DOCK_ITEM_BEH_NEVER_VERTICAL|BONOBO_DOCK_ITEM_BEH_LOCKED</property>
-       </packing>
-      </child>
-
-      <child>
-       <widget class="BonoboDockItem" id="bonobodockitem2">
-         <property name="visible">True</property>
-         <property name="shadow_type">GTK_SHADOW_OUT</property>
-
-         <child>
-           <widget class="GtkToolbar" id="toolbar1">
-             <property name="border_width">1</property>
-             <property name="visible">True</property>
-             <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
-             <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
-             <property name="tooltips">True</property>
-
-             <child>
-               <widget class="button" id="button2">
-                 <property name="visible">True</property>
-                 <property name="tooltip" translatable="yes">Open File</property>
-                 <property name="label">gtk-open</property>
-                 <property name="use_stock">True</property>
-               </widget>
-             </child>
-
-             <child>
-               <widget class="button" id="button4">
-                 <property name="visible">True</property>
-                 <property name="tooltip" translatable="yes">Open File</property>
-                 <property name="label">button4</property>
-                 <property name="use_underline">True</property>
-                 <property name="stock_pixmap">gtk-cdrom</property>
-               </widget>
-             </child>
-
-             <child>
-               <widget class="button" id="button3">
-                 <property name="visible">True</property>
-                 <property name="tooltip" translatable="yes">Save File</property>
-                 <property name="label">button3</property>
-                 <property name="use_underline">True</property>
-                 <property name="stock_pixmap">gtk-refresh</property>
-               </widget>
-             </child>
-           </widget>
-         </child>
-       </widget>
-       <packing>
-         <property name="placement">BONOBO_DOCK_TOP</property>
-         <property name="band">1</property>
-         <property name="position">0</property>
-         <property name="offset">0</property>
-         <property name="behavior">BONOBO_DOCK_ITEM_BEH_EXCLUSIVE</property>
-       </packing>
-      </child>
-
-      <child>
-       <widget class="GtkVBox" id="vbox1">
-         <property name="visible">True</property>
-         <property name="homogeneous">False</property>
-         <property name="spacing">0</property>
-
-         <child>
-           <widget class="GtkHScale" id="hscale1">
-             <property name="visible">True</property>
-             <property name="can_focus">True</property>
-             <property name="draw_value">True</property>
-             <property name="value_pos">GTK_POS_TOP</property>
-             <property name="digits">1</property>
-             <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
-             <property name="inverted">False</property>
-             <property name="adjustment">0 0 0 0 0 0</property>
-           </widget>
-           <packing>
-             <property name="padding">0</property>
-             <property name="expand">False</property>
-             <property name="fill">True</property>
-           </packing>
-         </child>
-
-         <child>
-           <placeholder/>
-         </child>
-
-         <child>
-           <placeholder/>
-         </child>
-       </widget>
-      </child>
-    </widget>
-    <packing>
-      <property name="padding">0</property>
-      <property name="expand">True</property>
-      <property name="fill">True</property>
-    </packing>
-  </child>
-
-  <child internal-child="appbar">
-    <widget class="GnomeAppBar" id="appbar1">
-      <property name="visible">True</property>
-      <property name="has_progress">True</property>
-      <property name="has_status">True</property>
-    </widget>
-    <packing>
-      <property name="padding">0</property>
-      <property name="expand">True</property>
-      <property name="fill">True</property>
-    </packing>
-  </child>
-</widget>
-
-</glade-interface>
diff --git a/modules/gui/gtk2/gnome2.gladep b/modules/gui/gtk2/gnome2.gladep
deleted file mode 100644 (file)
index fad9e3e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd">
-
-<glade-project>
-  <name>gnome2</name>
-  <program_name>gnome2</program_name>
-  <source_directory></source_directory>
-  <pixmaps_directory></pixmaps_directory>
-  <output_build_files>FALSE</output_build_files>
-  <main_source_file>gnome2_interface.c</main_source_file>
-  <main_header_file>gnome2_interface.h</main_header_file>
-  <handler_source_file>gnome2_callbacks.c</handler_source_file>
-  <handler_header_file>gnome2_callbacks.h</handler_header_file>
-  <support_source_file>gnome2_support.c</support_source_file>
-  <support_header_file>gnome2_support.h</support_header_file>
-</glade-project>
diff --git a/modules/gui/gtk2/gnome2_callbacks.c b/modules/gui/gtk2/gnome2_callbacks.c
deleted file mode 100644 (file)
index 5ca77d5..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <gnome.h>
-
-#include "gnome2_callbacks.h"
-#include "gnome2_interface.h"
-#include "gnome2_support.h"
-
-
-void
-on_new1_activate                       (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_open1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_save1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_save_as1_activate                   (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_quit1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_cut1_activate                       (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_copy1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_paste1_activate                     (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_clear1_activate                     (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_properties1_activate                (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_preferences1_activate               (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_about1_activate                     (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
diff --git a/modules/gui/gtk2/gnome2_callbacks.h b/modules/gui/gtk2/gnome2_callbacks.h
deleted file mode 100644 (file)
index 73e3453..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#include <gnome.h>
-
-
-void
-on_new1_activate                       (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_open1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_save1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_save_as1_activate                   (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_quit1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_cut1_activate                       (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_copy1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_paste1_activate                     (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_clear1_activate                     (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_properties1_activate                (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_preferences1_activate               (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_about1_activate                     (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
diff --git a/modules/gui/gtk2/gnome2_interface.c b/modules/gui/gtk2/gnome2_interface.c
deleted file mode 100644 (file)
index de9cdb6..0000000
+++ /dev/null
@@ -1,28 +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 <stdio.h>
-
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtk.h>
-
-#include "gnome2_callbacks.h"
-#include "gnome2_interface.h"
-#include "gnome2_support.h"
-
-#define GLADE_HOOKUP_OBJECT(component,widget,name) \
-  g_object_set_data_full (G_OBJECT (component), name, \
-    gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
-
-#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
-  g_object_set_data (G_OBJECT (component), name, widget)
-
diff --git a/modules/gui/gtk2/gnome2_interface.h b/modules/gui/gtk2/gnome2_interface.h
deleted file mode 100644 (file)
index b3aa4eb..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
diff --git a/modules/gui/gtk2/gnome2_support.c b/modules/gui/gtk2/gnome2_support.c
deleted file mode 100644 (file)
index e2eabce..0000000
+++ /dev/null
@@ -1,144 +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 <stdio.h>
-
-#include <gtk/gtk.h>
-
-#include "gnome2_support.h"
-
-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)
-        parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey");
-      if (parent == NULL)
-        break;
-      widget = parent;
-    }
-
-  found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget),
-                                                 widget_name);
-  if (!found_widget)
-    g_warning ("Widget not found: %s", widget_name);
-  return found_widget;
-}
-
-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 find pixmap files. */
-static gchar*
-find_pixmap_file                       (const gchar     *filename)
-{
-  GList *elem;
-
-  /* We step through each of the pixmaps directory to find it. */
-  elem = pixmaps_directories;
-  while (elem)
-    {
-      gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data,
-                                         G_DIR_SEPARATOR_S, filename);
-      if (g_file_test (pathname, G_FILE_TEST_EXISTS))
-        return pathname;
-      g_free (pathname);
-      elem = elem->next;
-    }
-  return NULL;
-}
-
-/* This is an internally used function to create pixmaps. */
-GtkWidget*
-create_pixmap                          (GtkWidget       *widget,
-                                        const gchar     *filename)
-{
-  gchar *pathname = NULL;
-  GtkWidget *pixmap;
-
-  if (!filename || !filename[0])
-      return gtk_image_new ();
-
-  pathname = find_pixmap_file (filename);
-
-  if (!pathname)
-    {
-      g_warning (_("Couldn't find pixmap file: %s"), filename);
-      return gtk_image_new ();
-    }
-
-  pixmap = gtk_image_new_from_file (pathname);
-  g_free (pathname);
-  return pixmap;
-}
-
-/* This is an internally used function to create pixmaps. */
-GdkPixbuf*
-create_pixbuf                          (const gchar     *filename)
-{
-  gchar *pathname = NULL;
-  GdkPixbuf *pixbuf;
-  GError *error = NULL;
-
-  if (!filename || !filename[0])
-      return NULL;
-
-  pathname = find_pixmap_file (filename);
-
-  if (!pathname)
-    {
-      g_warning (_("Couldn't find pixmap file: %s"), filename);
-      return NULL;
-    }
-
-  pixbuf = gdk_pixbuf_new_from_file (pathname, &error);
-  if (!pixbuf)
-    {
-      fprintf (stderr, "Failed to load pixbuf file: %s: %s\n",
-               pathname, error->message);
-      g_error_free (error);
-    }
-  g_free (pathname);
-  return pixbuf;
-}
-
-/* This is used to set ATK action descriptions. */
-void
-glade_set_atk_action_description       (AtkAction       *action,
-                                        const gchar     *action_name,
-                                        const gchar     *description)
-{
-  gint n_actions, i;
-
-  n_actions = atk_action_get_n_actions (action);
-  for (i = 0; i < n_actions; i++)
-    {
-      if (!strcmp (atk_action_get_name (action, i), action_name))
-        atk_action_set_description (action, i, description);
-    }
-}
-
diff --git a/modules/gui/gtk2/gnome2_support.h b/modules/gui/gtk2/gnome2_support.h
deleted file mode 100644 (file)
index 92201b9..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-
-/*
- * Standard gettext macros.
- */
-#ifdef ENABLE_NLS
-#  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);
-
-
-/* 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 used in the interface. */
-GtkWidget*  create_pixmap              (GtkWidget       *widget,
-                                        const gchar     *filename);
-
-/* This is used to create the pixbufs used in the interface. */
-GdkPixbuf*  create_pixbuf              (const gchar     *filename);
-
-/* This is used to set ATK action descriptions. */
-void        glade_set_atk_action_description (AtkAction       *action,
-                                              const gchar     *action_name,
-                                              const gchar     *description);
-
diff --git a/modules/gui/gtk2/gtk2.c b/modules/gui/gtk2/gtk2.c
deleted file mode 100644 (file)
index 6ea15a5..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-/*****************************************************************************
- * gtk2.c : Gtk2 plugin for vlc
- *****************************************************************************
- * Copyright (C) 2003 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.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>
-
-#include "gtk2_callbacks.h"
-#include "gtk2_interface.h"
-#include "gtk2_support.h"
-
-/*****************************************************************************
- * Local prototypes.
- *****************************************************************************/
-static int  Open         ( vlc_object_t * );
-static void Close        ( vlc_object_t * );
-
-static void Run          ( intf_thread_t * );
-static int  Manage       ( intf_thread_t * );
-
-/*****************************************************************************
- * Module descriptor
- *****************************************************************************/
-vlc_module_begin();
-    int i = getenv( "DISPLAY" ) == NULL ? 15 : 95;
-    set_category( CAT_INTERFACE );
-    set_subcategory( SUBCAT_INTERFACE_GENERAL );
-    set_description( _("Gtk2 interface") );
-    set_capability( "interface", i );
-    set_callbacks( Open, Close );
-    set_program( "gvlc" );
-vlc_module_end();
-
-/*****************************************************************************
- * intf_sys_t
- *****************************************************************************/
-struct intf_sys_t
-{
-    module_t *p_gui_helper;
-
-    GtkWidget *p_window;
-};
-
-/*****************************************************************************
- * 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_GTK2_MAIN
-    p_intf->p_sys->p_gui_helper =
-        module_Need( p_this, "gui-helper", "gtk2", VLC_TRUE );
-    if( p_intf->p_sys->p_gui_helper == NULL )
-    {
-        free( p_intf->p_sys );
-        return VLC_ENOMOD;
-    }
-#endif
-
-    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;
-
-#ifdef NEED_GTK2_MAIN
-    module_Unneed( p_intf, p_intf->p_sys->p_gui_helper );
-#endif
-
-    /* Destroy structure */
-    free( p_intf->p_sys );
-}
-
-/*****************************************************************************
- * Run: Gtk2 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 )
-{
-#ifdef NEED_GTK2_MAIN
-    gdk_threads_enter();
-#else
-    /* 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;
-
-    gtk_set_locale();
-    gtk_init( &i_args, &pp_args );
-#endif
-
-    /* Create some useful widgets that will certainly be used */
-    p_intf->p_sys->p_window = create_window1();
-
-    /* Set the title of the main window */
-    gtk_window_set_title( GTK_WINDOW(p_intf->p_sys->p_window),
-                          VOUT_TITLE " (Gtk2 interface)");
-
-    /* Show the control window */
-    gtk_widget_show( p_intf->p_sys->p_window );
-
-#ifdef NEED_GTK2_MAIN
-    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();
-        msleep( INTF_IDLE_SLEEP );
-        gdk_threads_enter();
-    }
-#else
-    /* Sleep to avoid using all CPU - since some interfaces needs to access
-     * keyboard events, a 100ms delay is a good compromise */
-    i_dummy = gtk_timeout_add( INTF_IDLE_SLEEP / 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_GTK2_MAIN
-    gdk_threads_leave();
-#endif
-}
-
-/* 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 )
-{
-#ifndef NEED_GTK2_MAIN
-    if( p_intf->b_die )
-    {
-        gtk_main_quit();
-
-        return FALSE;
-    }
-#endif
-
-    return TRUE;
-}
diff --git a/modules/gui/gtk2/gtk2.glade b/modules/gui/gtk2/gtk2.glade
deleted file mode 100644 (file)
index 8f5e819..0000000
+++ /dev/null
@@ -1,263 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
-
-<glade-interface>
-
-<widget class="GtkWindow" id="window1">
-  <property name="visible">True</property>
-  <property name="title" translatable="yes">window1</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-
-  <child>
-    <widget class="GtkVBox" id="vbox1">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child>
-       <widget class="GtkMenuBar" id="menubar1">
-         <property name="visible">True</property>
-
-         <child>
-           <widget class="GtkMenuItem" id="menuitem1">
-             <property name="visible">True</property>
-             <property name="label" translatable="yes">_File</property>
-             <property name="use_underline">True</property>
-
-             <child>
-               <widget class="GtkMenu" id="menu1">
-
-                 <child>
-                   <widget class="GtkImageMenuItem" id="new1">
-                     <property name="visible">True</property>
-                     <property name="label">gtk-new</property>
-                     <property name="use_stock">True</property>
-                     <signal name="activate" handler="on_new1_activate" last_modification_time="Thu, 13 Mar 2003 19:52:16 GMT"/>
-                   </widget>
-                 </child>
-
-                 <child>
-                   <widget class="GtkImageMenuItem" id="open1">
-                     <property name="visible">True</property>
-                     <property name="label">gtk-open</property>
-                     <property name="use_stock">True</property>
-                     <signal name="activate" handler="on_open1_activate" last_modification_time="Thu, 13 Mar 2003 19:52:16 GMT"/>
-                   </widget>
-                 </child>
-
-                 <child>
-                   <widget class="GtkImageMenuItem" id="save1">
-                     <property name="visible">True</property>
-                     <property name="label">gtk-save</property>
-                     <property name="use_stock">True</property>
-                     <signal name="activate" handler="on_save1_activate" last_modification_time="Thu, 13 Mar 2003 19:52:16 GMT"/>
-                   </widget>
-                 </child>
-
-                 <child>
-                   <widget class="GtkImageMenuItem" id="save_as1">
-                     <property name="visible">True</property>
-                     <property name="label">gtk-save-as</property>
-                     <property name="use_stock">True</property>
-                     <signal name="activate" handler="on_save_as1_activate" last_modification_time="Thu, 13 Mar 2003 19:52:16 GMT"/>
-                   </widget>
-                 </child>
-
-                 <child>
-                   <widget class="GtkSeparatorMenuItem" id="separatormenuitem1">
-                     <property name="visible">True</property>
-                   </widget>
-                 </child>
-
-                 <child>
-                   <widget class="GtkImageMenuItem" id="quit1">
-                     <property name="visible">True</property>
-                     <property name="label">gtk-quit</property>
-                     <property name="use_stock">True</property>
-                     <signal name="activate" handler="on_quit1_activate" last_modification_time="Thu, 13 Mar 2003 19:52:16 GMT"/>
-                   </widget>
-                 </child>
-               </widget>
-             </child>
-           </widget>
-         </child>
-
-         <child>
-           <widget class="GtkMenuItem" id="menuitem2">
-             <property name="visible">True</property>
-             <property name="label" translatable="yes">_Edit</property>
-             <property name="use_underline">True</property>
-
-             <child>
-               <widget class="GtkMenu" id="menu2">
-
-                 <child>
-                   <widget class="GtkImageMenuItem" id="cut1">
-                     <property name="visible">True</property>
-                     <property name="label">gtk-cut</property>
-                     <property name="use_stock">True</property>
-                     <signal name="activate" handler="on_cut1_activate" last_modification_time="Thu, 13 Mar 2003 19:52:16 GMT"/>
-                   </widget>
-                 </child>
-
-                 <child>
-                   <widget class="GtkImageMenuItem" id="copy1">
-                     <property name="visible">True</property>
-                     <property name="label">gtk-copy</property>
-                     <property name="use_stock">True</property>
-                     <signal name="activate" handler="on_copy1_activate" last_modification_time="Thu, 13 Mar 2003 19:52:16 GMT"/>
-                   </widget>
-                 </child>
-
-                 <child>
-                   <widget class="GtkImageMenuItem" id="paste1">
-                     <property name="visible">True</property>
-                     <property name="label">gtk-paste</property>
-                     <property name="use_stock">True</property>
-                     <signal name="activate" handler="on_paste1_activate" last_modification_time="Thu, 13 Mar 2003 19:52:16 GMT"/>
-                   </widget>
-                 </child>
-
-                 <child>
-                   <widget class="GtkImageMenuItem" id="delete1">
-                     <property name="visible">True</property>
-                     <property name="label">gtk-delete</property>
-                     <property name="use_stock">True</property>
-                     <signal name="activate" handler="on_delete1_activate" last_modification_time="Thu, 13 Mar 2003 19:52:16 GMT"/>
-                   </widget>
-                 </child>
-               </widget>
-             </child>
-           </widget>
-         </child>
-
-         <child>
-           <widget class="GtkMenuItem" id="menuitem3">
-             <property name="visible">True</property>
-             <property name="label" translatable="yes">_View</property>
-             <property name="use_underline">True</property>
-
-             <child>
-               <widget class="GtkMenu" id="menu3">
-               </widget>
-             </child>
-           </widget>
-         </child>
-
-         <child>
-           <widget class="GtkMenuItem" id="menuitem4">
-             <property name="visible">True</property>
-             <property name="label" translatable="yes">_Help</property>
-             <property name="use_underline">True</property>
-
-             <child>
-               <widget class="GtkMenu" id="menu4">
-
-                 <child>
-                   <widget class="GtkMenuItem" id="about1">
-                     <property name="visible">True</property>
-                     <property name="label" translatable="yes">_About</property>
-                     <property name="use_underline">True</property>
-                     <signal name="activate" handler="on_about1_activate" last_modification_time="Thu, 13 Mar 2003 19:52:16 GMT"/>
-                   </widget>
-                 </child>
-               </widget>
-             </child>
-           </widget>
-         </child>
-       </widget>
-       <packing>
-         <property name="padding">0</property>
-         <property name="expand">False</property>
-         <property name="fill">False</property>
-       </packing>
-      </child>
-
-      <child>
-       <widget class="GtkHandleBox" id="handlebox1">
-         <property name="visible">True</property>
-         <property name="shadow_type">GTK_SHADOW_OUT</property>
-         <property name="handle_position">GTK_POS_LEFT</property>
-         <property name="snap_edge">GTK_POS_TOP</property>
-
-         <child>
-           <widget class="GtkToolbar" id="toolbar1">
-             <property name="visible">True</property>
-             <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
-             <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
-             <property name="tooltips">True</property>
-
-             <child>
-               <widget class="button" id="button1">
-                 <property name="visible">True</property>
-                 <property name="label">button1</property>
-                 <property name="use_underline">True</property>
-                 <property name="stock_pixmap">gtk-open</property>
-               </widget>
-             </child>
-
-             <child>
-               <widget class="button" id="button2">
-                 <property name="visible">True</property>
-                 <property name="label">button2</property>
-                 <property name="use_underline">True</property>
-                 <property name="stock_pixmap">gtk-cdrom</property>
-               </widget>
-             </child>
-
-             <child>
-               <widget class="button" id="button3">
-                 <property name="visible">True</property>
-                 <property name="label">button3</property>
-                 <property name="use_underline">True</property>
-                 <property name="stock_pixmap">gtk-refresh</property>
-               </widget>
-             </child>
-           </widget>
-         </child>
-       </widget>
-       <packing>
-         <property name="padding">0</property>
-         <property name="expand">False</property>
-         <property name="fill">True</property>
-       </packing>
-      </child>
-
-      <child>
-       <widget class="GtkHScale" id="hscale1">
-         <property name="visible">True</property>
-         <property name="can_focus">True</property>
-         <property name="draw_value">True</property>
-         <property name="value_pos">GTK_POS_TOP</property>
-         <property name="digits">1</property>
-         <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
-         <property name="inverted">False</property>
-         <property name="adjustment">0 0 0 0 0 0</property>
-       </widget>
-       <packing>
-         <property name="padding">0</property>
-         <property name="expand">True</property>
-         <property name="fill">True</property>
-       </packing>
-      </child>
-
-      <child>
-       <widget class="GtkStatusbar" id="statusbar1">
-         <property name="visible">True</property>
-         <property name="has_resize_grip">True</property>
-       </widget>
-       <packing>
-         <property name="padding">0</property>
-         <property name="expand">False</property>
-         <property name="fill">False</property>
-       </packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-</glade-interface>
diff --git a/modules/gui/gtk2/gtk2.gladep b/modules/gui/gtk2/gtk2.gladep
deleted file mode 100644 (file)
index 5ea0fed..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd">
-
-<glade-project>
-  <name>gtk2</name>
-  <program_name>gtk2</program_name>
-  <source_directory></source_directory>
-  <pixmaps_directory></pixmaps_directory>
-  <gnome_support>FALSE</gnome_support>
-  <output_build_files>FALSE</output_build_files>
-  <main_source_file>gtk2_interface.c</main_source_file>
-  <main_header_file>gtk2_interface.h</main_header_file>
-  <handler_source_file>gtk2_callbacks.c</handler_source_file>
-  <handler_header_file>gtk2_callbacks.h</handler_header_file>
-  <support_source_file>gtk2_support.c</support_source_file>
-  <support_header_file>gtk2_support.h</support_header_file>
-</glade-project>
diff --git a/modules/gui/gtk2/gtk2_callbacks.c b/modules/gui/gtk2/gtk2_callbacks.c
deleted file mode 100644 (file)
index 07bf8a7..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-
-#include "gtk2_callbacks.h"
-#include "gtk2_interface.h"
-#include "gtk2_support.h"
-
-
-void
-on_new1_activate                       (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_open1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_save1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_save_as1_activate                   (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_quit1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_cut1_activate                       (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_copy1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_paste1_activate                     (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_delete1_activate                    (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
-
-void
-on_about1_activate                     (GtkMenuItem     *menuitem,
-                                        gpointer         user_data)
-{
-
-}
-
diff --git a/modules/gui/gtk2/gtk2_callbacks.h b/modules/gui/gtk2/gtk2_callbacks.h
deleted file mode 100644 (file)
index 36f87c8..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#include <gtk/gtk.h>
-
-
-void
-on_new1_activate                       (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_open1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_save1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_save_as1_activate                   (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_quit1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_cut1_activate                       (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_copy1_activate                      (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_paste1_activate                     (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_delete1_activate                    (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
-
-void
-on_about1_activate                     (GtkMenuItem     *menuitem,
-                                        gpointer         user_data);
diff --git a/modules/gui/gtk2/gtk2_interface.c b/modules/gui/gtk2/gtk2_interface.c
deleted file mode 100644 (file)
index 5df1b7b..0000000
+++ /dev/null
@@ -1,263 +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 <stdio.h>
-
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtk.h>
-
-#include "gtk2_callbacks.h"
-#include "gtk2_interface.h"
-#include "gtk2_support.h"
-
-#define GLADE_HOOKUP_OBJECT(component,widget,name) \
-  g_object_set_data_full (G_OBJECT (component), name, \
-    gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
-
-#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
-  g_object_set_data (G_OBJECT (component), name, widget)
-
-GtkWidget*
-create_window1 (void)
-{
-  GtkWidget *window1;
-  GtkWidget *vbox1;
-  GtkWidget *menubar1;
-  GtkWidget *menuitem1;
-  GtkWidget *menu1;
-  GtkWidget *new1;
-  GtkWidget *open1;
-  GtkWidget *save1;
-  GtkWidget *save_as1;
-  GtkWidget *separatormenuitem1;
-  GtkWidget *quit1;
-  GtkWidget *menuitem2;
-  GtkWidget *menu2;
-  GtkWidget *cut1;
-  GtkWidget *copy1;
-  GtkWidget *paste1;
-  GtkWidget *delete1;
-  GtkWidget *menuitem3;
-  GtkWidget *menu3;
-  GtkWidget *menuitem4;
-  GtkWidget *menu4;
-  GtkWidget *about1;
-  GtkWidget *handlebox1;
-  GtkWidget *toolbar1;
-  GtkWidget *tmp_toolbar_icon;
-  GtkWidget *button1;
-  GtkWidget *button2;
-  GtkWidget *button3;
-  GtkWidget *hscale1;
-  GtkWidget *statusbar1;
-  GtkAccelGroup *accel_group;
-
-  accel_group = gtk_accel_group_new ();
-
-  window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_set_title (GTK_WINDOW (window1), _("window1"));
-
-  vbox1 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_show (vbox1);
-  gtk_container_add (GTK_CONTAINER (window1), vbox1);
-
-  menubar1 = gtk_menu_bar_new ();
-  gtk_widget_show (menubar1);
-  gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0);
-
-  menuitem1 = gtk_menu_item_new_with_mnemonic (_("_File"));
-  gtk_widget_show (menuitem1);
-  gtk_container_add (GTK_CONTAINER (menubar1), menuitem1);
-
-  menu1 = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem1), menu1);
-
-  new1 = gtk_image_menu_item_new_from_stock ("gtk-new", accel_group);
-  gtk_widget_show (new1);
-  gtk_container_add (GTK_CONTAINER (menu1), new1);
-
-  open1 = gtk_image_menu_item_new_from_stock ("gtk-open", accel_group);
-  gtk_widget_show (open1);
-  gtk_container_add (GTK_CONTAINER (menu1), open1);
-
-  save1 = gtk_image_menu_item_new_from_stock ("gtk-save", accel_group);
-  gtk_widget_show (save1);
-  gtk_container_add (GTK_CONTAINER (menu1), save1);
-
-  save_as1 = gtk_image_menu_item_new_from_stock ("gtk-save-as", accel_group);
-  gtk_widget_show (save_as1);
-  gtk_container_add (GTK_CONTAINER (menu1), save_as1);
-
-  separatormenuitem1 = gtk_separator_menu_item_new ();
-  gtk_widget_show (separatormenuitem1);
-  gtk_container_add (GTK_CONTAINER (menu1), separatormenuitem1);
-  gtk_widget_set_sensitive (separatormenuitem1, FALSE);
-
-  quit1 = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group);
-  gtk_widget_show (quit1);
-  gtk_container_add (GTK_CONTAINER (menu1), quit1);
-
-  menuitem2 = gtk_menu_item_new_with_mnemonic (_("_Edit"));
-  gtk_widget_show (menuitem2);
-  gtk_container_add (GTK_CONTAINER (menubar1), menuitem2);
-
-  menu2 = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem2), menu2);
-
-  cut1 = gtk_image_menu_item_new_from_stock ("gtk-cut", accel_group);
-  gtk_widget_show (cut1);
-  gtk_container_add (GTK_CONTAINER (menu2), cut1);
-
-  copy1 = gtk_image_menu_item_new_from_stock ("gtk-copy", accel_group);
-  gtk_widget_show (copy1);
-  gtk_container_add (GTK_CONTAINER (menu2), copy1);
-
-  paste1 = gtk_image_menu_item_new_from_stock ("gtk-paste", accel_group);
-  gtk_widget_show (paste1);
-  gtk_container_add (GTK_CONTAINER (menu2), paste1);
-
-  delete1 = gtk_image_menu_item_new_from_stock ("gtk-delete", accel_group);
-  gtk_widget_show (delete1);
-  gtk_container_add (GTK_CONTAINER (menu2), delete1);
-
-  menuitem3 = gtk_menu_item_new_with_mnemonic (_("_View"));
-  gtk_widget_show (menuitem3);
-  gtk_container_add (GTK_CONTAINER (menubar1), menuitem3);
-
-  menu3 = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem3), menu3);
-
-  menuitem4 = gtk_menu_item_new_with_mnemonic (_("_Help"));
-  gtk_widget_show (menuitem4);
-  gtk_container_add (GTK_CONTAINER (menubar1), menuitem4);
-
-  menu4 = gtk_menu_new ();
-  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem4), menu4);
-
-  about1 = gtk_menu_item_new_with_mnemonic (_("_About"));
-  gtk_widget_show (about1);
-  gtk_container_add (GTK_CONTAINER (menu4), about1);
-
-  handlebox1 = gtk_handle_box_new ();
-  gtk_widget_show (handlebox1);
-  gtk_box_pack_start (GTK_BOX (vbox1), handlebox1, FALSE, TRUE, 0);
-
-  toolbar1 = gtk_toolbar_new ();
-  gtk_widget_show (toolbar1);
-  gtk_container_add (GTK_CONTAINER (handlebox1), toolbar1);
-  gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_BOTH);
-
-  tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-open", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1)));
-  button1 = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("button1"),
-                                NULL, NULL,
-                                tmp_toolbar_icon, NULL, NULL);
-  gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE);
-  gtk_widget_show (button1);
-
-  tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-cdrom", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1)));
-  button2 = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("button2"),
-                                NULL, NULL,
-                                tmp_toolbar_icon, NULL, NULL);
-  gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE);
-  gtk_widget_show (button2);
-
-  tmp_toolbar_icon = gtk_image_new_from_stock ("gtk-refresh", gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1)));
-  button3 = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar1),
-                                GTK_TOOLBAR_CHILD_BUTTON,
-                                NULL,
-                                _("button3"),
-                                NULL, NULL,
-                                tmp_toolbar_icon, NULL, NULL);
-  gtk_label_set_use_underline (GTK_LABEL (((GtkToolbarChild*) (g_list_last (GTK_TOOLBAR (toolbar1)->children)->data))->label), TRUE);
-  gtk_widget_show (button3);
-
-  hscale1 = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 0, 0, 0, 0)));
-  gtk_widget_show (hscale1);
-  gtk_box_pack_start (GTK_BOX (vbox1), hscale1, TRUE, TRUE, 0);
-
-  statusbar1 = gtk_statusbar_new ();
-  gtk_widget_show (statusbar1);
-  gtk_box_pack_start (GTK_BOX (vbox1), statusbar1, FALSE, FALSE, 0);
-
-  g_signal_connect ((gpointer) new1, "activate",
-                    G_CALLBACK (on_new1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) open1, "activate",
-                    G_CALLBACK (on_open1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) save1, "activate",
-                    G_CALLBACK (on_save1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) save_as1, "activate",
-                    G_CALLBACK (on_save_as1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) quit1, "activate",
-                    G_CALLBACK (on_quit1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) cut1, "activate",
-                    G_CALLBACK (on_cut1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) copy1, "activate",
-                    G_CALLBACK (on_copy1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) paste1, "activate",
-                    G_CALLBACK (on_paste1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) delete1, "activate",
-                    G_CALLBACK (on_delete1_activate),
-                    NULL);
-  g_signal_connect ((gpointer) about1, "activate",
-                    G_CALLBACK (on_about1_activate),
-                    NULL);
-
-  /* Store pointers to all widgets, for use by lookup_widget(). */
-  GLADE_HOOKUP_OBJECT_NO_REF (window1, window1, "window1");
-  GLADE_HOOKUP_OBJECT (window1, vbox1, "vbox1");
-  GLADE_HOOKUP_OBJECT (window1, menubar1, "menubar1");
-  GLADE_HOOKUP_OBJECT (window1, menuitem1, "menuitem1");
-  GLADE_HOOKUP_OBJECT (window1, menu1, "menu1");
-  GLADE_HOOKUP_OBJECT (window1, new1, "new1");
-  GLADE_HOOKUP_OBJECT (window1, open1, "open1");
-  GLADE_HOOKUP_OBJECT (window1, save1, "save1");
-  GLADE_HOOKUP_OBJECT (window1, save_as1, "save_as1");
-  GLADE_HOOKUP_OBJECT (window1, separatormenuitem1, "separatormenuitem1");
-  GLADE_HOOKUP_OBJECT (window1, quit1, "quit1");
-  GLADE_HOOKUP_OBJECT (window1, menuitem2, "menuitem2");
-  GLADE_HOOKUP_OBJECT (window1, menu2, "menu2");
-  GLADE_HOOKUP_OBJECT (window1, cut1, "cut1");
-  GLADE_HOOKUP_OBJECT (window1, copy1, "copy1");
-  GLADE_HOOKUP_OBJECT (window1, paste1, "paste1");
-  GLADE_HOOKUP_OBJECT (window1, delete1, "delete1");
-  GLADE_HOOKUP_OBJECT (window1, menuitem3, "menuitem3");
-  GLADE_HOOKUP_OBJECT (window1, menu3, "menu3");
-  GLADE_HOOKUP_OBJECT (window1, menuitem4, "menuitem4");
-  GLADE_HOOKUP_OBJECT (window1, menu4, "menu4");
-  GLADE_HOOKUP_OBJECT (window1, about1, "about1");
-  GLADE_HOOKUP_OBJECT (window1, handlebox1, "handlebox1");
-  GLADE_HOOKUP_OBJECT (window1, toolbar1, "toolbar1");
-  GLADE_HOOKUP_OBJECT (window1, button1, "button1");
-  GLADE_HOOKUP_OBJECT (window1, button2, "button2");
-  GLADE_HOOKUP_OBJECT (window1, button3, "button3");
-  GLADE_HOOKUP_OBJECT (window1, hscale1, "hscale1");
-  GLADE_HOOKUP_OBJECT (window1, statusbar1, "statusbar1");
-
-  gtk_window_add_accel_group (GTK_WINDOW (window1), accel_group);
-
-  return window1;
-}
-
diff --git a/modules/gui/gtk2/gtk2_interface.h b/modules/gui/gtk2/gtk2_interface.h
deleted file mode 100644 (file)
index 75b41be..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-GtkWidget* create_window1 (void);
diff --git a/modules/gui/gtk2/gtk2_support.c b/modules/gui/gtk2/gtk2_support.c
deleted file mode 100644 (file)
index 7b91a53..0000000
+++ /dev/null
@@ -1,144 +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 <stdio.h>
-
-#include <gtk/gtk.h>
-
-#include "gtk2_support.h"
-
-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)
-        parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey");
-      if (parent == NULL)
-        break;
-      widget = parent;
-    }
-
-  found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget),
-                                                 widget_name);
-  if (!found_widget)
-    g_warning ("Widget not found: %s", widget_name);
-  return found_widget;
-}
-
-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 find pixmap files. */
-static gchar*
-find_pixmap_file                       (const gchar     *filename)
-{
-  GList *elem;
-
-  /* We step through each of the pixmaps directory to find it. */
-  elem = pixmaps_directories;
-  while (elem)
-    {
-      gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data,
-                                         G_DIR_SEPARATOR_S, filename);
-      if (g_file_test (pathname, G_FILE_TEST_EXISTS))
-        return pathname;
-      g_free (pathname);
-      elem = elem->next;
-    }
-  return NULL;
-}
-
-/* This is an internally used function to create pixmaps. */
-GtkWidget*
-create_pixmap                          (GtkWidget       *widget,
-                                        const gchar     *filename)
-{
-  gchar *pathname = NULL;
-  GtkWidget *pixmap;
-
-  if (!filename || !filename[0])
-      return gtk_image_new ();
-
-  pathname = find_pixmap_file (filename);
-
-  if (!pathname)
-    {
-      g_warning (_("Couldn't find pixmap file: %s"), filename);
-      return gtk_image_new ();
-    }
-
-  pixmap = gtk_image_new_from_file (pathname);
-  g_free (pathname);
-  return pixmap;
-}
-
-/* This is an internally used function to create pixmaps. */
-GdkPixbuf*
-create_pixbuf                          (const gchar     *filename)
-{
-  gchar *pathname = NULL;
-  GdkPixbuf *pixbuf;
-  GError *error = NULL;
-
-  if (!filename || !filename[0])
-      return NULL;
-
-  pathname = find_pixmap_file (filename);
-
-  if (!pathname)
-    {
-      g_warning (_("Couldn't find pixmap file: %s"), filename);
-      return NULL;
-    }
-
-  pixbuf = gdk_pixbuf_new_from_file (pathname, &error);
-  if (!pixbuf)
-    {
-      fprintf (stderr, "Failed to load pixbuf file: %s: %s\n",
-               pathname, error->message);
-      g_error_free (error);
-    }
-  g_free (pathname);
-  return pixbuf;
-}
-
-/* This is used to set ATK action descriptions. */
-void
-glade_set_atk_action_description       (AtkAction       *action,
-                                        const gchar     *action_name,
-                                        const gchar     *description)
-{
-  gint n_actions, i;
-
-  n_actions = atk_action_get_n_actions (action);
-  for (i = 0; i < n_actions; i++)
-    {
-      if (!strcmp (atk_action_get_name (action, i), action_name))
-        atk_action_set_description (action, i, description);
-    }
-}
-
diff --git a/modules/gui/gtk2/gtk2_support.h b/modules/gui/gtk2/gtk2_support.h
deleted file mode 100644 (file)
index 92201b9..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * DO NOT EDIT THIS FILE - it is generated by Glade.
- */
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#include <gtk/gtk.h>
-
-/*
- * Standard gettext macros.
- */
-#ifdef ENABLE_NLS
-#  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);
-
-
-/* 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 used in the interface. */
-GtkWidget*  create_pixmap              (GtkWidget       *widget,
-                                        const gchar     *filename);
-
-/* This is used to create the pixbufs used in the interface. */
-GdkPixbuf*  create_pixbuf              (const gchar     *filename);
-
-/* This is used to set ATK action descriptions. */
-void        glade_set_atk_action_description (AtkAction       *action,
-                                              const gchar     *action_name,
-                                              const gchar     *description);
-
diff --git a/modules/gui/kde/Modules.am b/modules/gui/kde/Modules.am
deleted file mode 100644 (file)
index eafd111..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-SOURCES_kde = \
-       kde.cpp \
-       interface.cpp \
-       slider.cpp \
-       disc.cpp \
-       net.cpp \
-       menu.cpp \
-       preferences.cpp \
-       pluginsbox.cpp \
-       QConfigItem.cpp \
-       messages.cpp \
-       info.cpp \
-       languagemenu.cpp \
-       $(NULL)
-
-nodist_SOURCES_kde = \
-       interface.moc.cpp \
-       slider.moc.cpp \
-       disc.moc.cpp \
-       net.moc.cpp \
-       menu.moc.cpp \
-       preferences.moc.cpp \
-       pluginsbox.moc.cpp \
-       QConfigItem.moc.cpp \
-       messages.moc.cpp \
-       info.moc.cpp \
-       languagemenu.moc.cpp \
-       $(NULL)
-
-noinst_HEADERS += \
-       common.h \
-       disc.h \
-       QConfigItem.h \
-       interface.h \
-       menu.h \
-       net.h \
-       pluginsbox.h \
-       preferences.h \
-       slider.h \
-       messages.h \
-       info.h \
-       languagemenu.h \
-       $(NULL)
-
-interface.moc.cpp: interface.h
-       $(MOC) $< -o $@
-slider.moc.cpp: slider.h
-       $(MOC) $< -o $@
-disc.moc.cpp: disc.h
-       $(MOC) $< -o $@
-net.moc.cpp: net.h
-       $(MOC) $< -o $@
-menu.moc.cpp: menu.h
-       $(MOC) $< -o $@
-preferences.moc.cpp: preferences.h
-       $(MOC) $< -o $@
-pluginsbox.moc.cpp: pluginsbox.h
-       $(MOC) $< -o $@
-QConfigItem.moc.cpp: QConfigItem.h
-       $(MOC) $< -o $@
-messages.moc.cpp: messages.h
-       $(MOC) $< -o $@
-info.moc.cpp: info.h
-       $(MOC) $< -o $@
-languagemenu.moc.cpp: languagemenu.h
-       $(MOC) $< -o $@
-
-kdedatadir = $(datadir)/vlc
-
-dist_kdedata_DATA = ui.rc
diff --git a/modules/gui/kde/QConfigItem.cpp b/modules/gui/kde/QConfigItem.cpp
deleted file mode 100644 (file)
index 1aaa129..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/*****************************************************************************
- * QConfigItem.cpp: The QConfigItem class
- *****************************************************************************
- * Copyright (C) 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Sigmund Augdal <sigmunau@idi.ntnu.no> Mon 12.08.2002
- *
- * 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 "QConfigItem.h"
-#include <vlc/vlc.h>
-QConfigItem::QConfigItem(QObject *parent, QString name, int iType, int i_val) :
-    QObject(parent, name)
-{
-    type = iType;
-    iVal = i_val;
-    bChanged = false;
-}
-
-QConfigItem::QConfigItem(QObject *parent, QString name, int iType, float f_val) :
-    QObject(parent, name)
-{
-    type = iType;
-    fVal = f_val;
-    bChanged = false;
-}
-
-QConfigItem::QConfigItem(QObject *parent, QString name, int iType, QString s_val) :
-    QObject(parent, name)
-{
-    type = iType;
-    sVal = s_val;
-    bChanged = false;
-}
-
-QConfigItem::~QConfigItem()
-{
-    ;
-}
-
-int QConfigItem::getType()
-{
-    return type;
-}
-
-int QConfigItem::iValue()
-{
-    return iVal;
-}
-
-float QConfigItem::fValue()
-{
-    return fVal;
-}
-
-QString QConfigItem::sValue()
-{
-    return sVal;
-}
-
-void QConfigItem::setValue(int val)
-{
-    iVal = val;
-    bChanged = true;
-}
-
-void QConfigItem::setValue(float val)
-{
-    fVal = val;
-    bChanged = true;
-}
-
-void QConfigItem::setValue(double val)
-{
-    fVal = (float)val;
-    bChanged = true;
-}
-
-void QConfigItem::setValue(const QString &val)
-{
-    sVal = val;
-    bChanged = true;
-}
-
-bool QConfigItem::changed()
-{
-    return bChanged;
-}
-
-void QConfigItem::resetChanged()
-{
-    bChanged = false;
-}
diff --git a/modules/gui/kde/QConfigItem.h b/modules/gui/kde/QConfigItem.h
deleted file mode 100644 (file)
index 4de1bf2..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*****************************************************************************
- * QConfigItem.h : includes for the QConfigItem class
- *****************************************************************************
- * Copyright (C) 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Andres Krapf <dae@chez.com> Sun Mar 25 2001
- *
- * 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.
- *****************************************************************************/
-
-#ifndef _KCONFIGITEM_H_
-#define _KCONFIGITEM_H_
-#include <qobject.h>
-#include <qstring.h>
-/*
-  A class to handle the information for one configuration item. 
-*/
-
-class QConfigItem : public QObject
-{
-    Q_OBJECT
- public:
-    QConfigItem(QObject *parent, QString name, int iType, int i_val);
-    QConfigItem(QObject *parent, QString name, int iType, float f_val);
-    QConfigItem(QObject *parent, QString name, int iType, QString s_val);
-    ~QConfigItem();
-
-    int getType();
-    float fValue();
-    int iValue();
-    QString sValue();
-    bool changed();
-
- public slots:
-    void setValue(int val);
-    void setValue(float val);
-    void setValue(double val);
-    void setValue(const QString &val);
-    void resetChanged();
-    
- private:
-    int iVal, type;
-    float fVal;
-    QString sVal;
-    bool bChanged;
-};
-#endif
diff --git a/modules/gui/kde/common.h b/modules/gui/kde/common.h
deleted file mode 100644 (file)
index 67ec336..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-/***************************************************************************
-                          common.h  -  description
-                             -------------------
-    begin                : Mon Apr 9 2001
-    copyright            : (C) 2001 by andres
-    email                : dae@chez.com
- ***************************************************************************/
-
-#ifndef _INTF_PLUGIN_H_
-#define _INTF_PLUGIN_H_
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-
-#include <vlc/vlc.h>
-#include <vlc/intf.h>
-
-#endif /* _INTF_PLUGIN_H_ */
diff --git a/modules/gui/kde/disc.cpp b/modules/gui/kde/disc.cpp
deleted file mode 100644 (file)
index 9793f55..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/***************************************************************************
-                          disc.cpp  -  description
-                             -------------------
-    begin                : Sat Apr 7 2001
-    copyright            : (C) 2001 by andres
-    email                : dae@chez.com
- ***************************************************************************/
-
-#include "disc.h"
-
-#include <qhbox.h>
-#include <qlabel.h>
-#include <qradiobutton.h>
-#include <qspinbox.h>
-#include <qstring.h>
-#include <qvbox.h>
-#include <qvbuttongroup.h>
-#include <qvgroupbox.h>
-#include <qwidget.h>
-#include <kdialogbase.h>
-#include <klineedit.h>
-
-KDiskDialog::KDiskDialog( QWidget *parent, const char *name )
-            :KDialogBase( parent, name, true, QString::null,
-                          Ok|Cancel, Ok, true )
-{
-    QVBox *pageVBox = makeVBoxMainWidget();
-
-    QHBox *deviceSelectHBox = new QHBox( pageVBox );
-    deviceSelectHBox->setSpacing( 5 );
-    fButtonGroup = new QVButtonGroup( _("Disk type"), deviceSelectHBox );
-    fDVDButton = new QRadioButton( "DVD", fButtonGroup);
-    fDVDButton->setChecked( true );
-    fVCDButton = new QRadioButton( "VCD", fButtonGroup);
-    fVCDButton->setEnabled( false );
-
-    QVGroupBox *startVBox = new QVGroupBox( _("Starting position"), deviceSelectHBox );
-
-    QHBox *titleHBox = new QHBox( startVBox );
-    new QLabel( _("Title "), titleHBox );
-    fTitle = new QSpinBox( titleHBox );
-    QHBox *chapterHBox = new QHBox( startVBox );
-    new QLabel( _("Chapter "), chapterHBox );
-    fChapter = new QSpinBox( chapterHBox );
-
-    QHBox *deviceNameHBox = new QHBox( pageVBox );
-    new QLabel( _("Device name "), deviceNameHBox );
-    fLineEdit = new KLineEdit( "/dev/dvd", deviceNameHBox );
-}
-
-KDiskDialog::~KDiskDialog()
-{
-}
-
-QString KDiskDialog::type() const
-{
-    if ( fDVDButton->isChecked() )
-    {
-        return ( QString("dvd") );
-    }
-    else
-    {
-        return ( QString("vcd") );
-    }
-}
-
-QString KDiskDialog::device() const
-{
-    return ( fLineEdit->text() );
-}
-
-int KDiskDialog::title() const
-{
-    return ( fTitle->value() );
-}
-
-int KDiskDialog::chapter() const
-{
-    return ( fChapter->value() );
-}
diff --git a/modules/gui/kde/disc.h b/modules/gui/kde/disc.h
deleted file mode 100644 (file)
index b2944f3..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/***************************************************************************
-                          disc.h  -  description
-                             -------------------
-    begin                : Sat Apr 7 2001
-    copyright            : (C) 2001 by andres
-    email                : dae@chez.com
- ***************************************************************************/
-
-#ifndef KDE_DISC_H
-#define KDE_DISC_H
-
-#include "common.h"
-#include <kdialogbase.h>
-#include <qstring.h>
-
-class QVButtonGroup;
-class QRadioButton;
-class QSpinBox;
-class KLineEdit;
-
-/**
-  *@author andres
-  */
-
-class KDiskDialog : public KDialogBase
-{
-    Q_OBJECT
-    public: 
-        KDiskDialog( QWidget *parent=0, const char *name=0 );
-        ~KDiskDialog();
-
-        QString    type() const;
-        QString    device() const;
-        int        title() const;
-        int        chapter() const;
-
-    private:
-
-        QVButtonGroup    *fButtonGroup;
-        QRadioButton     *fDVDButton;
-        QRadioButton     *fVCDButton;
-        QSpinBox         *fTitle;
-        QSpinBox         *fChapter;
-        KLineEdit        *fLineEdit;
-
-};
-
-#endif
diff --git a/modules/gui/kde/info.cpp b/modules/gui/kde/info.cpp
deleted file mode 100644 (file)
index e818db1..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*****************************************************************************
- * info.cpp: the KInfoWindow class
- *****************************************************************************
- * Copyright (C) 2001-2003 the VideoLAN team
- * $Id$
- *
- * Author: Sigmund Augdal <sigmunau@idi.ntnu.no>
- *
- * 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 "info.h"
-#include "common.h"
-#include <qtextview.h>
-#include <qlayout.h>
-#include <qlabel.h>
-#include <qvbox.h>
-
-KInfoWindow::KInfoWindow( intf_thread_t * p_intf,  input_thread_t *p_input ) :
-    KDialogBase( Tabbed, _( "Messages" ), Ok, Ok, 0, 0, false)
-{
-//    clearWFlags(~0);
-//    setWFlags(WType_TopLevel);
-    setSizeGripEnabled(true);
-
-    int i, j;
-
-    vlc_mutex_lock( &p_input->p_item->lock );
-    for ( i = 0; i < p_input->p_item->i_categories; i++ )
-    {
-        info_category_t *p_category =
-           p_input->p_item->pp_categories[i];
-
-        QFrame *page = addPage( QString(p_category->psz_name) );
-        QVBoxLayout *toplayout = new QVBoxLayout( page);
-        QVBox *category_table = new QVBox(page);
-        toplayout->addWidget(category_table);
-        toplayout->setResizeMode(QLayout::FreeResize);
-        toplayout->addStretch(10);
-        category_table->setSpacing(spacingHint());
-
-        for ( j = 0; j < p_category->i_infos; j++ )
-        {
-            info_t *p_info = p_category->pp_infos[j];
-
-            QHBox *hb = new QHBox( category_table );
-            new QLabel( QString(p_info->psz_name) + ":", hb );
-            new QLabel( p_info->psz_value, hb );
-        }
-    }
-    vlc_mutex_unlock( &p_input->p_item->lock );
-    resize(300,400);
-    show();
-}
-
-KInfoWindow::~KInfoWindow()
-{
-    ;
-}
diff --git a/modules/gui/kde/info.h b/modules/gui/kde/info.h
deleted file mode 100644 (file)
index e9adde6..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*****************************************************************************
- * info.h: the KInfoWindow class
- *****************************************************************************
- * Copyright (C) 2001-2003 the VideoLAN team
- * $Id$
- *
- * Author: Sigmund Augdal <sigmunau@idi.ntnu.no>
- *
- * 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 <kdialogbase.h>
-#include "common.h"
-
-class KInfoWindow : public KDialogBase
-{
-    Q_OBJECT
-public:
-    KInfoWindow( intf_thread_t*,  input_thread_t * );
-    ~KInfoWindow();
-
-};
diff --git a/modules/gui/kde/interface.cpp b/modules/gui/kde/interface.cpp
deleted file mode 100644 (file)
index 3c6c107..0000000
+++ /dev/null
@@ -1,674 +0,0 @@
-/***************************************************************************
-                          interface.cpp  -  description
-                             -------------------
-    begin                : Sun Mar 25 2001
-    copyright            : (C) 2001 by andres
-    email                : dae@chez.com
- ***************************************************************************/
-
-#include "disc.h"
-#include "info.h"
-#include "interface.h"
-#include "net.h"
-#include "menu.h"
-#include "slider.h"
-#include "preferences.h"
-#include "languagemenu.h"
-
-#include <iostream>
-
-#include <kaction.h>
-#include <kfiledialog.h>
-#include <klocale.h>
-#include <kstdaction.h>
-#include <kurl.h>
-#include <kurldrag.h>
-#include <qcursor.h>
-#include <qdragobject.h>
-#include <qtimer.h>
-#include <kdialog.h>
-#include <kstatusbar.h>
-
-#define ID_STATUS_MSG       1
-#define ID_DATE             2
-#define ID_STREAM_SOURCE    3
-
-KInterface::KInterface( intf_thread_t *p_intf, QWidget *parent,
-        const char *name ) : KMainWindow(parent,name)
-{
-    setAcceptDrops(true);
-
-    this->p_intf = p_intf;
-    p_messagesWindow = new KMessagesWindow( p_intf, p_intf->p_sys->p_msg );
-    fDiskDialog = new KDiskDialog( this );
-    fNetDialog = new KNetDialog( this );
-    fTitleMenu = new KTitleMenu( p_intf, this );
-
-    fSlider = new KVLCSlider( QSlider::Horizontal, this );
-    fSlider->setMaxValue(10000);
-    connect( fSlider, SIGNAL( userChanged( int ) ), this,
-             SLOT( slotSliderMoved( int ) ) );
-    connect( fSlider, SIGNAL( valueChanged( int ) ), this,
-             SLOT( slotSliderChanged( int ) ) );
-    connect( fSlider, SIGNAL( sliderMoved( int ) ), this,
-             SLOT( slotSliderChanged( int ) ) );
-    setCentralWidget(fSlider);
-
-    fTimer = new QTimer( this );
-    connect( fTimer, SIGNAL( timeout() ), this, SLOT( slotManage() ) );
-
-    resize( 400, 30 );
-    ///////////////////////////////////////////////////////////////////
-    // call inits to invoke all other construction parts
-    // XXX could we move this up ?
-    initStatusBar();
-    initActions();
-
-    // add certain calls to the popup menu
-    fileOpen->plug( fTitleMenu );
-    fileOpenRecent->plug( fTitleMenu );
-    diskOpen->plug( fTitleMenu );
-    streamOpen->plug( fTitleMenu );
-    play->plug( fTitleMenu );
-    pause->plug( fTitleMenu );
-    slow->plug( fTitleMenu );
-    fast->plug( fTitleMenu );
-    fileQuit->plug( fTitleMenu );
-    fTimer->start( 0, FALSE );
-
-}
-
-KInterface::~KInterface()
-{
-    ;
-}
-
-void KInterface::initActions()
-{
-    languages = new KActionMenu( _( "Languages" ), actionCollection(),
-                                 _("language") );
-    languages->setEnabled( false );
-    languageCollection = new KActionCollection( this );
-    subtitleCollection = new KActionCollection( this );
-    subtitles = new KActionMenu( _( "Subtitles" ), actionCollection(),
-                                 "subtitles" );
-    subtitles->setEnabled( false );
-    fileOpen =
-        KStdAction::open(this, SLOT(slotFileOpen()), actionCollection());
-    fileOpenRecent =
-        KStdAction::openRecent(this, SLOT(slotFileOpenRecent(const KURL&)),
-                               actionCollection());
-    preferences = KStdAction::preferences(this, SLOT(slotShowPreferences()),
-                                          actionCollection());
-    fileQuit = KStdAction::quit(this, SLOT(slotFileQuit()),
-                                actionCollection());
-    viewToolBar = KStdAction::showToolbar(this, SLOT(slotViewToolBar()),
-                                          actionCollection());
-    viewStatusBar = KStdAction::showStatusbar(this, SLOT(slotViewStatusBar()),
-                                              actionCollection());
-
-    diskOpen = new KAction( i18n( _("Open &Disk") ), 0, 0, this,
-                            SLOT( slotOpenDisk() ), actionCollection(),
-                            "open_disk" );
-    streamOpen = new KAction( i18n( _("Open &Stream") ), 0, 0, this,
-                              SLOT( slotOpenStream() ), actionCollection(),
-                              "open_stream" );
-    backward = new KAction( i18n( _("&Backward") ), 0, 0, this,
-                            SLOT( slotBackward() ), actionCollection(),
-                            "backward" );
-    stop = new KAction( i18n( _("&Stop") ), 0, 0, this,
-                        SLOT( slotStop() ), actionCollection(), "stop" );
-    play = new KAction( i18n( _("&Play") ), 0, 0, this,
-                        SLOT( slotPlay() ), actionCollection(), "play" );
-    pause = new KAction( i18n( _("P&ause") ), 0, 0, this,
-                         SLOT( slotPause() ), actionCollection(), "pause" );
-    slow = new KAction( i18n( _("&Slow") ), 0, 0, this,
-                        SLOT( slotSlow() ), actionCollection(), "slow" );
-    fast = new KAction( i18n( _("Fas&t") ), 0, 0, this,
-                        SLOT( slotFast() ), actionCollection(), "fast" );
-    prev = new KAction( i18n( _("Prev") ), 0, 0, this,
-                        SLOT( slotPrev() ), actionCollection(), "prev" );
-    next = new KAction( i18n( _("Next") ), 0, 0, this,
-                        SLOT( slotNext() ), actionCollection(), "next" );
-    messages = new KAction( _( "Messages..." ), 0, 0, this,
-                            SLOT( slotShowMessages() ), actionCollection(),
-                            "view_messages");
-    
-    info = new KAction( _( "Stream info..." ), 0, 0, this,
-                        SLOT( slotShowInfo() ), actionCollection(),
-                        "view_stream_info");
-
-    info->setEnabled( false );
-    program = new KActionMenu( _( "Program" ), actionCollection(), "program" );
-    program->setEnabled( false );
-    title = new KActionMenu( _( "Title" ), actionCollection(), "title" );
-    title->setEnabled( false );
-    chapter = new KActionMenu( _( "Chapter" ), actionCollection(), "chapter" );
-    chapter->setEnabled( false );
-    fileOpen->setStatusText(i18n(_("Opens an existing document")));
-    fileOpenRecent->setStatusText(i18n(_("Opens a recently used file")));
-    fileQuit->setStatusText(i18n(_("Quits the application")));
-    viewToolBar->setStatusText(i18n(_("Enables/disables the toolbar")));
-    viewStatusBar->setStatusText(i18n(_("Enables/disables the status bar")));
-
-    diskOpen->setStatusText( i18n( _("Opens a disk") ) );
-    streamOpen->setStatusText( i18n( _("Opens a network stream") ) );
-    backward->setStatusText( i18n( _("Backward") ) );
-    stop->setStatusText( i18n( _("Stops playback") ) );
-    play->setStatusText( i18n( _("Starts playback") ) );
-    pause->setStatusText( i18n( _("Pauses playback") ) );
-    slow->setStatusText( i18n( _("Slow") ) );
-    fast->setStatusText( i18n( _("Fast") ) );
-    prev->setStatusText( i18n( _("Prev") ) );
-    next->setStatusText( i18n( _("Next") ) );
-    // use the absolute path to your ktestui.rc file for testing purpose in createGUI();
-    char *psz_uifile = config_GetPsz( p_intf, "kde-uirc" );
-    createGUI( psz_uifile );
-//    createGUI( "./modules/gui/kde/ui.rc" );
-}
-
-void KInterface::initStatusBar()
-{
-  ///////////////////////////////////////////////////////////////////
-  // STATUSBAR
-  // TODO: add your own items you need for displaying current application status.
-    statusBar()->insertItem(i18n(_("Ready.")), ID_STATUS_MSG, 1, false);
-    statusBar()->setItemAlignment( ID_STATUS_MSG, AlignLeft | AlignVCenter );
-    statusBar()->insertItem( "0:00:00", ID_DATE, 0, true );
-}
-
-/////////////////////////////////////////////////////////////////////
-// SLOT IMPLEMENTATION
-/////////////////////////////////////////////////////////////////////
-void KInterface::slotShowMessages()
-{
-    p_messagesWindow->show();
-}
-
-void KInterface::slotShowInfo()
-{
-    if ( p_intf->p_sys->p_input )
-    {
-        new KInfoWindow(p_intf, p_intf->p_sys->p_input);
-    }
-}
-
-void KInterface::slotFileOpen()
-{
-    playlist_t *p_playlist;
-
-    slotStatusMsg( i18n( _("Opening file...") ) );
-    KURL url=KFileDialog::getOpenURL( QString::null,
-            i18n( "*|All files" ), this, i18n( _("Open File...") ) );
-
-    if( !url.isEmpty() )
-    {
-        p_playlist = (playlist_t *)
-            vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-        if( p_playlist )
-        {
-            fileOpenRecent->addURL( url );
-            playlist_Add( p_playlist, url.path(), url.path(), 
-                          PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
-            vlc_object_release( p_playlist );
-        }
-    }
-
-    slotStatusMsg( i18n( _("Ready.") ) );
-}
-
-void KInterface::slotFileOpenRecent(const KURL& url)
-{
-  slotStatusMsg(i18n(_("Opening file...")));
-  slotStatusMsg(i18n(_("Ready.")));
-}
-
-void KInterface::slotFileQuit()
-{
-    slotStatusMsg(i18n(_("Exiting...")));
-    p_intf->p_vlc->b_die = VLC_TRUE;
-    slotStatusMsg(i18n(_("Ready.")));
-}
-
-void KInterface::slotViewToolBar()
-{
-  slotStatusMsg(i18n(_("Toggling toolbar...")));
-  ///////////////////////////////////////////////////////////////////
-  // turn Toolbar on or off
-  if(!viewToolBar->isChecked())
-  {
-    toolBar("mainToolBar")->hide();
-  }
-  else
-  {
-    toolBar("mainToolBar")->show();
-  }        
-
-  slotStatusMsg(i18n(_("Ready.")));
-}
-
-void KInterface::slotViewStatusBar()
-{
-  slotStatusMsg(i18n(_("Toggle the status bar...")));
-  ///////////////////////////////////////////////////////////////////
-  //turn Statusbar on or off
-  if(!viewStatusBar->isChecked())
-  {
-    statusBar()->hide();
-  }
-  else
-  {
-    statusBar()->show();
-  }
-
-  slotStatusMsg(i18n(_("Ready.")));
-}
-
-void KInterface::slotShowPreferences()
-{
-    // Do something
-    KPreferences(this->p_intf, "main", this, "preferences");
-}
-
-void KInterface::slotStatusMsg(const QString &text)
-{
-  ///////////////////////////////////////////////////////////////////
-  // change status message permanently
-  statusBar()->clear();
-  statusBar()->changeItem(text, ID_STATUS_MSG);
-}
-
-void KInterface::slotManage()
-{
-    p_messagesWindow->update();
-//    p_intf->p_sys->p_app->processEvents();
-    vlc_mutex_lock( &p_intf->change_lock );
-
-    /* Update the input */
-    if( p_intf->p_sys->p_input == NULL )
-    {
-        p_intf->p_sys->p_input = (input_thread_t *)
-                vlc_object_find( p_intf, VLC_OBJECT_INPUT, FIND_ANYWHERE );
-        if ( p_intf->p_sys->p_input )
-        {
-            languages->setEnabled( true );
-            subtitles->setEnabled( true );
-            info->setEnabled( true );
-        }
-            
-    }
-    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;
-        languages->setEnabled( false );
-        subtitles->setEnabled( false );
-        info->setEnabled( false );
-    }
-
-    /* If the "display popup" flag has changed */
-    if( p_intf->b_menu_change )
-    {
-        fTitleMenu->popup( ( QCursor::pos() ) );
-        p_intf->b_menu_change = 0;
-    }
-
-    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 )
-            {
-                //            E_(GtkModeManage)( p_intf );
-                //GtkSetupMenus( p_intf );
-                slotUpdateLanguages();
-
-                p_intf->p_sys->b_playing = 1;
-                p_input->stream.b_changed = 0;
-            }
-
-            /* Manage the slider. fSlider->setValue triggers
-             * slotSliderChanged which needs to grab the stream lock*/
-#define p_area p_input->stream.p_selected_area
-            if( p_area->i_size ) {
-                vlc_mutex_unlock( &p_input->stream.stream_lock );
-                fSlider->setValue( ( 10000 * p_area->i_tell )
-                                   / p_area->i_size );
-                vlc_mutex_lock( &p_input->stream.stream_lock );
-
-            }
-#undef p_area
-            
-            //         if( p_intf->p_sys->i_part !=
-            //    p_input->stream.p_selected_area->i_part )
-            //{
-                //      p_intf->p_sys->b_chapter_update = 1;
-                //GtkSetupMenus( p_intf );
-            //}
-        }
-        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;
-    }
-
-    if( p_intf->b_die )
-    {
-        p_intf->p_sys->p_app->quit();
-    }
-
-    vlc_mutex_unlock( &p_intf->change_lock );
-    msleep( 100 );
-
-}
-
-void KInterface::slotSliderMoved( int position )
-{
-    if( p_intf->p_sys->p_input )
-    {
-        // XXX is this locking really useful ?
-        vlc_mutex_lock( &p_intf->change_lock );
-
-        var_SetFloat( p_intf->p_sys->p_input, "position",
-                       (double)position / 10000.0 );
-        vlc_mutex_unlock( &p_intf->change_lock );
-    }
-}
-
-void KInterface::slotUpdateLanguages()
-{
-
-    es_descriptor_t *   p_spu_es;
-    es_descriptor_t *   p_audio_es;
-    /* look for selected ES */
-    p_audio_es = NULL;
-    p_spu_es = NULL;
-
-    for( unsigned int i = 0 ;
-         i < p_intf->p_sys->p_input->stream.i_selected_es_number ;
-         i++
-        )
-    {
-        if( p_intf->p_sys->p_input->stream.pp_selected_es[i]->i_cat
-            == AUDIO_ES )
-        {
-            p_audio_es = p_intf->p_sys->p_input->stream.pp_selected_es[i];
-        }
-
-        if( p_intf->p_sys->p_input->stream.pp_selected_es[i]->i_cat == SPU_ES )
-        {
-            p_spu_es = p_intf->p_sys->p_input->stream.pp_selected_es[i];
-        }
-    }
-    languages->setEnabled( false );
-    subtitles->setEnabled( false );
-    languageCollection->clear();
-    subtitleCollection->clear();
-    languages->popupMenu()->clear();
-    subtitles->popupMenu()->clear();
-    /* audio menus */
-    /* find audio root menu */
-    languageMenus( languages, p_audio_es, AUDIO_ES );
-
-    /* sub picture menus */
-    /* find spu root menu */
-    languageMenus( subtitles, p_spu_es, SPU_ES );
-
-}
-
-
-/*
- * called with stream lock
- */
-void KInterface::languageMenus(KActionMenu *root, es_descriptor_t *p_es,
-                          int i_cat)
-{
-    int i_item = 0;
-    if ( i_cat != AUDIO_ES )
-    {
-        KLanguageMenuAction *p_item =
-            new KLanguageMenuAction( p_intf, _( "Off" ), 0, this );
-        subtitleCollection->insert( p_item );
-        root->insert( p_item );
-        root->insert( new KActionSeparator( this ) );
-        p_item->setExclusiveGroup( QString().sprintf( "%d", i_cat ) );
-        p_item->setChecked( p_es == 0 );
-    }
-    
-#define ES p_intf->p_sys->p_input->stream.pp_es[i]
-    /* create a set of language buttons and append them to the container */
-    for( unsigned int i = 0 ;
-         i < p_intf->p_sys->p_input->stream.i_es_number ;
-         i++ )
-    {
-        if( ( ES->i_cat == i_cat ) &&
-            ( !ES->p_pgrm ||
-              ES->p_pgrm ==
-                 p_intf->p_sys->p_input->stream.p_selected_program ) )
-        {
-            i_item++;
-            QString name = p_intf->p_sys->p_input->stream.pp_es[i]->psz_desc;
-            if( name.isEmpty() )
-            {
-                name.sprintf( "Language %d", i_item );
-            }
-            KLanguageMenuAction *p_item;
-            if ( i_cat == AUDIO_ES )
-            {
-                p_item = new KLanguageMenuAction( p_intf, name, ES,
-                                                  this );
-                languageCollection->insert(p_item);
-            }
-            else
-            {
-                p_item = new KLanguageMenuAction( p_intf, name, ES,
-                                                  this );
-                subtitleCollection->insert(p_item);
-            }
-            p_item->setExclusiveGroup( QString().sprintf( "%d", i_cat ) );
-            root->insert( p_item );
-            
-            if( p_es == p_intf->p_sys->p_input->stream.pp_es[i] )
-            {
-                /* don't lose p_item when we append into menu */
-                //p_item_active = p_item;
-                p_item->setChecked( true );
-            }
-            connect( p_item, SIGNAL( toggled( bool, es_descriptor_t * ) ),
-                     this, SLOT( slotSetLanguage( bool, es_descriptor_t * ) ));
-
-        }
-    }
-
-    root->setEnabled( true );
-}
-
-
-void KInterface::slotSetLanguage( bool on, es_descriptor_t *p_es )
-{
-    if( p_es )
-        var_SetInteger( p_intf->p_sys->p_input, "audio-es", p_es->i_id );
-    else
-        var_SetInteger( p_intf->p_sys->p_input, "audio-es", -1 );
-}
-
-void KInterface::slotSliderChanged( int position )
-{
-    if( p_intf->p_sys->p_input != NULL )
-    {
-        char psz_time[ MSTRTIME_MAX_SIZE ];
-        int64_t i_seconds;
-
-        i_seconds = var_GetTime( p_intf->p_sys->p_input, "time" ) / I64C(1000000 );
-        secstotimestr( psz_time, i_seconds );
-
-        statusBar()->changeItem( psz_time, ID_DATE );
-     }
-}
-
-void KInterface::slotOpenDisk()
-{
-    playlist_t *p_playlist;
-    int r = fDiskDialog->exec();
-    if ( r )
-    {
-        // Build source name
-        QString source;
-        source += fDiskDialog->type();
-        source += ':';
-        source += fDiskDialog->device();
-
-        source += '@';
-        source += fDiskDialog->title();
-        source += ',';
-        source += fDiskDialog->chapter();
-
-        p_playlist = (playlist_t *)
-            vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-        if( p_playlist )
-        {
-            // add it to playlist
-            playlist_Add( p_playlist, source.latin1(), source.latin1(),
-                          PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
-            vlc_object_release( p_playlist );
-        }
-    }
-}
-
-void KInterface::slotOpenStream()
-{
-    playlist_t *p_playlist;
-    int r = fNetDialog->exec();
-    if ( r )
-    {
-        // Build source name
-        QString source;
-        source += fNetDialog->protocol();
-        source += "://";
-        source += fNetDialog->server();
-        source += ":";
-        source += QString().setNum( fNetDialog->port() );
-
-        p_playlist = (playlist_t *)
-            vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-        if( p_playlist )
-        {
-            // add it to playlist
-            playlist_Add( p_playlist, source.latin1(), source.latin1(),
-                          PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
-            vlc_object_release( p_playlist );
-        }
-    }
-}
-
-void KInterface::slotPlay()
-{
-    if( p_intf->p_sys->p_input )
-    {
-        var_SetInteger( p_intf->p_sys->p_input, "state", PLAYING_S );
-    }
-}
-
-void KInterface::slotPause()
-{
-    if ( p_intf->p_sys->p_input )
-    {
-        var_SetInteger( p_intf->p_sys->p_input, "state", PAUSE_S );
-    }
-}
-
-void KInterface::slotStop()
-{
-    playlist_t *p_playlist = (playlist_t *)
-            vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-    if( p_playlist )
-    {
-        playlist_Stop( p_playlist );
-        vlc_object_release( p_playlist );
-    }
-}
-
-void KInterface::slotBackward()
-{
-    msg_Err( p_intf, "KInterface::slotBackward() - Unimplemented" );
-}
-
-void KInterface::slotPrev()
-{
-    playlist_t *p_playlist = (playlist_t *)
-            vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-    if( p_playlist )
-    {
-        playlist_Prev( p_playlist );
-        vlc_object_release( p_playlist );
-    }
-}
-
-void KInterface::slotNext()
-{
-    playlist_t *p_playlist = (playlist_t *)
-            vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-    if( p_playlist )
-    {
-        playlist_Next( p_playlist );
-        vlc_object_release( p_playlist );
-    }
-}
-
-void KInterface::slotSlow()
-{
-    if( p_intf->p_sys->p_input != NULL )
-    {
-        var_SetVoid( p_intf->p_sys->p_input, "rate-slower" );
-    }
-}
-
-void KInterface::slotFast()
-{
-    if( p_intf->p_sys->p_input != NULL )
-    {
-        var_SetVoid( p_intf->p_sys->p_input, "rate-faster" );
-    }
-}
-
-void KInterface::dragEnterEvent( QDragEnterEvent *event )
-{
-    event->accept( QUriDrag::canDecode( event ) );
-}
-
-void KInterface::dropEvent( QDropEvent *event )
-{
-    KURL::List urlList;
-
-    playlist_t *p_playlist = (playlist_t *)
-            vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-
-    if ( KURLDrag::decode( event, urlList ) )
-    {
-        for ( KURL::List::ConstIterator i = urlList.begin(); i != urlList.end(); i++ )
-        {
-            // XXX add a private function to add a KURL with checking
-            // actually a whole class for core abstraction would be neat
-            if( !(*i).isEmpty() )
-            {
-                fileOpenRecent->addURL( *i );
-                playlist_Add( p_playlist, (*i).path(), (*i).path(),
-                          PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
-            }
-        }
-    }
-
-    vlc_object_release( p_playlist );
-}
diff --git a/modules/gui/kde/interface.h b/modules/gui/kde/interface.h
deleted file mode 100644 (file)
index 59534e6..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-/***************************************************************************
-                          interface.h  -  description
-                             -------------------
-    begin                : Sun Mar 25 2001
-    copyright            : (C) 2001 by andres
-    email                : dae@chez.com
- ***************************************************************************/
-
-#ifndef _KDE_INTERFACE_H_
-#define _KDE_INTERFACE_H_
-
-#include "common.h"
-
-#include <kaction.h>
-#include <kmainwindow.h>
-#include <kapplication.h>
-#include <kurl.h>
-#include <qdragobject.h>
-#include <qstring.h>
-#include <qwidget.h>
-#include "messages.h"
-class KThread;
-
-class KDiskDialog;
-class KNetDialog;
-class KRecentFilesAction;
-class KTitleMenu;
-class KToggleAction;
-class KVLCSlider;
-
-/**Main Window for the KDE vlc interface
-  *@author andres
-  */
-
-class KInterface : public KMainWindow
-{
-    Q_OBJECT
-    public:
-        KInterface(intf_thread_t *p_intf, QWidget *parent=0,
-                   const char *name="VLC");
-        ~KInterface();
-
-    public slots:
-        /** open a file and load it into the document*/
-        void slotFileOpen();
-        /** opens a file from the recent files menu */
-        void slotFileOpenRecent(const KURL& url);
-        /** closes all open windows by calling close() on each
-         * memberList item until the list is empty, then quits the
-         * application.  If queryClose() returns false because the
-         * user canceled the saveModified() dialog, the closing
-         * breaks.
-         */
-        void slotFileQuit();
-        void slotShowPreferences();
-
-        /** toggles the toolbar
-         */
-        void slotViewToolBar();
-        /** toggles the statusbar
-         */
-        void slotViewStatusBar();
-        /** changes the statusbar contents for the standard label
-         * permanently, used to indicate current actions.
-         * @param text the text that is displayed in the statusbar
-         */
-        void slotStatusMsg( const QString &text );
-        void slotShowMessages();
-        void slotShowInfo();
-        void slotSetLanguage( bool, es_descriptor_t * );
-
-    protected:
-        /** initializes the KActions of the application */
-        void initActions();
-        /** sets up the statusbar for the main window by initialzing a statuslabel.
-         */
-        void initStatusBar();
-
-        virtual void dragEnterEvent( QDragEnterEvent *event );
-        virtual void dropEvent( QDropEvent *event );
-
-    private slots:
-        /** we use this to manage the communication with the vlc core */
-        void slotManage();
-
-        /** this slot is called when we drag the position seek bar */
-        void slotSliderMoved( int );
-
-        /** called every time the slider changes values */
-        void slotSliderChanged( int position );
-
-        void slotUpdateLanguages();
-        
-        void slotOpenDisk();
-        void slotOpenStream();
-
-        void slotBackward();
-        void slotStop();
-        void slotPlay();
-        void slotPause();
-        void slotSlow();
-        void slotFast();
-        void slotPrev();
-        void slotNext();
-
-  private:
-        void languageMenus( KActionMenu *, es_descriptor_t *, int );
-
-        intf_thread_t    *p_intf;
-        KMessagesWindow *p_messagesWindow;
-
-        /** to call p_intf->pf_manage every now and then */
-        QTimer            *fTimer;
-
-        /** slider which works well with user movement */
-        KVLCSlider    *fSlider;
-
-        /** open dvd/vcd */
-        KDiskDialog    *fDiskDialog;
-
-        /** open net stream */
-        KNetDialog        *fNetDialog;
-
-        KTitleMenu        *fTitleMenu;
-
-        // KAction pointers to enable/disable actions
-        KAction             *fileOpen;
-        KAction             *diskOpen;
-        KAction             *streamOpen;
-        KRecentFilesAction  *fileOpenRecent;
-        KAction             *fileQuit;
-        KToggleAction       *viewToolBar;
-        KToggleAction       *viewStatusBar;
-        KAction             *backward;
-        KAction             *stop;
-        KAction             *play;
-        KAction             *pause;
-        KAction             *slow;
-        KAction             *fast;
-        KAction             *prev;
-        KAction             *next;
-        KAction             *messages;
-        KAction             *preferences;
-        KAction             *info;
-        KActionMenu         *languages;
-        KActionMenu         *subtitles;
-        KActionCollection   *languageCollection;
-        KActionCollection   *subtitleCollection;
-        KActionMenu         *program;
-        KActionMenu         *title;
-        KActionMenu         *chapter;
-};
-
-/*****************************************************************************
- * intf_sys_t: description and status of KDE interface
- *****************************************************************************/
-struct intf_sys_t
-{
-    KApplication *p_app;
-    KInterface   *p_window;
-    KAboutData   *p_about;
-    int b_playing;
-
-    input_thread_t *p_input;
-    msg_subscription_t *p_msg;
-};
-
-#endif /* _KDE_INTERFACE_H_ */
diff --git a/modules/gui/kde/kde.cpp b/modules/gui/kde/kde.cpp
deleted file mode 100644 (file)
index 2f9398c..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-/*****************************************************************************
- * kde.cpp : KDE plugin for vlc
- *****************************************************************************
- * Copyright (C) 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Andres Krapf <dae@chez.com> Sun Mar 25 2001
- *
- * 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 "common.h"
-
-#include "interface.h"
-
-#include <iostream>
-
-#include <kaction.h>
-#include <kapp.h>
-#include <kaboutdata.h>
-#include <kcmdlineargs.h>
-#include <klocale.h>
-#include <kmainwindow.h>
-#include <kstdaction.h>
-#include <qwidget.h>
-
-/*****************************************************************************
- * The local class and prototypes
- *****************************************************************************/
-class KInterface;
-class KAboutData;
-
-static int open( vlc_object_t * p_this );
-static void close( vlc_object_t * p_this );
-static void run(intf_thread_t *p_intf);
-
-/*****************************************************************************
- * Module descriptor
- *****************************************************************************/
-vlc_module_begin();
-    /* int i = getenv( "DISPLAY" ) == NULL ? 8 : 85; */
-    set_category( CAT_INTERFACE );
-    set_subcategory( SUBCAT_INTERFACE_GENERAL );
-    set_description( _("KDE interface") );
-    add_file( "kde-uirc", DATA_PATH "/ui.rc", NULL, N_( "path to ui.rc file" ), NULL, VLC_TRUE );
-    set_capability( "interface", 0 ); /* 0 used to be i, disabled because kvlc not maintained */
-    set_program( "kvlc" );
-    set_callbacks( open, close );
-vlc_module_end();
-
-/*****************************************************************************
- * KThread::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 = (intf_sys_t *)malloc( sizeof( intf_sys_t ) );
-    if( p_intf->p_sys == NULL )
-    {
-        msg_Err( p_intf, "out of memory" );
-        return( 1 );
-    }
-
-    p_intf->pf_run = run;
-    return ( 0 );
-}
-
-/*****************************************************************************
- * KThread::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 );
-    }
-
-    delete p_intf->p_sys->p_app;
-    delete p_intf->p_sys->p_about;
-    msg_Unsubscribe(p_intf, p_intf->p_sys->p_msg);
-    free( p_intf->p_sys );
-}
-
-/*****************************************************************************
- * KThread::run: KDE thread
- *****************************************************************************
- * This part of the interface is in a separate thread so that we can call
- * exec() from within it without annoying the rest of the program.
- *****************************************************************************/
-void run(intf_thread_t *p_intf)
-{
-    p_intf->p_sys->p_about =
-      new KAboutData( "kvlc", I18N_NOOP("Kvlc"), VERSION,
-         _("This is the VLC media player, a DVD, MPEG and DivX player. It can "
-           "play MPEG and MPEG2 files from a file or from a network source."),
-         KAboutData::License_GPL,
-         _("(c) 1996-2004 the VideoLAN team"),
-         0, 0, "");
-
-    p_intf->p_sys->p_about->addAuthor( "the VideoLAN team", 0,
-                                       "<videolan@videolan.org>" );
-
-    int argc = 5;
-    char *argv[] = { "vlc", "--icon", DATA_PATH "/kvlc32x32.png", "--miniicon", DATA_PATH "/kvlc16x16.png" };
-    KCmdLineArgs::init( argc, argv, p_intf->p_sys->p_about );
-
-    /* Subscribe to message queue */
-    p_intf->p_sys->p_msg = msg_Subscribe( p_intf );
-
-    p_intf->p_sys->p_app = new KApplication();
-    p_intf->p_sys->p_window = new KInterface(p_intf);
-    p_intf->p_sys->p_window->setCaption( VOUT_TITLE " (KDE interface)" );
-
-    p_intf->p_sys->p_input = NULL;
-
-    p_intf->p_sys->p_window->show();
-    p_intf->p_sys->p_app->exec();
-}
-
diff --git a/modules/gui/kde/languagemenu.cpp b/modules/gui/kde/languagemenu.cpp
deleted file mode 100644 (file)
index a6530b7..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*****************************************************************************
- * languagemenu.cpp: the KLanguageMenuAction class
- *****************************************************************************
- * Copyright (C) 2001-2003 the VideoLAN team
- * $Id$
- *
- * Author: Sigmund Augdal <sigmunau@idi.ntnu.no>
- *
- * 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 "languagemenu.h"
-
-KLanguageMenuAction::KLanguageMenuAction( intf_thread_t *p_intf, const QString &text, es_descriptor_t * p_es, QObject *parent) : KRadioAction( text,0,parent), p_es(p_es), p_intf(p_intf)
-{
-    ;
-}
-
-void KLanguageMenuAction::setChecked( bool on )
-{
-    if ( on != isChecked() )
-    {
-        emit toggled( on, p_es );
-        KRadioAction::setChecked( on );
-    }
-}
-
-KLanguageMenuAction::~KLanguageMenuAction()
-{
-}
diff --git a/modules/gui/kde/languagemenu.h b/modules/gui/kde/languagemenu.h
deleted file mode 100644 (file)
index 70bce07..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*****************************************************************************
- * languagemenu.h: the KLanguageMenuAction class
- *****************************************************************************
- * Copyright (C) 2001-2003 the VideoLAN team
- * $Id$
- *
- * Author: Sigmund Augdal <sigmunau@idi.ntnu.no>
- *
- * 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 <kaction.h>
-#include "common.h"
-class KLanguageMenuAction : public KRadioAction
-{
-    Q_OBJECT
-public:
-    KLanguageMenuAction(intf_thread_t*, const QString&, es_descriptor_t *, QObject *);
-    ~KLanguageMenuAction();
-signals:
-    void toggled( bool, es_descriptor_t *);
-public slots:
-    void setChecked( bool );
-private:
-    es_descriptor_t *p_es;
-    intf_thread_t    *p_intf;
-};
diff --git a/modules/gui/kde/menu.cpp b/modules/gui/kde/menu.cpp
deleted file mode 100644 (file)
index e1ca639..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/***************************************************************************
-                          menu.cpp  -  description
-                             -------------------
-    begin                : Thu Apr 12 2001
-    copyright            : (C) 2001 by andres
-    email                : dae@chez.com
- ***************************************************************************/
-
-#include "interface.h"
-#include "menu.h"
-
-#include <kaction.h>
-#include <klocale.h>
-
-KTitleMenu::KTitleMenu( intf_thread_t *p_intf, QWidget *parent, const char *name ) : KPopupMenu( parent, name )
-{
-    fInterfaceThread = p_intf;
-    connect( this, SIGNAL( aboutToShow() ), this, SLOT( regenerateSlot() ) );
-    fLanguageList = new KActionMenu( "Language", 0, this );
-}
-
-KTitleMenu::~KTitleMenu()
-{
-}
-
-void KTitleMenu::regenerateSlot()
-{
-    // removal of elements and disconnection of signal/slots happen transparently on delete
-    delete fLanguageList;
-    fLanguageList = new KActionMenu( "Language", 0, this );
-
-    int i_item = 0;
-    vlc_mutex_lock( &fInterfaceThread->p_sys->p_input->stream.stream_lock );
-
-    for( unsigned int i = 0 ;
-         i < fInterfaceThread->p_sys->p_input->stream.i_es_number ;
-         i++ )
-    {
-        if( fInterfaceThread->p_sys->p_input->stream.pp_es[i]->i_cat /* == i_cat */ )
-        {
-            i_item++;
-            QString language( fInterfaceThread->p_sys->p_input->stream.pp_es[i]->psz_desc );
-            if ( QString::null == language )
-            {
-                language += i18n( "Language" );
-                language += " " + i_item;
-            }
-            KRadioAction *action = new KRadioAction( language, 0, this, "language_action" );
-            fLanguageList->insert( action );
-
-            if( /* p_es == */ fInterfaceThread->p_sys->p_input->stream.pp_es[i] )
-            {
-                /* don't lose p_item when we append into menu */
-                //p_item_active = p_item;
-            }
-        }
-    }
-
-    vlc_mutex_unlock( &fInterfaceThread->p_sys->p_input->stream.stream_lock );
-
-#if 0
-    /* link the new menu to the menubar item */
-    gtk_menu_item_set_submenu( GTK_MENU_ITEM( p_root ), p_menu );
-
-    /* acitvation will call signals so we can only do it
-     * when submenu is attached to menu - to get intf_window */
-    if( p_item_active != NULL )
-    {
-        gtk_check_menu_item_set_active( GTK_CHECK_MENU_ITEM( p_item_active ),
-                                        TRUE );
-    }
-#endif
-
-    /* be sure that menu is sensitive if non empty */
-    if ( i_item > 0 )
-    {
-        fLanguageList->setEnabled( true );
-    }
-}
-
-/** this method is called when the user selects a language */
-void KTitleMenu::languageSelectedSlot()
-{
-}
diff --git a/modules/gui/kde/menu.h b/modules/gui/kde/menu.h
deleted file mode 100644 (file)
index 480d882..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/***************************************************************************
-                          menu.h  -  description
-                             -------------------
-    begin                : Thu Apr 12 2001
-    copyright            : (C) 2001 by andres
-    email                : dae@chez.com
- ***************************************************************************/
-
-#ifndef _KDE_MENU_H_
-#define _KDE_MENU_H_
-
-#include "common.h"
-
-#include <qwidget.h>
-#include <kpopupmenu.h>
-
-class KActionMenu;
-
-/**
-  *@author andres
-  */
-
-class KTitleMenu : public KPopupMenu
-{
-    Q_OBJECT
-    public: 
-        KTitleMenu( intf_thread_t *p_intf, QWidget *parent=0,
-                    const char *name=0 );
-        ~KTitleMenu();
-
-    private:
-        intf_thread_t      *fInterfaceThread;
-        KActionMenu        *fLanguageList;
-
-    private slots: // Private slots
-        /** this method regenerates the popup menu */
-        void regenerateSlot();
-
-        /** this method is called when the user selects a language */
-        void languageSelectedSlot();
-
-};
-
-#endif /* _KDE_MENU_H_ */
diff --git a/modules/gui/kde/messages.cpp b/modules/gui/kde/messages.cpp
deleted file mode 100644 (file)
index 238e714..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/*****************************************************************************
- * messages.cpp: the KMessagesWindow class
- *****************************************************************************
- * Copyright (C) 2001-2003 the VideoLAN team
- * $Id$
- *
- * Author: Sigmund Augdal <sigmunau@idi.ntnu.no>
- *
- * 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 "messages.h"
-#include <qtextview.h>
-#include <qlayout.h>
-#include <qlabel.h>
-#include <qvbox.h>
-
-KMessagesWindow::KMessagesWindow( intf_thread_t * p_intf,  msg_subscription_t *p_msg ) :
-    KDialogBase( Plain, _( "Messages" ), Ok, Ok, 0, 0, false)
-{
-//    clearWFlags(~0);
-//    setWFlags(WType_TopLevel);
-    setSizeGripEnabled(true);
-    this->p_intf = p_intf;
-    this->p_msg = p_msg;
-    QFrame *page = plainPage();
-    QVBoxLayout *toplayout = new QVBoxLayout( page);
-//    QScrollView *sv = new QScrollView(page);
-//    sv->setResizePolicy(QScrollView::AutoOneFit);
-//    sv->setFrameStyle(QScrollView::NoFrame);
-//    toplayout->addWidget(sv);
-//    QVBox *category_table = new QVBox(sv->viewport());
-//    sv->addChild(category_table);
-//    toplayout->addStretch(10);
-    QVBox *category_table = new QVBox(page);
-    toplayout->addWidget(category_table);
-    toplayout->setResizeMode(QLayout::FreeResize);
-    category_table->setSpacing(spacingHint());
-    resize(300,400);
-    new QLabel( _("Messages:"), category_table );
-    text = new QTextView( category_table );
-    text->setPaper( QBrush( black ) );
-//    clearWFlags(WStyle_DialogBorder|WStyle_NoBorder);
-//    setWFlags(WStyle_NormalBorder|WStyle_Customize);
-//    connect(this, SIGNAL(okClicked()), this, SLOT(accept()));
-}
-
-KMessagesWindow::~KMessagesWindow()
-{
-    ;
-}
-
-void KMessagesWindow::update()
-{
-    int i_stop, i_start;
-    /* Update the log window */
-    vlc_mutex_lock( p_msg->p_lock );
-    i_stop = *p_msg->pi_stop;
-    vlc_mutex_unlock( p_msg->p_lock );
-
-    if( p_msg->i_start != i_stop )
-    {
-        static const char * ppsz_type[4] = { ": ", " error: ", " warning: ",
-                                             " debug: " };
-        static const char * ppsz_color[4] = {
-            "<font color=white>",
-            "<font color=red>",
-            "<font color=yellow>",
-            "<font color=gray>"
-        };
-        for( i_start = p_msg->i_start;
-             i_start != i_stop;
-             i_start = (i_start+1) % VLC_MSG_QSIZE )
-        {
-            text->append( QString("<font color=white>") +
-                          p_msg->p_msg[i_start].psz_module +
-                          ppsz_type[p_msg->p_msg[i_start].i_type] +
-                          "</font>" +
-                          ppsz_color[p_msg->p_msg[i_start].i_type] +
-                          p_msg->p_msg[i_start].psz_msg + "</font>" );
-        }
-
-        vlc_mutex_lock( p_msg->p_lock );
-        p_msg->i_start = i_start;
-        vlc_mutex_unlock( p_msg->p_lock );
-
-    }
-}
diff --git a/modules/gui/kde/messages.h b/modules/gui/kde/messages.h
deleted file mode 100644 (file)
index 876375e..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*****************************************************************************
- * messages.h: the KMessagesWindow class
- *****************************************************************************
- * Copyright (C) 2001-2003 the VideoLAN team
- * $Id$
- *
- * Author: Sigmund Augdal <sigmunau@idi.ntnu.no>
- *
- * 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 <kdialogbase.h>
-#include <qtextview.h>
-#include "common.h"
-
-class KMessagesWindow : public KDialogBase
-{
-    Q_OBJECT
-public:
-    KMessagesWindow( intf_thread_t*,  msg_subscription_t * );
-    ~KMessagesWindow();
-
-public slots:
-    void update();
-private:
-    intf_thread_t* p_intf;
-    QTextView* text;
-    msg_subscription_t *p_msg;
-};
-
diff --git a/modules/gui/kde/net.cpp b/modules/gui/kde/net.cpp
deleted file mode 100644 (file)
index 5b2493c..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/***************************************************************************
-                          net.cpp  -  description
-                             -------------------
-    begin                : Mon Apr 9 2001
-    copyright            : (C) 2001 by andres
-    email                : dae@chez.com
- ***************************************************************************/
-
-#include "net.h"
-
-#include <kdialogbase.h>
-#include <klineedit.h>
-#include <qhbox.h>
-#include <qlabel.h>
-#include <qradiobutton.h>
-#include <qspinbox.h>
-#include <qstring.h>
-#include <qvbox.h>
-#include <qvbuttongroup.h>
-#include <qvgroupbox.h>
-#include <qwidget.h>
-
-KNetDialog::KNetDialog( QWidget *parent, const char *name )
-           :KDialogBase( parent, name, true,
-                         QString::null, Ok|Cancel, Ok, true )
-{
-    QVBox *pageVBox = makeVBoxMainWidget();
-
-    QHBox *layout = new QHBox( pageVBox );
-    layout->setSpacing( 5 );
-    fButtonGroup = new QVButtonGroup( _("Protocol"), layout );
-    fTSButton = new QRadioButton( "TS", fButtonGroup);
-    fTSButton->setChecked( true );
-    fRTPButton = new QRadioButton( "RTP", fButtonGroup);
-    fRTPButton->setEnabled( false );
-    fHTTPButton = new QRadioButton( "HTTP", fButtonGroup);
-    fHTTPButton->setEnabled( false );
-
-    QVGroupBox *serverVBox = new QVGroupBox( _("Starting position"), layout );
-
-    QHBox *titleHBox = new QHBox( serverVBox );
-    new QLabel( _("Address "), titleHBox );
-    fAddress = new KLineEdit( "vls", titleHBox );
-    QHBox *portHBox = new QHBox( serverVBox );
-    new QLabel( _("Port "), portHBox );
-    fPort = new QSpinBox( 0, 65535, 1, portHBox );
-}
-
-KNetDialog::~KNetDialog()
-{
-}
-
-QString KNetDialog::protocol() const
-{
-    if ( fTSButton->isChecked() )
-    {
-        return ( QString( "ts" ) );
-    }
-    else if ( fRTPButton->isChecked() )
-    {
-        return ( QString( "rtp" ) );
-    }
-    else
-    {
-        return ( QString( "http" ) );
-    }
-}
-
-QString KNetDialog::server() const
-{
-    return ( fAddress->text() );
-}
-
-int KNetDialog::port() const
-{
-    return ( fPort->value() );
-}
diff --git a/modules/gui/kde/net.h b/modules/gui/kde/net.h
deleted file mode 100644 (file)
index 98571b3..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/***************************************************************************
-                          net.h  -  description
-                             -------------------
-    begin                : Mon Apr 9 2001
-    copyright            : (C) 2001 by andres
-    email                : dae@chez.com
- ***************************************************************************/
-
-#ifndef _KDE_NET_H_
-#define _KDE_NET_H_
-
-#include "common.h"
-#include <qwidget.h>
-#include <kdialogbase.h>
-
-class QVButtonGroup;
-class QRadioButton;
-class QSpinBox;
-class KLineEdit;
-
-/**
-  *@author andres
-  */
-
-class KNetDialog : public KDialogBase
-{
-    Q_OBJECT
-    public:
-        KNetDialog(QWidget *parent=0, const char *name=0);
-        ~KNetDialog();
-
-        QString    protocol() const;
-        QString    server() const;
-        int        port() const;
-
-    private:
-        QVButtonGroup    *fButtonGroup;
-        QRadioButton     *fTSButton;
-        QRadioButton     *fRTPButton;
-        QRadioButton     *fHTTPButton;
-        KLineEdit        *fAddress;
-        QSpinBox         *fPort;
-
-};
-
-#endif /* _KDE_NET_H_ */
diff --git a/modules/gui/kde/pluginsbox.cpp b/modules/gui/kde/pluginsbox.cpp
deleted file mode 100644 (file)
index f6da09c..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*****************************************************************************
- * pluginbox.cpp: the pluginbox class
- *****************************************************************************
- * Copyright (C) 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Sigmund Augdal <sigmunau@idi.ntnu.no> Mon Aug 12 2002
- *
- * 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 "pluginsbox.h"
-#include "preferences.h"
-
-#include <qgroupbox.h>
-#include <qhbox.h>
-#include <qlabel.h>
-#include <qvbox.h>
-#include <klistview.h>
-#include <kbuttonbox.h>
-
-KPluginsBox::KPluginsBox(intf_thread_t *p_intf,
-                         QString text, QString value, QWidget *parent,
-                         int spacing, KPreferences *pref) :
-    QGroupBox( 1, Vertical, text, parent )
-{
-    owner = pref;
-    this->p_intf = p_intf;
-    QVBox *item_vbox = new QVBox( this );
-    item_vbox->setSpacing(spacing);
-    
-    listView = new KListView(item_vbox);
-    listView->setAllColumnsShowFocus(true);
-    listView->addColumn(_("Name"));
-    listView->addColumn(_("Description"));
-    KButtonBox *item_bbox = new KButtonBox(item_vbox);
-    selectButton = item_bbox->addButton( _("Select") );
-    QHBox *item_hbox = new QHBox(item_vbox);
-    item_hbox->setSpacing(spacing);
-    new QLabel( _("Selected:"), item_hbox );
-    line = new KLineEdit( value, item_hbox );
-    connect(selectButton, SIGNAL(clicked()), this, SLOT(selectClicked()));
-    connect(listView, SIGNAL(selectionChanged( QListViewItem *)),
-            this, SLOT( selectionChanged( QListViewItem *)));
-}
-
-KPluginsBox::~KPluginsBox()
-{
-    ;
-}
-
-QListView* KPluginsBox::getListView()
-{
-    return listView;
-}
-
-void KPluginsBox::selectClicked()
-{
-    if (listView->selectedItem()) {
-        line->setText(listView->selectedItem()->text(0));
-        emit selectionChanged(listView->selectedItem()->text(0));
-    }
-}
-
-void KPluginsBox::selectionChanged( QListViewItem *item )
-{
-    selectButton->setEnabled(true);
-}
diff --git a/modules/gui/kde/pluginsbox.h b/modules/gui/kde/pluginsbox.h
deleted file mode 100644 (file)
index 1dae924..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*****************************************************************************
- * pluginbox.h: includes for the pluginbox class
- *****************************************************************************
- * Copyright (C) 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Sigmund Augdal <sigmunau@idi.ntnu.no> Mon Aug 12 2002
- *
- * 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.
- *****************************************************************************/
-#ifndef _KDE_PLUGINBOX_H_
-#define _KDE_PLUGINBOX_H_
-#include <qgroupbox.h>
-#include <klistview.h>
-#include <qpushbutton.h>
-#include <klineedit.h>
-#include "preferences.h"
-class KPluginsBox : public QGroupBox
-{
-    Q_OBJECT
- public:
-    KPluginsBox(intf_thread_t *p_intf, QString title, QString value,
-                QWidget *parent, int spacing, KPreferences *pref);
-    ~KPluginsBox();
-
-    QListView *getListView(void);
-
- private slots:
-    void selectClicked(void);
-    void selectionChanged( QListViewItem * );
-
- signals:
-    void selectionChanged(const QString &text);
-    
- private:
-    intf_thread_t *p_intf;
-    KListView *listView;
-    QPushButton *selectButton;
-    KLineEdit *line;
-    KPreferences *owner;
-};
-#endif
diff --git a/modules/gui/kde/preferences.cpp b/modules/gui/kde/preferences.cpp
deleted file mode 100644 (file)
index b681c95..0000000
+++ /dev/null
@@ -1,409 +0,0 @@
-/*****************************************************************************
- * preferences.cpp: preferences window for the kde gui
- *****************************************************************************
- * Copyright (C) 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Sigmund Augdal <sigmunau@idi.ntnu.no> Mon Aug 12 2002
- *
- * 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 <kdialogbase.h>
-#include <qmap.h>
-#include <qcheckbox.h>
-#include <qframe.h>
-#include <qgroupbox.h>
-#include <qlayout.h>
-#include <qlabel.h>
-#include <qlistview.h>
-#include <qnamespace.h>
-#include <qobjectlist.h>
-#include <qslider.h>
-#include <qspinbox.h>
-#include <qtooltip.h>
-#include <qvbox.h>
-
-#include <kbuttonbox.h>
-#include <klineedit.h>
-#include <klocale.h>
-#include <knuminput.h>
-#include <kurlrequester.h>
-#include <kfiledialog.h>
-#include <kcombobox.h>
-
-#include "QConfigItem.h"
-#include "pluginsbox.h"
-#include "preferences.h"
-
-/*
-  construct a new configuration window for the given module
-*/
-KPreferences::KPreferences(intf_thread_t *p_intf, const char *psz_module_name,
-                           QWidget *parent, const QString &caption) :
-    KDialogBase ( TreeList, caption, Ok| Apply|Cancel|User1, Ok, parent,
-                  _("VLC preferences"), true, false, i18n(_("&Save")) )
-{
-    module_t *p_parser = NULL;
-    vlc_list_t *p_list;
-    module_config_t *p_item;
-    int i_index;
-    QVBox *category_table = NULL;
-    QString *category_label;
-
-    this->p_intf = p_intf;
-
-    /* List all modules */
-    p_list = vlc_list_find( p_intf, VLC_OBJECT_MODULE, FIND_ANYWHERE );
-
-    for( i_index = 0; i_index < p_list->i_count; i_index++ )
-    {
-        p_parser = (module_t *)p_list->p_values[i_index].p_object ;
-        p_item = p_parser->p_config;
-        while( p_item && p_item->i_type != CONFIG_HINT_END )
-        {
-            switch( p_item->i_type )
-            {
-            case CONFIG_HINT_CATEGORY:
-                /* force the content to the top of the page */
-                if ( category_table )
-                {
-                    QWidget *space = new QWidget( category_table );
-                    category_table->setStretchFactor( space, 10 );
-                    category_table = NULL;
-                }
-                
-                /*
-                 * Now we can start taking care of the new category
-                 */
-                if( p_item->i_type == CONFIG_HINT_CATEGORY )
-                {
-                    category_label = new QString( p_item->psz_text );
-                    QStringList path;
-                    if ( strcmp( p_parser->psz_object_name, "main" ) )
-                    {
-                        path += _( "Plugins" );
-                        path += p_parser->psz_capability;
-                        path += p_parser->psz_object_name;
-                    }
-                    path += *category_label;
-                    QFrame *page = addPage( path );
-                    QVBoxLayout *toplayout = new QVBoxLayout( page);
-                    QScrollView *sv = new QScrollView(page);
-                    sv->setResizePolicy(QScrollView::AutoOneFit);
-                    sv->setFrameStyle(QScrollView::NoFrame);
-                    toplayout->addWidget(sv);
-                    category_table = new QVBox(sv->viewport());
-                    sv->addChild(category_table);
-                    category_table->setSpacing(spacingHint());
-                }
-
-                break;
-
-            case CONFIG_ITEM_MODULE:
-
-            {
-                vlc_mutex_lock( p_item->p_lock );
-                KPluginsBox *item_frame =
-                    new KPluginsBox( p_intf, p_item->psz_text,
-                                     p_item->psz_value ? p_item->psz_value :"",
-                                     category_table,
-                                     spacingHint(),
-                                     this );
-                QConfigItem *ci = new QConfigItem(this,
-                                                  p_item->psz_name,
-                                                  p_item->i_type,
-                                                  p_item->psz_value);
-                connect(item_frame, SIGNAL(selectionChanged(const QString &)),
-                        ci, SLOT(setValue(const QString &)));
-
-
-                /* build a list of available plugins */
-                for( int i_index = 0; i_index < p_list->i_count; i_index++ )
-                {
-                    module_t *p_parser = (module_t *)p_list->p_values[i_index].p_object ;
-
-                    if( !strcmp( p_parser->psz_capability,
-                                 p_item->psz_type ) )
-                    {
-                        new QListViewItem(item_frame->getListView(),
-                                          p_parser->psz_object_name,
-                                          p_parser->psz_longname);
-                    }
-                }
-
-                vlc_mutex_unlock( p_item->p_lock );
-            }
-            break;
-
-            case CONFIG_ITEM_STRING:
-            {
-                QHBox *hb = new QHBox(category_table);
-                hb->setSpacing(spacingHint());
-                new QLabel(p_item->psz_text, hb);
-                /* add input box with default value */
-                vlc_mutex_lock( p_item->p_lock );
-                QConfigItem *ci = new QConfigItem(this, p_item->psz_name,
-                                                  p_item->i_type,
-                                                  p_item->psz_value ?
-                                                  p_item->psz_value : "");
-                if ( p_item->ppsz_list )
-                {
-                    char **ppsz_list = p_item->ppsz_list;
-                    KComboBox *p_combobox = new KComboBox( true, hb );
-                    QToolTip::add(p_combobox, p_item->psz_longtext);
-                    connect(p_combobox, SIGNAL(activated ( const QString & )),
-                            ci, SLOT(setValue( const QString &)));
-                    while ( *ppsz_list )
-                    {
-                        p_combobox->insertItem( *ppsz_list );
-                        if ( !strcmp( *ppsz_list, p_item->psz_value ?
-                                                  p_item->psz_value : "" ) )
-                        {
-#if KDE_VERSION_MAJOR >= 3
-                            p_combobox->setCurrentText( *ppsz_list );
-#else
-                            p_combobox->setCurrentItem( p_combobox->count() );
-#endif
-                        }
-                        ppsz_list++;
-                    }
-                }
-                else
-                {
-                    KLineEdit *kl = new KLineEdit( p_item->psz_value ?
-                                                   p_item->psz_value : "", hb);
-                    connect(kl, SIGNAL(textChanged ( const QString & )),
-                            ci, SLOT(setValue( const QString &)));
-                    QToolTip::add(kl, p_item->psz_longtext);
-                    kl->setMaxLength(40);
-                }
-
-                vlc_mutex_unlock( p_item->p_lock );
-            }
-            break;
-
-            case CONFIG_ITEM_FILE:
-            case CONFIG_ITEM_DIRECTORY:
-            {
-                QHBox *hb = new QHBox(category_table);
-                hb->setSpacing(spacingHint());
-                new QLabel(p_item->psz_text, hb);
-                /* add input box with default value */
-                vlc_mutex_lock( p_item->p_lock );
-
-//            KLineEdit *kl = new KLineEdit( p_item->psz_value ?
-//                                           p_item->psz_value : "", hb);
-                QConfigItem *ci = new QConfigItem(this, p_item->psz_name,
-                                                  p_item->i_type,
-                                                  p_item->psz_value ?
-                                                  p_item->psz_value : "");
-//            QPushButton *bbrowse = new QPushButton( _("Browse"), hb );
-                KURLRequester *kfile = new KURLRequester( p_item->psz_value ?
-                                                          p_item->psz_value : "",
-                                                          hb );
-                if ( p_item->i_type == CONFIG_ITEM_DIRECTORY )
-                {
-                    kfile->fileDialog()->setMode(KFile::Directory|KFile::ExistingOnly|KFile::LocalOnly);
-                }
-                connect(kfile, SIGNAL(textChanged ( const QString & )),
-                        ci, SLOT(setValue( const QString &)));
-                QToolTip::add(kfile, p_item->psz_longtext);
-                vlc_mutex_unlock( p_item->p_lock );
-            }
-            break;
-
-            case CONFIG_ITEM_INTEGER:
-                /* add input box with default value */
-            {
-                QHBox *hb = new QHBox(category_table);
-                hb->setSpacing(spacingHint());
-                new QLabel(p_item->psz_text, hb);
-                QConfigItem *ci = new QConfigItem(this, p_item->psz_name,
-                                                  p_item->i_type,
-                                                  p_item->i_value);
-                if ( p_item->i_min == 0 && p_item->i_max == 0 )
-                {
-                    QSpinBox *item_adj = new QSpinBox(-1, 99999, 1, hb);
-                    item_adj->setValue( p_item->i_value );
-                    connect(item_adj, SIGNAL(valueChanged( int)),
-                            ci, SLOT(setValue(int)));
-                    QToolTip::add(item_adj, p_item->psz_longtext);
-                }
-                else
-                {
-                    KIntNumInput *p_ii = new KIntNumInput( p_item->i_value, hb );
-                    p_ii->setRange( p_item->i_min, p_item->i_max, 1, true ); 
-                    connect( p_ii, SIGNAL( valueChanged( int ) ),
-                             ci, SLOT( setValue( int ) ) );
-                    QToolTip::add( p_ii, p_item->psz_longtext );
-                }
-            }
-            break;
-
-            case CONFIG_ITEM_FLOAT:
-            {
-                QHBox *hb = new QHBox(category_table);
-                hb->setSpacing(spacingHint());
-                new QLabel(p_item->psz_text, hb);
-                KDoubleNumInput *kdi= new KDoubleNumInput(p_item->f_value, hb);
-                if ( p_item->f_min == 0 && p_item->f_max == 0 )
-                {
-                    kdi->setRange(-1, 99999, 0.01, false);
-                }
-                else
-                {
-                    kdi->setRange( p_item->f_min, p_item->f_max, 0.01, true );
-                }
-                QConfigItem *ci = new QConfigItem(this, p_item->psz_name,
-                                                  p_item->i_type,
-                                                  p_item->f_value);
-                connect(kdi, SIGNAL(valueChanged(double)),
-                        ci, SLOT(setValue(double)));
-                QToolTip::add(kdi, p_item->psz_longtext);
-            }
-            break;
-
-            case CONFIG_ITEM_BOOL:
-
-                /* add check button */
-            {
-                QCheckBox *bool_checkbutton =
-                    new QCheckBox(QString(p_item->psz_text), category_table);
-                QConfigItem *ci = new QConfigItem(this, p_item->psz_name,
-                                                  p_item->i_type,
-                                                  p_item->i_value);
-                bool_checkbutton->setChecked(p_item->i_value);
-                connect(bool_checkbutton, SIGNAL(stateChanged( int)),
-                        ci, SLOT(setValue(int)));
-                QToolTip::add(bool_checkbutton, p_item->psz_longtext);
-
-            }
-            break;
-
-            }
-            
-            p_item++;
-        }
-    }
-    /* force the content to the top of the page, even on the last page */
-    if ( category_table )
-    {
-        QWidget *space = new QWidget( category_table );
-        category_table->setStretchFactor( space, 10 );
-        category_table = NULL;
-    }
-                
-
-    vlc_list_release( p_list );
-
-    exec();
-}
-
-/*
-  empty destructor, qt takes care of this (I think)
-*/
-KPreferences::~KPreferences()
-{
-}
-
-/*
-  return true if the give module is configureable
-*/
-bool KPreferences::isConfigureable(QString module)
-{
-    module_t *p_parser;
-    vlc_list_t *p_list;
-    int i_index;
-
-    p_list = vlc_list_find( this->p_intf, VLC_OBJECT_MODULE, FIND_ANYWHERE );
-
-    for( i_index = 0; i_index < p_list->i_count; i_index++ )
-    {
-        p_parser = (module_t *)p_list->p_values[i_index].p_object ;
-
-        if( !module.compare( p_parser->psz_object_name ) )
-        {
-            bool ret = p_parser->i_config_items != 0;
-            vlc_list_release( p_list );
-            return ret;
-        }
-    }
-
-    vlc_list_release( p_list );
-    return false;
-}
-
-/*
-  run when the Apply button is pressed, and by the methods for the ok
-  and save buttons
-*/
-void KPreferences::slotApply()
-{
-    QObjectList * l = queryList( "QConfigItem" );
-    QObjectListIt it( *l );             // iterate over the config items
-    QObject * obj;
-    while ( (obj=it.current()) != 0 ) {
-        ++it;
-        QConfigItem *p_config = (QConfigItem *)obj;
-        if ( p_config->changed() )
-        {
-            msg_Dbg( p_intf, const_cast<char *>(p_config->name()));
-            msg_Dbg( p_intf, "%d", p_config->getType());
-
-            switch( p_config->getType() ) {
-
-            case CONFIG_ITEM_DIRECTORY:
-            case CONFIG_ITEM_STRING:
-            case CONFIG_ITEM_FILE:
-            case CONFIG_ITEM_MODULE:
-                if (p_config->sValue()) {
-                    config_PutPsz( p_intf, p_config->name(),
-                                   strdup(p_config->sValue().latin1()));
-                }
-                else {
-                    config_PutPsz( p_intf, p_config->name(), NULL );
-                }
-                break;
-            case CONFIG_ITEM_INTEGER:
-            case CONFIG_ITEM_BOOL:
-                config_PutInt( p_intf, p_config->name(), p_config->iValue() );
-                break;
-            case CONFIG_ITEM_FLOAT:
-                config_PutFloat( p_intf, p_config->name(), p_config->fValue() );
-                break;
-            }
-            p_config->resetChanged();
-        }
-    }
-    delete l;
-}
-
-/*
-  run when the Ok button is pressed
-*/
-void KPreferences::slotOk()
-{
-    slotApply();
-    accept();
-}
-
-/*
-  run when the save button is pressed
-*/
-void KPreferences::slotUser1()
-{
-    slotApply();
-    config_SaveConfigFile( p_intf, NULL );
-}
diff --git a/modules/gui/kde/preferences.h b/modules/gui/kde/preferences.h
deleted file mode 100644 (file)
index e858283..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*****************************************************************************
- * preferences.h: includes for the preferences window
- *****************************************************************************
- * Copyright (C) 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Sigmund Augdal <sigmunau@idi.ntnu.no> Mon Aug 12 2002
- *
- * 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.
- *****************************************************************************/
-#ifndef _KDE_PREFERENCES_H_
-#define _KDE_PREFERENCES_H_
-#include "common.h"
-#include <kdialogbase.h>
-
-#include "QConfigItem.h"
-class KPreferences : KDialogBase
-{
-    Q_OBJECT
- public:
-    KPreferences(intf_thread_t *p_intf, const char *psz_module_name,
-                 QWidget *parent, const QString &caption=QString::null);
-    ~KPreferences();
-    bool isConfigureable(QString module);
-
- public slots:
-    void slotApply();
-    void slotOk();
-    void slotUser1();
-
- private:
-    intf_thread_t *p_intf;
-};
-#endif
diff --git a/modules/gui/kde/slider.cpp b/modules/gui/kde/slider.cpp
deleted file mode 100644 (file)
index 9ef5a34..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/***************************************************************************
-                          slider.cpp  -  description
-                             -------------------
-    begin                : Sun Mar 25 2001
-    copyright            : (C) 2001 by andres
-    email                : dae@chez.com
- ***************************************************************************/
-/***************************************************************************
-    shamelessly copied from noatun's excellent interface
-****************************************************************************/
-
-#include "slider.h"
-
-KVLCSlider::KVLCSlider(QWidget * parent, const char * name) :
-    QSlider(parent,name), pressed(false)
-{
-}
-
-KVLCSlider::KVLCSlider(Orientation o, QWidget * parent, const char * name) :
-    QSlider(o,parent,name), pressed(false)
-{
-}
-
-KVLCSlider::KVLCSlider(int minValue, int maxValue, int pageStep, int value,
-                       Orientation o, QWidget * parent, const char * name) :
-    QSlider(minValue, maxValue, pageStep, value, o, parent,name), pressed(false)
-{
-}
-
-void KVLCSlider::setValue(int i)
-{
-    if ( !pressed )
-    {
-        QSlider::setValue( i );
-    }
-}
-
-void KVLCSlider::mousePressEvent( QMouseEvent *e )
-{
-    if ( e->button() != RightButton )
-    {
-        pressed=true;
-        QSlider::mousePressEvent( e );
-    }
-}
-
-void KVLCSlider::mouseReleaseEvent( QMouseEvent *e )
-{
-    pressed=false;
-    QSlider::mouseReleaseEvent( e );
-    emit userChanged( value() );
-}
diff --git a/modules/gui/kde/slider.h b/modules/gui/kde/slider.h
deleted file mode 100644 (file)
index 13cc6e3..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/***************************************************************************
-                          slider.h  -  description
-                             -------------------
-    begin                : Sun Apr 03 2001
-    copyright            : (C) 2001 by andres
-    email                : dae@chez.com
- ***************************************************************************/
-/***************************************************************************
-        shamelessly copied from noatun's excellent interface
-****************************************************************************/
-#ifndef _KDE_SLIDER_H_
-#define _KDE_SLIDER_H_
-
-#include <qslider.h>
-
-/**
- * This slider can be changed by the vlc while not dragged by the user
- */
-class KVLCSlider : public QSlider
-{
-    Q_OBJECT
-    public:
-        KVLCSlider(QWidget * parent, const char * name=0);
-        KVLCSlider(Orientation, QWidget * parent, const char * name=0);
-        KVLCSlider(int minValue, int maxValue, int pageStep, int value,
-                   Orientation, QWidget * parent, const char * name=0);
-
-    signals:
-    /**
-     * emmited only when the user changes the value by hand
-     */
-    void userChanged( int value );
-
-    public slots:
-        virtual void setValue( int );
-
-    protected:
-        virtual void mousePressEvent( QMouseEvent * e );
-        virtual void mouseReleaseEvent( QMouseEvent * e );
-
-    private:
-        bool pressed; // set this to true when the user drags the slider
-};
-
-#endif /* _KDE_SLIDER_H_ */
diff --git a/modules/gui/kde/ui.rc b/modules/gui/kde/ui.rc
deleted file mode 100644 (file)
index a5f8e65..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE kpartgui>
-<kpartgui name="kvlc" version="0.1">
-
-<ActionProperties>
-  <Action name="open_disk" icon="cdrom_unmount"/>
-  <Action name="open_stream" icon="network"/>
-  <Action name="backward" icon="back"/>
-  <Action name="stop" icon="stop"/>
-  <Action name="play" icon="forward"/>
-  <Action name="pause" icon = "bottom"/>
-  <Action name="slow" icon="undo"/>
-  <Action name="fast" icon="redo"/>
-  <Action name="prev" icon="start"/>
-  <Action name="next" icon="finish"/>
-</ActionProperties>
-
-<MenuBar>
-  <Menu name="file">
-    <text>&amp;File</text>
-    <Action name="open_disk"/>
-    <Action name="open_stream"/>
-  </Menu>
-  <Menu name="view">
-    <text>&amp;View</text>
-    <Action name="program"/>
-    <Action name="title"/>
-    <Action name="chapter"/>
-    <Separator lineSeparator="true"/>
-    <Action name="view_messages"/>
-    <Action name="view_stream_info"/>
-  </Menu>
-  <Menu name="settings">
-    <text>&amp;Settings</text>
-    <Action name="language"/>
-    <Action name="subtitles"/>
-  </Menu>
-</MenuBar>
-
-<ToolBar name="mainToolBar" iconText="icononly" iconSize="16" noMerge="1">
-  <Action name="file_open"/>
-  <Action name="open_disk"/>
-  <Action name="open_stream"/>
-  <Separator lineSeparator="true"/>
-  <Action name="backward"/>
-  <Action name="stop"/>
-  <Action name="play"/>
-  <Action name="pause"/>
-  <Action name="slow"/>
-  <Action name="fast"/>
-  <Separator lineSeparator="true"/>
-  <Action name="prev"/>
-  <Action name="next"/>
-</ToolBar> 
-
-</kpartgui>
diff --git a/modules/gui/qt/Modules.am b/modules/gui/qt/Modules.am
deleted file mode 100644 (file)
index 1fa5d3a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-SOURCES_qt = \
-       qt.cpp \
-       intf.cpp
-
-nodist_SOURCES_qt = \
-       intf.moc.cpp
-
-noinst_HEADERS += \
-       intf.h
-
-intf.moc.cpp: intf.h
-       $(MOC) $< -o $@
-
diff --git a/modules/gui/qt/intf.cpp b/modules/gui/qt/intf.cpp
deleted file mode 100644 (file)
index b0ad834..0000000
+++ /dev/null
@@ -1,508 +0,0 @@
-/*****************************************************************************
- * intf.cpp: Qt interface
- *****************************************************************************
- * Copyright (C) 1999, 2000 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.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 <errno.h>                                                 /* ENOMEM */
-#include <stdlib.h>                                                /* free() */
-#include <string.h>                                            /* strerror() */
-#include <stdio.h>
-
-#include "intf.h"
-
-#define SLIDER_MIN    0x00000
-#define SLIDER_MAX    0x10000
-#define SLIDER_STEP   (SLIDER_MAX >> 4)
-
-/*****************************************************************************
- * intf_sys_t: description and status of Qt interface
- *****************************************************************************/
-struct intf_sys_t
-{
-    QApplication *p_app;
-    IntfWindow   *p_window;
-
-    input_thread_t *p_input;
-};
-
-/*****************************************************************************
- * Local prototype
- *****************************************************************************/
-static void Run ( intf_thread_t *p_intf );
-
-/*****************************************************************************
- * Open: initialize and create window
- *****************************************************************************/
-int E_(Open) ( vlc_object_t *p_this )
-{
-    intf_thread_t *p_intf = (intf_thread_t*) p_this;
-    char *pp_argv[] = { "" };
-    int   i_argc    = 1;
-
-    /* Allocate instance and initialize some members */
-    p_intf->p_sys = (intf_sys_t *)malloc( sizeof( intf_sys_t ) );
-    if( p_intf->p_sys == NULL )
-    {
-        msg_Err( p_intf, "out of memory" );
-        return 1;
-    }
-
-    p_intf->pf_run = Run;
-
-    /* Create the C++ objects */
-    p_intf->p_sys->p_app = new QApplication( i_argc, pp_argv );
-    p_intf->p_sys->p_window = new IntfWindow( p_intf );
-
-    /* Tell the world we are here */
-    p_intf->p_sys->p_window->setCaption( VOUT_TITLE " (Qt interface)" );
-
-    p_intf->p_sys->p_input = NULL;
-
-    return 0;
-}
-
-/*****************************************************************************
- * Close: destroy interface window
- *****************************************************************************/
-void E_(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 );
-    }
-
-    /* Get rid of the C++ objects */
-    delete p_intf->p_sys->p_window;
-    delete p_intf->p_sys->p_app;
-
-    /* Destroy structure */
-    free( p_intf->p_sys );
-}
-
-/*****************************************************************************
- * Run: Qt thread
- *****************************************************************************
- * This part of the interface is in a separate thread so that we can call
- * exec() from within it without annoying the rest of the program.
- *****************************************************************************/
-static void Run( intf_thread_t *p_intf )
-{
-    p_intf->p_sys->p_window->show();
-
-    p_intf->p_sys->p_app->exec();
-}
-
-/* following functions are local */
-
-/*****************************************************************************
- * IntfWindow: interface window creator
- *****************************************************************************
- * This function creates the interface window, and populates it with a
- * menu bar, a toolbar and a slider.
- *****************************************************************************/
-IntfWindow::IntfWindow( intf_thread_t *p_intf )
-           :QMainWindow( 0 )
-{
-    setUsesTextLabel( TRUE );
-
-    this->p_intf = p_intf;
-
-    /*
-     * Create the toolbar
-     */
-
-    p_toolbar = new QToolBar( this, "toolbar" );
-    p_toolbar->setHorizontalStretchable( TRUE );
-
-    QIconSet * set = new QIconSet();
-    QPixmap pixmap = set->pixmap( QIconSet::Automatic, QIconSet::Normal );
-
-#define addbut( l, t, s ) new QToolButton( pixmap, l, t, this, s, p_toolbar );
-    addbut( "Open", "Open a File", SLOT(FileOpen()) );
-    addbut( "Disc", "Open a DVD or VCD", SLOT(Unimplemented()) );
-    addbut( "Net", "Select a Network Stream", SLOT(Unimplemented()) );
-    p_toolbar->addSeparator();
-    addbut( "Back", "Rewind Stream", SLOT(Unimplemented()) );
-    addbut( "Stop", "Stop Stream", SLOT(Unimplemented()) );
-    addbut( "Play", "Play Stream", SLOT(PlaybackPlay()) );
-    addbut( "Pause", "Pause Stream", SLOT(PlaybackPause()) );
-    addbut( "Slow", "Play Slower", SLOT(PlaybackSlow()) );
-    addbut( "Fast", "Play Faster", SLOT(PlaybackFast()) );
-    p_toolbar->addSeparator();
-    addbut( "Playlist", "Open Playlist", SLOT(Unimplemented()) );
-    addbut( "Prev", "Previous File", SLOT(PlaylistPrev()) );
-    addbut( "Next", "Next File", SLOT(PlaylistNext()) );
-#undef addbut
-
-    /* 
-     * Create the menubar
-     */
-
-    QPopupMenu * p_tmpmenu = new QPopupMenu( this );
-
-#define instmp0( x, y )    p_tmpmenu->insertItem( x, this, y )
-#define instmp1( x, y, a ) p_tmpmenu->insertItem( x, this, y, a )
-    menuBar()->insertItem( "&File", p_tmpmenu );
-    instmp1( "&Open File...", SLOT(FileOpen()), Key_F3 );
-    instmp1( "Open &Disc...", SLOT(Unimplemented()), Key_F4 );
-    instmp1( "&Network Stream...", SLOT(Unimplemented()), Key_F5 );
-    p_tmpmenu->insertSeparator();
-    instmp1( "&Exit", SLOT(FileQuit()), CTRL+Key_Q );
-
-    p_tmpmenu = new QPopupMenu( this );
-    menuBar()->insertItem( "&View", p_tmpmenu );
-    instmp0( "&Playlist...", SLOT(Unimplemented()) );
-    instmp0( "&Modules...", SLOT(Unimplemented()) );
-
-    p_tmpmenu = new QPopupMenu( this );
-    menuBar()->insertItem( "&Settings", p_tmpmenu );
-    instmp0( "&Preferences...", SLOT(Unimplemented()) );
-
-    p_tmpmenu = new QPopupMenu( this );
-    menuBar()->insertItem( "&Help", p_tmpmenu );
-    instmp0( "&About...", SLOT(About()) );
-
-    /*
-     * Create the popup menu
-     */
-
-    p_popup = new QPopupMenu( /* floating menu */ );
-
-#define inspop0( x, y )    p_popup->insertItem( x, this, y )
-#define inspop1( x, y, a ) p_popup->insertItem( x, this, y, a )
-    inspop0( "&Play", SLOT(PlaybackPlay()) );
-    inspop0( "Pause", SLOT(PlaybackPause()) );
-    inspop0( "&Slow", SLOT(PlaybackSlow()) );
-    inspop0( "&Fast", SLOT(PlaybackFast()) );
-    p_popup->insertSeparator();
-    inspop1( "&Open File...", SLOT(FileOpen()), Key_F3 );
-    inspop1( "Open &Disc...", SLOT(Unimplemented()), Key_F4 );
-    inspop1( "&Network Stream...", SLOT(Unimplemented()), Key_F5 );
-    p_popup->insertSeparator();
-    inspop0( "&About...", SLOT(About()) );
-    inspop0( "&Exit", SLOT(FileQuit()) );
-
-    /* Activate the statusbar */
-    statusBar();
-
-    /* Add the vertical box */
-    QVBox * p_vbox = new QVBox( this );
-    setCentralWidget( p_vbox );
-
-        /* The horizontal box */
-        QHBox * p_hbox = new QHBox( p_vbox );
-
-            /* The date label */
-            p_date  = new QLabel( p_hbox );
-            p_date->setAlignment( AlignHCenter | AlignVCenter );
-            p_date->setText( "-:--:--" );
-
-            /* The status label */
-            QLabel *p_label  = new QLabel( p_hbox );
-            p_label->setAlignment( AlignHCenter | AlignVCenter );
-            p_label->setText( "Status: foo" );
-
-            /* The bar label */
-            p_label  = new QLabel( p_hbox );
-            p_label->setAlignment( AlignHCenter | AlignVCenter );
-            p_label->setText( "Bar: baz quux" );
-
-        /* Create the slider and connect it to the date label */
-        p_slider = new IntfSlider( p_intf, p_vbox );
-
-        connect( p_slider, SIGNAL(valueChanged(int)),
-                 this, SLOT(DateDisplay(int)) );
-
-    /* The timer */
-    QTimer *p_timer = new QTimer( this );
-    connect( p_timer, SIGNAL(timeout()), this, SLOT(Manage()) );
-    p_timer->start( INTF_IDLE_SLEEP / 1000 );
-
-    /* Everything worked fine */
-    resize( 620, 30 );
-}
-
-/*****************************************************************************
- * ~IntfWindow: interface window destructor
- *****************************************************************************
- * This function is called when the interface window is destroyed.
- *****************************************************************************/
-IntfWindow::~IntfWindow( void )
-{
-    /* FIXME: remove everything cleanly */
-}
-
-/*****************************************************************************
- * DateDisplay: display date
- *****************************************************************************
- * This function displays the current date in the date label.
- *****************************************************************************/
-void IntfWindow::DateDisplay( int i_range )
-{
-    if( p_intf->p_sys->p_input )
-    {
-        char psz_time[ MSTRTIME_MAX_SIZE ];
-        int64_t i_seconds;
-
-        i_seconds = var_GetTime( p_intf->p_sys->p_input, "time" ) / I64C(1000000 );
-        secstotimestr( psz_time, i_seconds );
-
-        p_date->setText( psz_time );
-    }
-}
-
-/*****************************************************************************
- * FileOpen: open a file
- *****************************************************************************
- * This function opens a file requester and adds the selected file to
- * the playlist.
- *****************************************************************************/
-void IntfWindow::FileOpen( void )
-{
-    playlist_t *p_playlist;
-    QString file = QFileDialog::getOpenFileName( QString::null,
-                                                 QString::null, this );
-
-    if( file.isEmpty() )
-    {
-        statusBar()->message( "No file loaded", 2000 );
-    }
-    else
-    {
-        p_playlist = (playlist_t *)
-                vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-        if( p_playlist == NULL )
-        {
-            return;
-        }
-
-        playlist_Add( p_playlist, file.latin1(), file.latin1(),
-                      PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
-        vlc_object_release( p_playlist );
-    }
-}
-
-/*****************************************************************************
- * FileQuit: terminate vlc
- *****************************************************************************/
-void IntfWindow::FileQuit( void )
-{
-    p_intf->p_vlc->b_die = VLC_TRUE;
-}
-
-/*****************************************************************************
- * About: display the "about" box
- *****************************************************************************
- * This function displays a simple "about" box with copyright information.
- *****************************************************************************/
-void IntfWindow::About( void )
-{
-    QMessageBox::about( this, "About",
-        "VLC media player\n"
-        "(C) 1996 - 2004 - the VideoLAN Team\n"
-        "\n"
-        "This is the VLC media player, a DVD and MPEG player.\n"
-        "It can play MPEG and MPEG 2 files from a file "
-            "or from a network source.\n"
-        "\n"
-        "More information: http://www.videolan.org/" );
-}
-
-/*****************************************************************************
- * Manage: manage main thread messages
- *****************************************************************************
- * In this function, called approx. 10 times a second, we check what the
- * main program wanted to tell us.
- *****************************************************************************/
-void IntfWindow::Manage( void )
-{
-    /* Update the input */
-    if( p_intf->p_sys->p_input == NULL )
-    {
-        p_intf->p_sys->p_input = (input_thread_t *)
-                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;
-    }
-
-    /* Manage the slider */
-    if( p_intf->p_sys->p_input && p_intf->p_sys->p_input->stream.b_seekable )
-    {
-        int i_value = p_slider->value();
-
-#define p_area p_intf->p_sys->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( i_value == p_slider->oldvalue() )
-        {
-            i_value = ( SLIDER_MAX * p_area->i_tell ) / p_area->i_size;
-
-            p_slider->setValue( i_value );
-            p_slider->setOldValue( i_value );
-        }
-        /* Otherwise, send message to the input if the user has
-         * finished dragging the slider */
-        else if( p_slider->b_free )
-        {
-            double f_pos = (double)i_value / (double)SLIDER_MAX;
-            var_SetFloat( p_intf->p_sys->p_input, "position", f_pos );
-
-            /* Update the old value */
-            p_slider->setOldValue( i_value );
-        }
-#undef p_area
-    }
-
-    /* If the "display popup" flag has changed, popup the context menu */
-    if( p_intf->b_menu_change )
-    {
-        p_popup->popup( QCursor::pos() );
-        p_intf->b_menu_change = 0;
-    }
-
-    if( p_intf->b_die )
-    {
-        qApp->quit();
-    }
-}
-
-/*****************************************************************************
- * PlaybackPlay: play
- *****************************************************************************/
-void IntfWindow::PlaybackPlay( void )
-{
-    if( p_intf->p_sys->p_input != NULL )
-    {
-        var_SetInteger( p_intf->p_sys->p_input, "state", PLAYING_S );
-    }
-}
-
-/*****************************************************************************
- * PlaybackPause: pause
- *****************************************************************************/
-void IntfWindow::PlaybackPause( void )
-{
-    if( p_intf->p_sys->p_input != NULL )
-    {
-        var_SetInteger( p_intf->p_sys->p_input, "state", PAUSE_S );
-    }
-}
-
-/*****************************************************************************
- * PlaybackSlow: slow
- *****************************************************************************/
-void IntfWindow::PlaybackSlow( void )
-{
-    if( p_intf->p_sys->p_input != NULL )
-    {
-        var_SetVoid( p_intf->p_sys->p_input, "rate-slower" );
-    }
-}
-
-/*****************************************************************************
- * PlaybackFast: fast
- *****************************************************************************/
-void IntfWindow::PlaybackFast( void )
-{
-    if( p_intf->p_sys->p_input != NULL )
-    {
-        var_SetVoid( p_intf->p_sys->p_input, "rate-faster" );
-    }
-}
-
-/*****************************************************************************
- * PlaylistPrev: previous playlist entry
- *****************************************************************************/
-void IntfWindow::PlaylistPrev( void )
-{
-    playlist_t *p_playlist = (playlist_t *)
-        vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-
-    playlist_Prev( p_playlist );
-    vlc_object_release( p_playlist );
-}
-
-/*****************************************************************************
- * PlaylistNext: next playlist entry
- *****************************************************************************/
-void IntfWindow::PlaylistNext( void )
-{
-    playlist_t *p_playlist = (playlist_t *)
-        vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-
-    playlist_Next( p_playlist );
-    vlc_object_release( p_playlist );
-}
-
-/*****************************************************************************
- * IntfSlider: slider creator
- *****************************************************************************
- * This function creates the slider, sets its default values, and connects
- * the interesting signals.
- *****************************************************************************/
-IntfSlider::IntfSlider( intf_thread_t *p_intf, QWidget *p_parent )
-           :QSlider( Horizontal, p_parent )
-{
-    this->p_intf = p_intf;
-
-    setRange( SLIDER_MIN, SLIDER_MAX );
-    setPageStep( SLIDER_STEP );
-
-    setValue( SLIDER_MIN );
-    setOldValue( SLIDER_MIN );
-
-    setTracking( TRUE );
-    b_free = TRUE;
-
-    connect( this, SIGNAL(sliderMoved(int)), this, SLOT(SlideStart()) );
-    connect( this, SIGNAL(sliderPressed()), this, SLOT(SlideStart()) );
-    connect( this, SIGNAL(sliderReleased()), this, SLOT(SlideStop()) );
-}
-
-/*****************************************************************************
- * ~IntfSlider: slider destructor
- *****************************************************************************
- * This function is called when the interface slider is destroyed.
- *****************************************************************************/
-IntfSlider::~IntfSlider( void )
-{
-    /* We don't need to remove anything */
-}
-
-
diff --git a/modules/gui/qt/intf.h b/modules/gui/qt/intf.h
deleted file mode 100644 (file)
index aa603f2..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/*****************************************************************************
- * intf.h: Qt interface
- *****************************************************************************
- * Copyright (C) 1999, 2000 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.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 <vlc/vlc.h>
-#include <vlc/intf.h>
-
-#include <qapplication.h>
-#include <qmainwindow.h>
-#include <qtoolbar.h>
-#include <qtoolbutton.h>
-#include <qwhatsthis.h>
-#include <qpushbutton.h>
-#include <qfiledialog.h>
-#include <qslider.h>
-#include <qlcdnumber.h>
-#include <qmenubar.h>
-#include <qstatusbar.h>
-#include <qmessagebox.h>
-#include <qlabel.h> 
-#include <qtimer.h> 
-#include <qiconset.h> 
-
-#include <qvbox.h>
-#include <qhbox.h>
-
-/*****************************************************************************
- * Local Qt slider class
- *****************************************************************************/
-class IntfSlider : public QSlider
-{
-    Q_OBJECT
-
-public:
-    IntfSlider( intf_thread_t *, QWidget * );  /* Constructor and destructor */
-    ~IntfSlider();
-
-    bool b_free;                                     /* Is the slider free ? */
-
-    int  oldvalue   ( void ) { return i_oldvalue; };
-    void setOldValue( int i_value ) { i_oldvalue = i_value; };
-
-private slots:
-    void SlideStart ( void ) { b_free = FALSE; };
-    void SlideStop  ( void ) { b_free = TRUE; };
-
-private:
-    intf_thread_t *p_intf;
-    int  i_oldvalue;
-};
-
-/*****************************************************************************
- * Local Qt interface window class
- *****************************************************************************/
-class IntfWindow : public QMainWindow
-{
-    Q_OBJECT
-
-public:
-    IntfWindow( intf_thread_t * );
-    ~IntfWindow();
-
-private slots:
-    void Manage ( void );
-
-    void FileOpen  ( void );
-    void FileQuit  ( void );
-
-    void PlaybackPlay  ( void );
-    void PlaybackPause ( void );
-    void PlaybackSlow  ( void );
-    void PlaybackFast  ( void );
-
-    void PlaylistPrev  ( void );
-    void PlaylistNext  ( void );
-
-    void DateDisplay  ( int );
-    void About ( void );
-
-    void Unimplemented( void ) { msg_Warn( p_intf, "unimplemented" ); };
-
-private:
-    intf_thread_t *p_intf;
-
-    IntfSlider *p_slider;
-
-    QToolBar   *p_toolbar;
-    QPopupMenu *p_popup;
-    QLabel     *p_date;
-};
-
diff --git a/modules/gui/qt/qt.cpp b/modules/gui/qt/qt.cpp
deleted file mode 100644 (file)
index 1011a30..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*****************************************************************************
- * qt.cpp : Qt plugin for vlc
- *****************************************************************************
- * Copyright (C) 2001 the VideoLAN team
- * $Id$
- *
- * Authors: Samuel Hocevar <sam@zoy.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 <string.h>
-
-#include <vlc/vlc.h>
-
-/*****************************************************************************
- * External prototypes
- *****************************************************************************/
-int  E_(Open)  ( vlc_object_t * );
-void E_(Close) ( vlc_object_t * );
-
-/*****************************************************************************
- * Module descriptor
- *****************************************************************************/
-vlc_module_begin();
-#ifdef WIN32
-    int i = 80;
-#else
-    int i = getenv( "DISPLAY" ) == NULL ? 7 : 80;
-#endif
-    set_description( _("Qt interface") );
-    set_capability( "interface", i );
-    set_program( "qvlc" );
-    set_category( CAT_INTERFACE );
-    set_subcategory( SUBCAT_INTERFACE_GENERAL );
-    set_callbacks( E_(Open), E_(Close) );
-vlc_module_end();
-