]> git.sesse.net Git - vlc/commitdiff
* ./plugins/gtk/*: new generic "Open Target" window. Please test and
authorSam Hocevar <sam@videolan.org>
Thu, 11 Jul 2002 19:28:13 +0000 (19:28 +0000)
committerSam Hocevar <sam@videolan.org>
Thu, 11 Jul 2002 19:28:13 +0000 (19:28 +0000)
    comment on usability.

20 files changed:
bootstrap.sh
plugins/gtk/gnome.c
plugins/gtk/gnome.glade
plugins/gtk/gnome_callbacks.c
plugins/gtk/gnome_callbacks.h
plugins/gtk/gnome_interface.c
plugins/gtk/gnome_interface.h
plugins/gtk/gtk.c
plugins/gtk/gtk.glade
plugins/gtk/gtk_callbacks.c
plugins/gtk/gtk_callbacks.h
plugins/gtk/gtk_common.h
plugins/gtk/gtk_control.c
plugins/gtk/gtk_interface.c
plugins/gtk/gtk_interface.h
plugins/gtk/gtk_menu.c
plugins/gtk/gtk_modules.c
plugins/gtk/gtk_open.c
plugins/gtk/gtk_playlist.c
plugins/gtk/gtk_preferences.c

index ccb7db3806a042452cba5c0403860c1d4d86b305..020a2694b04e600fb89c04871de6578521063e8c 100755 (executable)
@@ -1,7 +1,7 @@
 #! /bin/sh
 
 ##  bootstrap.sh file for vlc, the VideoLAN Client
-##  $Id: bootstrap.sh,v 1.5 2002/06/08 14:08:46 sam Exp $
+##  $Id: bootstrap.sh,v 1.6 2002/07/11 19:28:13 sam Exp $
 ##
 ##  Authors: Samuel Hocevar <sam@zoy.org>
 
@@ -69,7 +69,6 @@ EOF
         | sed 's#_("--")#"--"#' \
         | sed 's#_("/dev/dvd")#"/dev/dvd"#' \
         | sed 's#_(\("./."\))#\1#' \
-        | sed 's/_GLADE_SUX_\([^,]*\), NULL/, "\1"/' \
         >> /tmp/$$.$file.bak
     mv -f /tmp/$$.$file.bak plugins/gtk/$file
 fi
index 5ff94b2ae67e4e4036b119902780f86b310ab06e..284c4d0695618cd5894cb3915cf5f015b2e759fd 100644 (file)
@@ -2,7 +2,7 @@
  * gnome.c : Gnome plugin for vlc
  *****************************************************************************
  * Copyright (C) 2000 VideoLAN
- * $Id: gnome.c,v 1.28 2002/07/02 19:16:47 sam Exp $
+ * $Id: gnome.c,v 1.29 2002/07/11 19:28:13 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -289,10 +289,7 @@ static void intf_Run( intf_thread_t *p_intf )
     /* 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_fileopen = NULL;
-    p_intf->p_sys->p_disc = NULL;
-    p_intf->p_sys->p_network = NULL;
-    p_intf->p_sys->p_sat = NULL;
+    p_intf->p_sys->p_open = NULL;
     p_intf->p_sys->p_jump = NULL;
 
     /* Hide tooltips if the option is set */
index 53e7e6c4dc67ae1a113f758b69932564b30b2006..1b5cb40fca7e471afef5f208ddb29727598e52f9 100644 (file)
   <signal>
     <name>delete_event</name>
     <handler>GtkWindowDelete</handler>
-    <data>&quot;intf_window&quot;</data>
     <last_modification_time>Sat, 19 May 2001 03:20:57 GMT</last_modification_time>
   </signal>
   <signal>
     <name>drag_data_received</name>
     <handler>GtkWindowDrag</handler>
-    <data>&quot;intf_window&quot;</data>
     <last_modification_time>Sat, 19 May 2001 02:30:24 GMT</last_modification_time>
   </signal>
   <title>VideoLAN Client</title>
@@ -92,7 +90,7 @@
              <tooltip>Open a File</tooltip>
              <signal>
                <name>activate</name>
-               <handler>GtkFileOpenShow_GLADE_SUX_intf_window</handler>
+               <handler>GtkFileOpenShow</handler>
                <last_modification_time>Sat, 19 May 2001 16:27:02 GMT</last_modification_time>
              </signal>
              <label>_Open File...</label>
              <tooltip>Open a DVD or VCD</tooltip>
              <signal>
                <name>activate</name>
-               <handler>GtkDiscOpenShow_GLADE_SUX_intf_window</handler>
+               <handler>GtkDiscOpenShow</handler>
                <last_modification_time>Sat, 19 May 2001 16:27:10 GMT</last_modification_time>
              </signal>
              <label>Open _Disc...</label>
              <tooltip>Select a Network Stream</tooltip>
              <signal>
                <name>activate</name>
-               <handler>GtkNetworkOpenShow_GLADE_SUX_intf_window</handler>
+               <handler>GtkNetworkOpenShow</handler>
                <last_modification_time>Fri, 21 Dec 2001 13:11:28 GMT</last_modification_time>
              </signal>
              <label>_Network Stream...</label>
              <tooltip>Eject disc</tooltip>
              <signal>
                <name>activate</name>
-               <handler>GtkDiscEject_GLADE_SUX_intf_window</handler>
+               <handler>GtkDiscEject</handler>
                <last_modification_time>Fri, 21 Dec 2001 13:11:28 GMT</last_modification_time>
              </signal>
              <label>_Eject Disc</label>
              <name>menubar_exit</name>
              <signal>
                <name>activate</name>
-               <handler>GtkExit_GLADE_SUX_intf_window</handler>
+               <handler>GtkExit</handler>
                <last_modification_time>Sat, 19 May 2001 16:27:52 GMT</last_modification_time>
              </signal>
              <stock_item>GNOMEUIINFO_MENU_EXIT_ITEM</stock_item>
              <name>menubar_hide_interface</name>
              <signal>
                <name>activate</name>
-               <handler>GtkWindowToggle_GLADE_SUX_intf_window</handler>
+               <handler>GtkWindowToggle</handler>
                <last_modification_time>Sat, 19 May 2001 16:28:06 GMT</last_modification_time>
              </signal>
              <label>_Hide interface</label>
              <name>menubar_fullscreen</name>
              <signal>
                <name>activate</name>
-               <handler>GtkFullscreen_GLADE_SUX_intf_window</handler>
+               <handler>GtkFullscreen</handler>
                <last_modification_time>Sat, 19 May 2001 16:28:15 GMT</last_modification_time>
              </signal>
              <label>_Fullscreen</label>
              <tooltip>Open the playlist window</tooltip>
              <signal>
                <name>activate</name>
-               <handler>GtkPlaylistShow_GLADE_SUX_intf_window</handler>
+               <handler>GtkPlaylistShow</handler>
                <last_modification_time>Sat, 19 May 2001 16:28:41 GMT</last_modification_time>
              </signal>
              <label>_Playlist...</label>
              <tooltip>Open the module manager</tooltip>
              <signal>
                <name>activate</name>
-               <handler>GtkModulesShow_GLADE_SUX_intf_window</handler>
+               <handler>GtkModulesShow</handler>
                <last_modification_time>Sat, 19 May 2001 16:28:53 GMT</last_modification_time>
              </signal>
              <label>_Modules...</label>
              <tooltip>Open the messages window</tooltip>
              <signal>
                <name>activate</name>
-               <handler>GtkMessagesShow_GLADE_SUX_intf_window</handler>
+               <handler>GtkMessagesShow</handler>
                <last_modification_time>Wed, 20 Feb 2002 05:43:55 GMT</last_modification_time>
              </signal>
              <label>Messages...</label>
              <name>menubar_preferences</name>
              <signal>
                <name>activate</name>
-               <handler>GtkPreferencesShow_GLADE_SUX_intf_window</handler>
+               <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>
              <name>menubar_about</name>
              <signal>
                <name>activate</name>
-               <handler>GtkAboutShow_GLADE_SUX_intf_window</handler>
+               <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>
          <signal>
            <name>clicked</name>
            <handler>GtkFileOpenShow</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sat, 19 May 2001 03:14:43 GMT</last_modification_time>
          </signal>
          <label>File</label>
          <signal>
            <name>clicked</name>
            <handler>GtkDiscOpenShow</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sat, 19 May 2001 03:14:38 GMT</last_modification_time>
          </signal>
          <label>Disc</label>
          <signal>
            <name>clicked</name>
            <handler>GtkNetworkOpenShow</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sat, 19 May 2001 03:14:33 GMT</last_modification_time>
          </signal>
          <label>Net</label>
          <signal>
            <name>clicked</name>
            <handler>GtkSatOpenShow</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Mon, 25 Mar 2002 01:02:49 GMT</last_modification_time>
          </signal>
          <label>Sat</label>
          <signal>
            <name>clicked</name>
            <handler>GtkControlBack</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sat, 19 May 2001 03:14:27 GMT</last_modification_time>
          </signal>
          <label>Back</label>
          <signal>
            <name>clicked</name>
            <handler>GtkControlStop</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sat, 19 May 2001 03:14:22 GMT</last_modification_time>
          </signal>
          <label>Stop</label>
          <signal>
            <name>clicked</name>
            <handler>GtkDiscEject</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Fri, 21 Dec 2001 15:24:18 GMT</last_modification_time>
          </signal>
          <label>Eject</label>
          <signal>
            <name>clicked</name>
            <handler>GtkControlPlay</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Wed, 05 Jun 2002 15:10:19 GMT</last_modification_time>
          </signal>
          <label>Play</label>
          <signal>
            <name>clicked</name>
            <handler>GtkControlPause</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sat, 19 May 2001 03:14:05 GMT</last_modification_time>
          </signal>
          <label>Pause</label>
          <signal>
            <name>clicked</name>
            <handler>GtkControlSlow</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sat, 19 May 2001 03:13:58 GMT</last_modification_time>
          </signal>
          <label>Slow</label>
          <signal>
            <name>clicked</name>
            <handler>GtkControlFast</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sat, 19 May 2001 03:13:53 GMT</last_modification_time>
          </signal>
          <label>Fast</label>
          <signal>
            <name>clicked</name>
            <handler>GtkPlaylistShow</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sat, 19 May 2001 03:13:48 GMT</last_modification_time>
          </signal>
          <label>Playlist</label>
          <signal>
            <name>clicked</name>
            <handler>GtkPlaylistPrev</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sat, 19 May 2001 03:13:44 GMT</last_modification_time>
          </signal>
          <label>Prev</label>
          <signal>
            <name>clicked</name>
            <handler>GtkPlaylistNext</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sat, 19 May 2001 03:13:40 GMT</last_modification_time>
          </signal>
          <label>Next</label>
          <signal>
            <name>button_press_event</name>
            <handler>GtkSliderPress</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sat, 19 May 2001 03:12:57 GMT</last_modification_time>
          </signal>
          <signal>
            <name>button_release_event</name>
            <handler>GtkSliderRelease</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sat, 19 May 2001 03:13:00 GMT</last_modification_time>
          </signal>
          <draw_value>False</draw_value>
            <signal>
              <name>clicked</name>
              <handler>GtkTitlePrev</handler>
-             <data>&quot;intf_window&quot;</data>
              <last_modification_time>Sat, 19 May 2001 03:13:28 GMT</last_modification_time>
            </signal>
            <stock_button>GNOME_STOCK_BUTTON_PREV</stock_button>
            <signal>
              <name>clicked</name>
              <handler>GtkTitleNext</handler>
-             <data>&quot;intf_window&quot;</data>
              <last_modification_time>Sat, 19 May 2001 03:13:23 GMT</last_modification_time>
            </signal>
            <stock_button>GNOME_STOCK_BUTTON_NEXT</stock_button>
            <signal>
              <name>clicked</name>
              <handler>GtkChapterPrev</handler>
-             <data>&quot;intf_window&quot;</data>
              <last_modification_time>Tue, 29 May 2001 13:13:41 GMT</last_modification_time>
            </signal>
            <stock_button>GNOME_STOCK_BUTTON_DOWN</stock_button>
            <signal>
              <name>clicked</name>
              <handler>GtkChapterNext</handler>
-             <data>&quot;intf_window&quot;</data>
              <last_modification_time>Sat, 19 May 2001 03:13:08 GMT</last_modification_time>
            </signal>
            <stock_button>GNOME_STOCK_BUTTON_UP</stock_button>
            <signal>
              <name>activate</name>
              <handler>GtkNetworkJoin</handler>
-             <data>&quot;intf_window&quot;</data>
              <last_modification_time>Wed, 30 May 2001 02:28:48 GMT</last_modification_time>
            </signal>
            <climb_rate>1</climb_rate>
            <signal>
              <name>clicked</name>
              <handler>GtkChannelGo</handler>
-             <data>&quot;intf_window&quot;</data>
              <last_modification_time>Wed, 30 May 2001 02:38:25 GMT</last_modification_time>
            </signal>
            <label>Go!</label>
     <name>popup_play</name>
     <signal>
       <name>activate</name>
-      <handler>GtkControlPlay_GLADE_SUX_intf_popup</handler>
-      <data>&quot;intf_popup&quot;</data>
+      <handler>GtkControlPlay</handler>
       <last_modification_time>Sat, 19 May 2001 16:16:58 GMT</last_modification_time>
     </signal>
     <label>Play</label>
     <name>popup_pause</name>
     <signal>
       <name>activate</name>
-      <handler>GtkControlPause_GLADE_SUX_intf_popup</handler>
-      <data>&quot;intf_popup&quot;</data>
+      <handler>GtkControlPause</handler>
       <last_modification_time>Sat, 19 May 2001 16:17:31 GMT</last_modification_time>
     </signal>
     <label>Pause</label>
     <name>popup_stop</name>
     <signal>
       <name>activate</name>
-      <handler>GtkControlStop_GLADE_SUX_intf_popup</handler>
-      <data>&quot;intf_popup&quot;</data>
+      <handler>GtkControlStop</handler>
       <last_modification_time>Sat, 19 May 2001 16:18:10 GMT</last_modification_time>
     </signal>
     <label>Stop</label>
     <sensitive>False</sensitive>
     <signal>
       <name>activate</name>
-      <handler>GtkControlBack_GLADE_SUX_intf_popup</handler>
-      <data>&quot;intf_popup&quot;</data>
+      <handler>GtkControlBack</handler>
       <last_modification_time>Sat, 19 May 2001 16:18:21 GMT</last_modification_time>
     </signal>
     <label>Back</label>
     <name>popup_slow</name>
     <signal>
       <name>activate</name>
-      <handler>GtkControlSlow_GLADE_SUX_intf_popup</handler>
-      <data>&quot;intf_popup&quot;</data>
+      <handler>GtkControlSlow</handler>
       <last_modification_time>Sat, 19 May 2001 16:18:29 GMT</last_modification_time>
     </signal>
     <label>Slow</label>
     <name>popup_fast</name>
     <signal>
       <name>activate</name>
-      <handler>GtkControlFast_GLADE_SUX_intf_popup</handler>
-      <data>&quot;intf_popup&quot;</data>
+      <handler>GtkControlFast</handler>
       <last_modification_time>Sat, 19 May 2001 16:18:37 GMT</last_modification_time>
     </signal>
     <label>Fast</label>
     <name>popup_interface_toggle</name>
     <signal>
       <name>activate</name>
-      <handler>GtkWindowToggle_GLADE_SUX_intf_popup</handler>
-      <data>&quot;intf_popup&quot;</data>
+      <handler>GtkWindowToggle</handler>
       <last_modification_time>Sat, 19 May 2001 16:18:51 GMT</last_modification_time>
     </signal>
     <label>Toggle _Interface</label>
     <tooltip>Toggle fullscreen mode</tooltip>
     <signal>
       <name>activate</name>
-      <handler>GtkFullscreen_GLADE_SUX_intf_popup</handler>
-      <data>&quot;intf_popup&quot;</data>
+      <handler>GtkFullscreen</handler>
       <last_modification_time>Sat, 19 May 2001 16:19:07 GMT</last_modification_time>
     </signal>
     <label>_Fullscreen</label>
     <name>popup_next</name>
     <signal>
       <name>activate</name>
-      <handler>GtkPlaylistNext_GLADE_SUX_intf_popup</handler>
-      <data>&quot;intf_popup&quot;</data>
+      <handler>GtkPlaylistNext</handler>
       <last_modification_time>Sat, 19 May 2001 16:19:18 GMT</last_modification_time>
     </signal>
     <label>Next</label>
     <name>popup_prev</name>
     <signal>
       <name>activate</name>
-      <handler>GtkPlaylistPrev_GLADE_SUX_intf_popup</handler>
-      <data>&quot;intf_popup&quot;</data>
+      <handler>GtkPlaylistPrev</handler>
       <last_modification_time>Sat, 19 May 2001 16:19:26 GMT</last_modification_time>
     </signal>
     <label>Prev</label>
     <tooltip>Got directly so specified point</tooltip>
     <signal>
       <name>activate</name>
-      <handler>GtkJumpShow_GLADE_SUX_intf_popup</handler>
-      <data>&quot;intf_popup&quot;</data>
+      <handler>GtkJumpShow</handler>
       <last_modification_time>Sat, 19 May 2001 16:34:46 GMT</last_modification_time>
     </signal>
     <label>_Jump...</label>
        <tooltip>Open a File</tooltip>
        <signal>
          <name>activate</name>
-         <handler>GtkFileOpenShow_GLADE_SUX_intf_popup</handler>
-         <data>&quot;intf_popup&quot;</data>
+         <handler>GtkFileOpenShow</handler>
          <last_modification_time>Sat, 19 May 2001 16:20:08 GMT</last_modification_time>
        </signal>
        <label>_Open File...</label>
        <tooltip>Open a DVD or VCD</tooltip>
        <signal>
          <name>activate</name>
-         <handler>GtkDiscOpenShow_GLADE_SUX_intf_popup</handler>
-         <data>&quot;intf_popup&quot;</data>
+         <handler>GtkDiscOpenShow</handler>
          <last_modification_time>Sat, 19 May 2001 16:20:44 GMT</last_modification_time>
        </signal>
        <label>Open _Disc...</label>
        <tooltip>Select a Network Stream</tooltip>
        <signal>
          <name>activate</name>
-         <handler>GtkNetworkOpenShow_GLADE_SUX_intf_popup</handler>
-         <data>&quot;intf_popup&quot;</data>
+         <handler>GtkNetworkOpenShow</handler>
          <last_modification_time>Sat, 19 May 2001 16:20:54 GMT</last_modification_time>
        </signal>
        <label>_Network Stream...</label>
        <name>popup_about</name>
        <signal>
          <name>activate</name>
-         <handler>GtkAboutShow_GLADE_SUX_intf_popup</handler>
-         <data>&quot;intf_popup&quot;</data>
+         <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>
     <name>popup_playlist</name>
     <signal>
       <name>activate</name>
-      <handler>GtkPlaylistShow_GLADE_SUX_intf_popup</handler>
-      <data>&quot;intf_popup&quot;</data>
+      <handler>GtkPlaylistShow</handler>
       <last_modification_time>Sat, 19 May 2001 16:21:14 GMT</last_modification_time>
     </signal>
     <label>Playlist...</label>
     <name>popup_preferences</name>
     <signal>
       <name>activate</name>
-      <handler>GtkPreferencesShow_GLADE_SUX_intf_popup</handler>
-      <data>&quot;intf_popup&quot;</data>
+      <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>
     <name>popup_exit</name>
     <signal>
       <name>activate</name>
-      <handler>GtkExit_GLADE_SUX_intf_popup</handler>
-      <data>&quot;intf_popup&quot;</data>
+      <handler>GtkExit</handler>
       <last_modification_time>Sat, 19 May 2001 16:21:45 GMT</last_modification_time>
     </signal>
     <stock_item>GNOMEUIINFO_MENU_EXIT_ITEM</stock_item>
@@ -1355,142 +1313,10 @@ http://www.videolan.org/
   <comments>This is the VideoLAN client, a DVD and MPEG player. It can play MPEG and MPEG 2 files from a file or from a network source.</comments>
 </widget>
 
-<widget>
-  <class>GtkFileSelection</class>
-  <name>intf_fileopen</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>fileopen_ok</name>
-    <can_default>True</can_default>
-    <can_focus>True</can_focus>
-    <signal>
-      <name>clicked</name>
-      <handler>GtkFileOpenOk</handler>
-      <data>&quot;intf_fileopen&quot;</data>
-      <last_modification_time>Sat, 19 May 2001 03:10:36 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>fileopen_cancel</name>
-    <can_default>True</can_default>
-    <can_focus>True</can_focus>
-    <signal>
-      <name>clicked</name>
-      <handler>GtkFileOpenCancel</handler>
-      <data>&quot;intf_fileopen&quot;</data>
-      <last_modification_time>Sat, 19 May 2001 03:10:31 GMT</last_modification_time>
-    </signal>
-    <label>Cancel</label>
-    <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_disc</name>
-  <title>Open Disc</title>
+  <name>intf_open</name>
+  <title>Open Stream</title>
   <type>GTK_WINDOW_TOPLEVEL</type>
   <position>GTK_WIN_POS_NONE</position>
   <modal>True</modal>
@@ -1498,12 +1324,12 @@ http://www.videolan.org/
   <allow_grow>False</allow_grow>
   <auto_shrink>False</auto_shrink>
   <auto_close>False</auto_close>
-  <hide_on_close>False</hide_on_close>
+  <hide_on_close>True</hide_on_close>
 
   <widget>
     <class>GtkVBox</class>
     <child_name>GnomeDialog:vbox</child_name>
-    <name>dialog-vbox4</name>
+    <name>dialog-vbox5</name>
     <homogeneous>False</homogeneous>
     <spacing>8</spacing>
     <child>
@@ -1515,7 +1341,7 @@ http://www.videolan.org/
     <widget>
       <class>GtkHButtonBox</class>
       <child_name>GnomeDialog:action_area</child_name>
-      <name>dialog-action_area4</name>
+      <name>dialog-action_area5</name>
       <layout_style>GTK_BUTTONBOX_END</layout_style>
       <spacing>8</spacing>
       <child_min_width>85</child_min_width>
@@ -1531,36 +1357,34 @@ http://www.videolan.org/
 
       <widget>
        <class>GtkButton</class>
-       <name>disc_ok</name>
+       <name>button1</name>
        <can_default>True</can_default>
        <can_focus>True</can_focus>
        <signal>
          <name>clicked</name>
-         <handler>GtkDiscOpenOk</handler>
-         <data>&quot;intf_disc&quot;</data>
-         <last_modification_time>Sat, 19 May 2001 03:10:12 GMT</last_modification_time>
+         <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>disc_cancel</name>
+       <name>button3</name>
        <can_default>True</can_default>
        <can_focus>True</can_focus>
        <signal>
          <name>clicked</name>
-         <handler>GtkDiscOpenCancel</handler>
-         <data>&quot;intf_disc&quot;</data>
-         <last_modification_time>Sat, 19 May 2001 03:10:07 GMT</last_modification_time>
+         <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>GtkHBox</class>
-      <name>hbox2</name>
+      <class>GtkVBox</class>
+      <name>open_vbox</name>
       <homogeneous>False</homogeneous>
       <spacing>5</spacing>
       <child>
@@ -1571,72 +1395,115 @@ http://www.videolan.org/
 
       <widget>
        <class>GtkFrame</class>
-       <name>frame1</name>
-       <label>Disc type</label>
+       <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>True</expand>
+         <expand>False</expand>
          <fill>True</fill>
        </child>
 
        <widget>
-         <class>GtkVBox</class>
-         <name>vbox4</name>
+         <class>GtkHBox</class>
+         <name>hbox21</name>
+         <border_width>5</border_width>
          <homogeneous>False</homogeneous>
-         <spacing>0</spacing>
+         <spacing>5</spacing>
 
          <widget>
-           <class>GtkRadioButton</class>
-           <name>disc_dvd</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkDiscOpenDvd</handler>
-             <data>&quot;intf_disc&quot;</data>
-             <last_modification_time>Sat, 19 May 2001 03:18:29 GMT</last_modification_time>
-           </signal>
-           <label>DVD</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <group>disc</group>
+           <class>GtkHBox</class>
+           <name>hbox22</name>
+           <homogeneous>False</homogeneous>
+           <spacing>0</spacing>
            <child>
              <padding>0</padding>
              <expand>False</expand>
-             <fill>False</fill>
+             <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>GtkRadioButton</class>
-           <name>disc_vcd</name>
-           <can_focus>True</can_focus>
-           <signal>
-             <name>toggled</name>
-             <handler>GtkDiscOpenVcd</handler>
-             <data>&quot;intf_disc&quot;</data>
-             <last_modification_time>Sat, 19 May 2001 03:22:10 GMT</last_modification_time>
-           </signal>
-           <label>VCD</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <group>disc</group>
+           <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>False</expand>
-             <fill>False</fill>
+             <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>GtkFrame</class>
-       <name>frame2</name>
-       <label>Starting position</label>
-       <label_xalign>0</label_xalign>
-       <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
+       <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>
@@ -1644,47 +1511,112 @@ http://www.videolan.org/
        </child>
 
        <widget>
-         <class>GtkTable</class>
-         <name>table1</name>
+         <class>GtkHBox</class>
+         <name>hbox20</name>
          <border_width>5</border_width>
-         <rows>2</rows>
-         <columns>2</columns>
          <homogeneous>False</homogeneous>
-         <row_spacing>5</row_spacing>
-         <column_spacing>5</column_spacing>
+         <spacing>5</spacing>
 
          <widget>
-           <class>GtkLabel</class>
-           <name>label15</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>
+           <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>
-             <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>
+             <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>GtkLabel</class>
-           <name>label16</name>
-           <label>Chapter</label>
-           <justify>GTK_JUSTIFY_CENTER</justify>
-           <wrap>False</wrap>
+           <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>
+               <last_modification_time>Wed, 10 Jul 2002 11:37:05 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>4</rows>
+         <columns>2</columns>
+         <homogeneous>False</homogeneous>
+         <row_spacing>5</row_spacing>
+         <column_spacing>5</column_spacing>
+
+         <widget>
+           <class>GtkLabel</class>
+           <name>label21</name>
+           <label>Title</label>
+           <justify>GTK_JUSTIFY_CENTER</justify>
+           <wrap>False</wrap>
            <xalign>0</xalign>
            <yalign>0.5</yalign>
            <xpad>0</xpad>
@@ -1692,8 +1624,34 @@ http://www.videolan.org/
            <child>
              <left_attach>0</left_attach>
              <right_attach>1</right_attach>
-             <top_attach>1</top_attach>
-             <bottom_attach>2</bottom_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>label20</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>3</top_attach>
+             <bottom_attach>4</bottom_attach>
              <xpad>0</xpad>
              <ypad>0</ypad>
              <xexpand>False</xexpand>
@@ -1707,8 +1665,13 @@ http://www.videolan.org/
 
          <widget>
            <class>GtkSpinButton</class>
-           <name>disc_title</name>
+           <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>
@@ -1724,11 +1687,124 @@ http://www.videolan.org/
            <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>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>True</xexpand>
+             <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>
+
+         <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>
@@ -1739,8 +1815,13 @@ http://www.videolan.org/
 
          <widget>
            <class>GtkSpinButton</class>
-           <name>disc_chapter</name>
+           <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>
@@ -1753,6 +1834,35 @@ http://www.videolan.org/
            <step>1</step>
            <page>10</page>
            <page_size>10</page_size>
+           <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>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>
@@ -1760,7 +1870,7 @@ http://www.videolan.org/
              <bottom_attach>2</bottom_attach>
              <xpad>0</xpad>
              <ypad>0</ypad>
-             <xexpand>True</xexpand>
+             <xexpand>False</xexpand>
              <yexpand>False</yexpand>
              <xshrink>False</xshrink>
              <yshrink>False</yshrink>
@@ -1769,687 +1879,922 @@ http://www.videolan.org/
            </child>
          </widget>
        </widget>
-      </widget>
-    </widget>
 
-    <widget>
-      <class>GtkHBox</class>
-      <name>hbox1</name>
-      <homogeneous>False</homogeneous>
-      <spacing>5</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
+       <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>GtkLabel</class>
-       <name>label14</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>
-         <padding>0</padding>
-         <expand>False</expand>
-         <fill>False</fill>
-       </child>
-      </widget>
+       <widget>
+         <class>GtkTable</class>
+         <name>table4</name>
+         <border_width>5</border_width>
+         <rows>4</rows>
+         <columns>6</columns>
+         <homogeneous>False</homogeneous>
+         <row_spacing>5</row_spacing>
+         <column_spacing>5</column_spacing>
 
-      <widget>
-       <class>GtkEntry</class>
-       <name>disc_name</name>
-       <can_focus>True</can_focus>
-       <editable>True</editable>
-       <text_visible>True</text_visible>
-       <text_max_length>0</text_max_length>
-       <text>/dev/dvd</text>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
-<widget>
-  <class>GnomeDialog</class>
-  <name>intf_network</name>
-  <title>Network 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>False</hide_on_close>
-
-  <widget>
-    <class>GtkVBox</class>
-    <child_name>GnomeDialog:vbox</child_name>
-    <name>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>hbuttonbox1</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>network_ok</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkNetworkOpenOk</handler>
-         <data>&quot;intf_network&quot;</data>
-         <last_modification_time>Sat, 19 May 2001 03:09:40 GMT</last_modification_time>
-       </signal>
-       <stock_button>GNOME_STOCK_BUTTON_OK</stock_button>
-      </widget>
+         <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</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>GtkButton</class>
-       <name>network_cancel</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkNetworkOpenCancel</handler>
-         <data>&quot;intf_network&quot;</data>
-         <last_modification_time>Sat, 19 May 2001 03:09:44 GMT</last_modification_time>
-       </signal>
-       <stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
-      </widget>
-    </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 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>GtkFrame</class>
-      <name>frame14</name>
-      <label>Network mode</label>
-      <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>GtkRadioButton</class>
+           <name>network_channel</name>
+           <can_focus>True</can_focus>
+           <signal>
+             <name>toggled</name>
+             <handler>GtkNetworkOpenChannel</handler>
+             <last_modification_time>Thu, 16 May 2002 01:44:15 GMT</last_modification_time>
+           </signal>
+           <label>Channel server </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>GtkTable</class>
-       <name>table6</name>
-       <border_width>9</border_width>
-       <rows>4</rows>
-       <columns>6</columns>
-       <homogeneous>False</homogeneous>
-       <row_spacing>0</row_spacing>
-       <column_spacing>6</column_spacing>
+         <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</label>
+           <active>False</active>
+           <draw_indicator>True</draw_indicator>
+           <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>GtkRadioButton</class>
-         <name>network_udp</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>toggled</name>
-           <handler>GtkNetworkOpenUDP</handler>
-           <data>&quot;intf_network&quot;</data>
-           <last_modification_time>Sat, 18 May 2002 00:45:31 GMT</last_modification_time>
-         </signal>
-         <label>UDP</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>
+         <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>
-           <xexpand>False</xexpand>
-           <yexpand>False</yexpand>
-           <xshrink>False</xshrink>
-           <yshrink>False</yshrink>
-           <xfill>True</xfill>
-           <yfill>False</yfill>
-         </child>
-       </widget>
+           <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>GtkRadioButton</class>
-         <name>network_multicast</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>toggled</name>
-           <handler>GtkNetworkOpenMulticast</handler>
-           <data>&quot;intf_network&quot;</data>
-           <last_modification_time>Sat, 18 May 2002 00:45:39 GMT</last_modification_time>
-         </signal>
-         <label>UDP 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>
+         <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>
-           <xexpand>False</xexpand>
-           <yexpand>False</yexpand>
-           <xshrink>False</xshrink>
-           <yshrink>False</yshrink>
-           <xfill>True</xfill>
-           <yfill>False</yfill>
-         </child>
-       </widget>
+           <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>GtkRadioButton</class>
-         <name>network_channel</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>toggled</name>
-           <handler>GtkNetworkOpenChannel</handler>
-           <data>&quot;intf_network&quot;</data>
-           <last_modification_time>Sat, 18 May 2002 00:45:45 GMT</last_modification_time>
-         </signal>
-         <label>Channel server </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>
+         <widget>
+           <class>GtkLabel</class>
+           <name>network_channel_address_label</name>
+           <sensitive>False</sensitive>
+           <label>Address</label>
+           <justify>GTK_JUSTIFY_CENTER</justify>
+           <wrap>False</wrap>
+           <xalign>0.5</xalign>
+           <yalign>0.5</yalign>
            <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>
+           <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>GtkRadioButton</class>
-         <name>network_http</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>toggled</name>
-           <handler>GtkNetworkOpenHTTP</handler>
-           <data>&quot;intf_network&quot;</data>
-           <last_modification_time>Sat, 18 May 2002 00:45:54 GMT</last_modification_time>
-         </signal>
-         <label>HTTP</label>
-         <active>False</active>
-         <draw_indicator>True</draw_indicator>
-         <child>
-           <left_attach>0</left_attach>
-           <right_attach>1</right_attach>
-           <top_attach>3</top_attach>
-           <bottom_attach>4</bottom_attach>
+         <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>
-           <xexpand>False</xexpand>
-           <yexpand>False</yexpand>
-           <xshrink>False</xshrink>
-           <yshrink>False</yshrink>
-           <xfill>True</xfill>
-           <yfill>False</yfill>
-         </child>
-       </widget>
+           <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>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>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>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>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_channel_address_label</name>
-         <sensitive>False</sensitive>
-         <label>Address</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>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_channel_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>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>
-         <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>3</top_attach>
-           <bottom_attach>4</bottom_attach>
+           <widget>
+             <class>GtkEntry</class>
+             <child_name>GtkCombo:entry</child_name>
+             <name>network_channel_address</name>
+             <can_focus>True</can_focus>
+             <signal>
+               <name>changed</name>
+               <handler>GtkOpenChanged</handler>
+               <last_modification_time>Tue, 09 Jul 2002 13:57:16 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>
-           <xexpand>False</xexpand>
-           <yexpand>False</yexpand>
-           <xshrink>False</xshrink>
-           <yshrink>False</yshrink>
-           <xfill>True</xfill>
-           <yfill>False</yfill>
-         </child>
-       </widget>
+           <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>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>
+         <widget>
+           <class>GtkLabel</class>
+           <name>network_channel_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>
-           <xexpand>True</xexpand>
-           <yexpand>False</yexpand>
-           <xshrink>False</xshrink>
-           <yshrink>False</yshrink>
-           <xfill>True</xfill>
-           <yfill>False</yfill>
-         </child>
+           <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>False</yfill>
+           </child>
+         </widget>
 
          <widget>
-           <class>GtkEntry</class>
-           <child_name>GtkCombo:entry</child_name>
-           <name>network_multicast_address</name>
+           <class>GtkSpinButton</class>
+           <name>network_multicast_port</name>
+           <width>75</width>
+           <sensitive>False</sensitive>
            <can_focus>True</can_focus>
-           <editable>True</editable>
-           <text_visible>True</text_visible>
-           <text_max_length>0</text_max_length>
-           <text></text>
+           <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>
-
-       <widget>
-         <class>GtkSpinButton</class>
-         <name>network_udp_port</name>
-         <width>1</width>
-         <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>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>
-         <class>GtkCombo</class>
-         <name>network_channel_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>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>
+           <class>GtkSpinButton</class>
+           <name>network_channel_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:45 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>6010</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>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>GtkEntry</class>
-           <child_name>GtkCombo:entry</child_name>
-           <name>network_channel_address</name>
+           <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>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkLabel</class>
-         <name>network_multicast_port_label</name>
-         <width>51</width>
-         <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>
+           <child>
+             <left_attach>2</left_attach>
+             <right_attach>6</right_attach>
+             <top_attach>3</top_attach>
+             <bottom_attach>4</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>
-         <name>network_channel_port_label</name>
-         <sensitive>False</sensitive>
-         <label>Port</label>
+         <child_name>Notebook:tab</child_name>
+         <name>open_net</name>
+         <label>Network</label>
          <justify>GTK_JUSTIFY_CENTER</justify>
          <wrap>False</wrap>
-         <xalign>1</xalign>
+         <xalign>0.5</xalign>
          <yalign>0.5</yalign>
          <xpad>0</xpad>
          <ypad>0</ypad>
-         <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>False</yfill>
-         </child>
        </widget>
 
        <widget>
-         <class>GtkEntry</class>
-         <name>network_http_url</name>
-         <sensitive>False</sensitive>
-         <can_focus>True</can_focus>
-         <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>3</top_attach>
-           <bottom_attach>4</bottom_attach>
+         <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>
-           <xexpand>True</xexpand>
-           <yexpand>False</yexpand>
-           <xshrink>False</xshrink>
-           <yshrink>False</yshrink>
-           <xfill>True</xfill>
-           <yfill>False</yfill>
-         </child>
-       </widget>
+           <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>label42</name>
-         <label></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>6</right_attach>
-           <top_attach>0</top_attach>
-           <bottom_attach>1</bottom_attach>
+         <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>
-           <xexpand>True</xexpand>
-           <yexpand>False</yexpand>
-           <xshrink>False</xshrink>
-           <yshrink>False</yshrink>
-           <xfill>True</xfill>
-           <yfill>False</yfill>
-         </child>
-       </widget>
+           <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>GtkSpinButton</class>
-         <name>network_multicast_port</name>
-         <width>75</width>
-         <sensitive>False</sensitive>
-         <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>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>
+         <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>
-           <xexpand>False</xexpand>
-           <yexpand>False</yexpand>
-           <xshrink>False</xshrink>
-           <yshrink>False</yshrink>
-           <xfill>True</xfill>
-           <yfill>False</yfill>
-         </child>
-       </widget>
+           <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>network_channel_port</name>
-         <width>75</width>
-         <sensitive>False</sensitive>
-         <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>6010</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>2</top_attach>
-           <bottom_attach>3</bottom_attach>
+         <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>
-           <xexpand>False</xexpand>
-           <yexpand>False</yexpand>
-           <xshrink>False</xshrink>
-           <yshrink>False</yshrink>
-           <xfill>True</xfill>
-           <yfill>False</yfill>
-         </child>
-       </widget>
-      </widget>
-    </widget>
-  </widget>
-</widget>
+           <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>GnomeDialog</class>
-  <name>intf_playlist</name>
-  <signal>
-    <name>destroy</name>
-    <handler>gtk_widget_hide</handler>
-    <data>&quot;intf_playlist&quot;</data>
-    <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>
-    <data>&quot;intf_playlist&quot;</data>
-    <last_modification_time>Sat, 19 May 2001 03:09:12 GMT</last_modification_time>
-  </signal>
-  <title>Playlist</title>
+         <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>
+</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>False</modal>
-  <default_width>400</default_width>
-  <default_height>300</default_height>
-  <allow_shrink>True</allow_shrink>
+  <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>playlist_vbox</name>
+    <name>dialog-vbox1</name>
     <homogeneous>False</homogeneous>
     <spacing>8</spacing>
     <child>
@@ -2461,11 +2806,11 @@ http://www.videolan.org/
     <widget>
       <class>GtkHButtonBox</class>
       <child_name>GnomeDialog:action_area</child_name>
-      <name>playlist_action</name>
+      <name>dialog-action_area1</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_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>
@@ -2477,79 +2822,172 @@ http://www.videolan.org/
 
       <widget>
        <class>GtkButton</class>
-       <name>playlist_ok</name>
+       <name>modules_ok</name>
        <can_default>True</can_default>
        <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkPlaylistOk</handler>
-         <data>&quot;intf_playlist&quot;</data>
-         <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>
+       <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>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkPlaylistCancel</handler>
-         <data>&quot;intf_playlist&quot;</data>
-         <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>
+      <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>True</expand>
-       <fill>True</fill>
+       <expand>False</expand>
+       <fill>False</fill>
       </child>
+    </widget>
+  </widget>
+</widget>
 
-      <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>
-             <data>&quot;intf_playlist&quot;</data>
-             <last_modification_time>Sat, 19 May 2001 03:08:43 GMT</last_modification_time>
-           </signal>
-           <signal>
+<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>
-             <data>&quot;intf_playlist&quot;</data>
              <last_modification_time>Sat, 19 May 2001 03:08:45 GMT</last_modification_time>
            </signal>
            <signal>
              <name>drag_motion</name>
              <handler>GtkPlaylistDragMotion</handler>
-             <data>&quot;intf_playlist&quot;</data>
              <last_modification_time>Sat, 19 May 2001 03:08:49 GMT</last_modification_time>
            </signal>
            <columns>2</columns>
@@ -2613,8 +3051,7 @@ http://www.videolan.org/
            <name>playlist_add_disc</name>
            <signal>
              <name>activate</name>
-             <handler>GtkDiscOpenShow_GLADE_SUX_intf_playlist</handler>
-             <data>&quot;intf_playlist&quot;</data>
+             <handler>GtkDiscOpenShow</handler>
              <last_modification_time>Sat, 19 May 2001 16:22:26 GMT</last_modification_time>
            </signal>
            <label>Disc</label>
@@ -2626,8 +3063,7 @@ http://www.videolan.org/
            <name>playlist_add_file</name>
            <signal>
              <name>activate</name>
-             <handler>GtkFileOpenShow_GLADE_SUX_intf_playlist</handler>
-             <data>&quot;intf_playlist&quot;</data>
+             <handler>GtkFileOpenShow</handler>
              <last_modification_time>Sat, 19 May 2001 16:22:37 GMT</last_modification_time>
            </signal>
            <label>File</label>
@@ -2639,8 +3075,7 @@ http://www.videolan.org/
            <name>playlist_add_network</name>
            <signal>
              <name>activate</name>
-             <handler>GtkNetworkOpenShow_GLADE_SUX_intf_playlist</handler>
-             <data>&quot;intf_playlist&quot;</data>
+             <handler>GtkNetworkOpenShow</handler>
              <last_modification_time>Sat, 19 May 2001 16:22:52 GMT</last_modification_time>
            </signal>
            <label>Network</label>
@@ -2652,8 +3087,7 @@ http://www.videolan.org/
            <name>playlist_add_url</name>
            <signal>
              <name>activate</name>
-             <handler>GtkPlaylistAddUrl_GLADE_SUX_intf_playlist</handler>
-             <data>&quot;intf_playlist&quot;</data>
+             <handler>GtkPlaylistAddUrl</handler>
              <last_modification_time>Sat, 19 May 2001 16:24:27 GMT</last_modification_time>
            </signal>
            <label>Url</label>
@@ -2677,8 +3111,7 @@ http://www.videolan.org/
            <name>playlist_delete_all</name>
            <signal>
              <name>activate</name>
-             <handler>GtkPlaylistDeleteAll_GLADE_SUX_intf_playlist</handler>
-             <data>&quot;intf_playlist&quot;</data>
+             <handler>GtkPlaylistDeleteAll</handler>
              <last_modification_time>Sat, 19 May 2001 03:08:11 GMT</last_modification_time>
            </signal>
            <label>All</label>
@@ -2690,8 +3123,7 @@ http://www.videolan.org/
            <name>playlist_delete_item</name>
            <signal>
              <name>activate</name>
-             <handler>GtkPlaylistDeleteSelected_GLADE_SUX_intf_playlist</handler>
-             <data>&quot;intf_playlist&quot;</data>
+             <handler>GtkPlaylistDeleteSelected</handler>
              <last_modification_time>Sat, 19 May 2001 03:08:05 GMT</last_modification_time>
            </signal>
            <label>Item</label>
@@ -2715,8 +3147,7 @@ http://www.videolan.org/
            <name>playlist_selection_crop</name>
            <signal>
              <name>activate</name>
-             <handler>GtkPlaylistCrop_GLADE_SUX_intf_playlist</handler>
-             <data>&quot;intf_playlist&quot;</data>
+             <handler>GtkPlaylistCrop</handler>
              <last_modification_time>Sat, 19 May 2001 03:07:56 GMT</last_modification_time>
            </signal>
            <label>Crop</label>
@@ -2728,8 +3159,7 @@ http://www.videolan.org/
            <name>playlist_selection_invert</name>
            <signal>
              <name>activate</name>
-             <handler>GtkPlaylistInvert_GLADE_SUX_intf_playlist</handler>
-             <data>&quot;intf_playlist&quot;</data>
+             <handler>GtkPlaylistInvert</handler>
              <last_modification_time>Sat, 19 May 2001 03:07:51 GMT</last_modification_time>
            </signal>
            <label>Invert</label>
@@ -2741,8 +3171,7 @@ http://www.videolan.org/
            <name>playlist_selection_select</name>
            <signal>
              <name>activate</name>
-             <handler>GtkPlaylistSelect_GLADE_SUX_intf_playlist</handler>
-             <data>&quot;intf_playlist&quot;</data>
+             <handler>GtkPlaylistSelect</handler>
              <last_modification_time>Sat, 19 May 2001 03:07:45 GMT</last_modification_time>
            </signal>
            <label>Select</label>
@@ -2803,7 +3232,6 @@ http://www.videolan.org/
        <signal>
          <name>clicked</name>
          <handler>GtkJumpOk</handler>
-         <data>&quot;intf_jump&quot;</data>
          <last_modification_time>Sat, 19 May 2001 03:07:27 GMT</last_modification_time>
        </signal>
        <stock_button>GNOME_STOCK_BUTTON_OK</stock_button>
@@ -2817,7 +3245,6 @@ http://www.videolan.org/
        <signal>
          <name>clicked</name>
          <handler>GtkJumpCancel</handler>
-         <data>&quot;intf_jump&quot;</data>
          <last_modification_time>Sat, 19 May 2001 03:07:20 GMT</last_modification_time>
        </signal>
        <stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
@@ -2976,21 +3403,31 @@ http://www.videolan.org/
 
 <widget>
   <class>GnomeDialog</class>
-  <name>intf_open</name>
-  <title>Open Stream</title>
+  <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>True</modal>
-  <allow_shrink>False</allow_shrink>
-  <allow_grow>False</allow_grow>
+  <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>False</hide_on_close>
+  <hide_on_close>True</hide_on_close>
 
   <widget>
     <class>GtkVBox</class>
     <child_name>GnomeDialog:vbox</child_name>
-    <name>dialog-vbox5</name>
+    <name>dialog-vbox6</name>
     <homogeneous>False</homogeneous>
     <spacing>8</spacing>
     <child>
@@ -3002,7 +3439,7 @@ http://www.videolan.org/
     <widget>
       <class>GtkHButtonBox</class>
       <child_name>GnomeDialog:action_area</child_name>
-      <name>dialog-action_area5</name>
+      <name>dialog-action_area6</name>
       <layout_style>GTK_BUTTONBOX_END</layout_style>
       <spacing>8</spacing>
       <child_min_width>85</child_min_width>
@@ -3018,799 +3455,25 @@ http://www.videolan.org/
 
       <widget>
        <class>GtkButton</class>
-       <name>button1</name>
+       <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>
-       <class>GtkButton</class>
-       <name>button3</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
-      </widget>
     </widget>
 
     <widget>
-      <class>GtkNotebook</class>
-      <name>tab_open</name>
-      <can_focus>True</can_focus>
-      <show_tabs>True</show_tabs>
-      <show_border>True</show_border>
-      <tab_pos>GTK_POS_TOP</tab_pos>
-      <scrollable>False</scrollable>
-      <tab_hborder>2</tab_hborder>
-      <tab_vborder>2</tab_vborder>
-      <popup_enable>False</popup_enable>
-      <child>
-       <padding>0</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkVBox</class>
-       <name>vbox10</name>
-       <border_width>5</border_width>
-       <homogeneous>False</homogeneous>
-       <spacing>5</spacing>
-
-       <widget>
-         <class>GtkHBox</class>
-         <name>hbox5</name>
-         <homogeneous>False</homogeneous>
-         <spacing>5</spacing>
-         <child>
-           <padding>0</padding>
-           <expand>True</expand>
-           <fill>True</fill>
-         </child>
-
-         <widget>
-           <class>GtkFrame</class>
-           <name>frame6</name>
-           <label>Disc type</label>
-           <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>GtkVBox</class>
-             <name>vbox11</name>
-             <border_width>5</border_width>
-             <homogeneous>False</homogeneous>
-             <spacing>0</spacing>
-
-             <widget>
-               <class>GtkRadioButton</class>
-               <name>radiobutton1</name>
-               <can_focus>True</can_focus>
-               <label>DVD</label>
-               <active>False</active>
-               <draw_indicator>True</draw_indicator>
-               <child>
-                 <padding>0</padding>
-                 <expand>False</expand>
-                 <fill>False</fill>
-               </child>
-             </widget>
-
-             <widget>
-               <class>GtkRadioButton</class>
-               <name>radiobutton2</name>
-               <can_focus>True</can_focus>
-               <label>VCD</label>
-               <active>False</active>
-               <draw_indicator>True</draw_indicator>
-               <child>
-                 <padding>0</padding>
-                 <expand>False</expand>
-                 <fill>False</fill>
-               </child>
-             </widget>
-           </widget>
-         </widget>
-
-         <widget>
-           <class>GtkFrame</class>
-           <name>frame7</name>
-           <label>Starting position</label>
-           <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>table3</name>
-             <border_width>5</border_width>
-             <rows>2</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>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>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>label25</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>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>spinbutton5</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>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>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>
-
-             <widget>
-               <class>GtkSpinButton</class>
-               <name>spinbutton6</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>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>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>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkHBox</class>
-         <name>hbox6</name>
-         <homogeneous>False</homogeneous>
-         <spacing>5</spacing>
-         <child>
-           <padding>0</padding>
-           <expand>True</expand>
-           <fill>True</fill>
-         </child>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label29</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>
-             <padding>0</padding>
-             <expand>False</expand>
-             <fill>False</fill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkEntry</class>
-           <name>entry1</name>
-           <can_focus>True</can_focus>
-           <editable>True</editable>
-           <text_visible>True</text_visible>
-           <text_max_length>0</text_max_length>
-           <text>/dev/dvd</text>
-           <child>
-             <padding>0</padding>
-             <expand>True</expand>
-             <fill>True</fill>
-           </child>
-         </widget>
-       </widget>
-      </widget>
-
-      <widget>
-       <class>GtkLabel</class>
-       <child_name>Notebook:tab</child_name>
-       <name>tab_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>GtkVBox</class>
-       <name>vbox12</name>
-       <border_width>5</border_width>
-       <homogeneous>False</homogeneous>
-       <spacing>5</spacing>
-
-       <widget>
-         <class>GtkHBox</class>
-         <name>hbox7</name>
-         <homogeneous>False</homogeneous>
-         <spacing>5</spacing>
-         <child>
-           <padding>0</padding>
-           <expand>True</expand>
-           <fill>True</fill>
-         </child>
-
-         <widget>
-           <class>GtkFrame</class>
-           <name>frame8</name>
-           <label>Protocol</label>
-           <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>GtkVBox</class>
-             <name>vbox13</name>
-             <border_width>5</border_width>
-             <homogeneous>False</homogeneous>
-             <spacing>0</spacing>
-
-             <widget>
-               <class>GtkRadioButton</class>
-               <name>radiobutton3</name>
-               <can_focus>True</can_focus>
-               <label>UDP stream</label>
-               <active>False</active>
-               <draw_indicator>True</draw_indicator>
-               <child>
-                 <padding>0</padding>
-                 <expand>False</expand>
-                 <fill>False</fill>
-               </child>
-             </widget>
-
-             <widget>
-               <class>GtkRadioButton</class>
-               <name>radiobutton4</name>
-               <can_focus>True</can_focus>
-               <label>HTTP</label>
-               <active>False</active>
-               <draw_indicator>True</draw_indicator>
-               <child>
-                 <padding>0</padding>
-                 <expand>False</expand>
-                 <fill>False</fill>
-               </child>
-             </widget>
-
-             <widget>
-               <class>GtkRadioButton</class>
-               <name>radiobutton5</name>
-               <can_focus>True</can_focus>
-               <label>RTP</label>
-               <active>False</active>
-               <draw_indicator>True</draw_indicator>
-               <child>
-                 <padding>0</padding>
-                 <expand>False</expand>
-                 <fill>False</fill>
-               </child>
-             </widget>
-           </widget>
-         </widget>
-
-         <widget>
-           <class>GtkFrame</class>
-           <name>frame9</name>
-           <label>Server</label>
-           <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>GtkVBox</class>
-             <name>vbox14</name>
-             <homogeneous>False</homogeneous>
-             <spacing>0</spacing>
-
-             <widget>
-               <class>GtkTable</class>
-               <name>table4</name>
-               <border_width>5</border_width>
-               <rows>2</rows>
-               <columns>2</columns>
-               <homogeneous>False</homogeneous>
-               <row_spacing>5</row_spacing>
-               <column_spacing>5</column_spacing>
-               <child>
-                 <padding>0</padding>
-                 <expand>True</expand>
-                 <fill>True</fill>
-               </child>
-
-               <widget>
-                 <class>GtkLabel</class>
-                 <name>label26</name>
-                 <label>Address</label>
-                 <justify>GTK_JUSTIFY_CENTER</justify>
-                 <wrap>False</wrap>
-                 <xalign>0</xalign>
-                 <yalign>0.5</yalign>
-                 <xpad>0</xpad>
-                 <ypad>0</ypad>
-                 <child>
-                   <left_attach>0</left_attach>
-                   <right_attach>1</right_attach>
-                   <top_attach>0</top_attach>
-                   <bottom_attach>1</bottom_attach>
-                   <xpad>0</xpad>
-                   <ypad>0</ypad>
-                   <xexpand>False</xexpand>
-                   <yexpand>False</yexpand>
-                   <xshrink>False</xshrink>
-                   <yshrink>False</yshrink>
-                   <xfill>True</xfill>
-                   <yfill>False</yfill>
-                 </child>
-               </widget>
-
-               <widget>
-                 <class>GtkLabel</class>
-                 <name>label27</name>
-                 <label>Port</label>
-                 <justify>GTK_JUSTIFY_CENTER</justify>
-                 <wrap>False</wrap>
-                 <xalign>0</xalign>
-                 <yalign>0.5</yalign>
-                 <xpad>0</xpad>
-                 <ypad>0</ypad>
-                 <child>
-                   <left_attach>0</left_attach>
-                   <right_attach>1</right_attach>
-                   <top_attach>1</top_attach>
-                   <bottom_attach>2</bottom_attach>
-                   <xpad>0</xpad>
-                   <ypad>0</ypad>
-                   <xexpand>False</xexpand>
-                   <yexpand>False</yexpand>
-                   <xshrink>False</xshrink>
-                   <yshrink>False</yshrink>
-                   <xfill>True</xfill>
-                   <yfill>False</yfill>
-                 </child>
-               </widget>
-
-               <widget>
-                 <class>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>
-                   <left_attach>1</left_attach>
-                   <right_attach>2</right_attach>
-                   <top_attach>0</top_attach>
-                   <bottom_attach>1</bottom_attach>
-                   <xpad>0</xpad>
-                   <ypad>0</ypad>
-                   <xexpand>True</xexpand>
-                   <yexpand>False</yexpand>
-                   <xshrink>False</xshrink>
-                   <yshrink>False</yshrink>
-                   <xfill>True</xfill>
-                   <yfill>False</yfill>
-                 </child>
-
-                 <widget>
-                   <class>GtkEntry</class>
-                   <child_name>GtkCombo:entry</child_name>
-                   <name>combo-entry1</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>
-                 <class>GtkSpinButton</class>
-                 <name>spinbutton7</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>
-                   <left_attach>1</left_attach>
-                   <right_attach>2</right_attach>
-                   <top_attach>1</top_attach>
-                   <bottom_attach>2</bottom_attach>
-                   <xpad>0</xpad>
-                   <ypad>0</ypad>
-                   <xexpand>True</xexpand>
-                   <yexpand>False</yexpand>
-                   <xshrink>False</xshrink>
-                   <yshrink>False</yshrink>
-                   <xfill>True</xfill>
-                   <yfill>False</yfill>
-                 </child>
-               </widget>
-             </widget>
-           </widget>
-         </widget>
-       </widget>
-
-       <widget>
-         <class>GtkFrame</class>
-         <name>frame10</name>
-         <label>Broadcast</label>
-         <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>GtkHBox</class>
-           <name>hbox8</name>
-           <border_width>5</border_width>
-           <homogeneous>False</homogeneous>
-           <spacing>5</spacing>
-
-           <widget>
-             <class>GtkCheckButton</class>
-             <name>checkbutton2</name>
-             <can_focus>True</can_focus>
-             <label>Broadcast</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-
-           <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>True</expand>
-               <fill>True</fill>
-             </child>
-
-             <widget>
-               <class>GtkEntry</class>
-               <child_name>GtkCombo:entry</child_name>
-               <name>combo-entry3</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>frame11</name>
-         <label>Channels</label>
-         <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>GtkHBox</class>
-           <name>hbox9</name>
-           <border_width>5</border_width>
-           <homogeneous>False</homogeneous>
-           <spacing>5</spacing>
-
-           <widget>
-             <class>GtkCheckButton</class>
-             <name>checkbutton1</name>
-             <can_focus>True</can_focus>
-             <label>Channel server</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <child>
-               <padding>0</padding>
-               <expand>False</expand>
-               <fill>False</fill>
-             </child>
-           </widget>
-
-           <widget>
-             <class>GtkCombo</class>
-             <name>combo2</name>
-             <value_in_list>False</value_in_list>
-             <ok_if_empty>True</ok_if_empty>
-             <case_sensitive>False</case_sensitive>
-             <use_arrows>True</use_arrows>
-             <use_arrows_always>False</use_arrows_always>
-             <items></items>
-             <child>
-               <padding>0</padding>
-               <expand>True</expand>
-               <fill>True</fill>
-             </child>
-
-             <widget>
-               <class>GtkEntry</class>
-               <child_name>GtkCombo:entry</child_name>
-               <name>combo-entry2</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>
-             <class>GtkLabel</class>
-             <name>label28</name>
-             <label>Port</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>GtkSpinButton</class>
-             <name>spinbutton8</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>1</value>
-             <lower>0</lower>
-             <upper>100</upper>
-             <step>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>
-
-      <widget>
-       <class>GtkLabel</class>
-       <child_name>Notebook:tab</child_name>
-       <name>tab_network</name>
-       <label>Network</label>
-       <justify>GTK_JUSTIFY_CENTER</justify>
-       <wrap>False</wrap>
-       <xalign>0.5</xalign>
-       <yalign>0.5</yalign>
-       <xpad>0</xpad>
-       <ypad>0</ypad>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
-<widget>
-  <class>GnomeDialog</class>
-  <name>intf_messages</name>
-  <signal>
-    <name>destroy</name>
-    <handler>gtk_widget_hide</handler>
-    <data>&quot;intf_playlist&quot;</data>
-    <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>
-    <data>&quot;intf_playlist&quot;</data>
-    <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>
-         <data>&quot;intf_messages&quot;</data>
-         <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>
+      <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>
@@ -3830,372 +3493,4 @@ http://www.videolan.org/
   </widget>
 </widget>
 
-<widget>
-  <class>GnomeDialog</class>
-  <name>intf_sat</name>
-  <title>Open Satellite Card</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>False</hide_on_close>
-
-  <widget>
-    <class>GtkVBox</class>
-    <child_name>GnomeDialog:vbox</child_name>
-    <name>vbox15</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>hbuttonbox2</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>sat_ok</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkSatOpenOk</handler>
-         <data>&quot;intf_disc&quot;</data>
-         <last_modification_time>Mon, 25 Mar 2002 01:11:40 GMT</last_modification_time>
-       </signal>
-       <stock_button>GNOME_STOCK_BUTTON_OK</stock_button>
-      </widget>
-
-      <widget>
-       <class>GtkButton</class>
-       <name>sat_cancel</name>
-       <can_default>True</can_default>
-       <can_focus>True</can_focus>
-       <signal>
-         <name>clicked</name>
-         <handler>GtkSatOpenCancel</handler>
-         <data>&quot;intf_disc&quot;</data>
-         <last_modification_time>Mon, 25 Mar 2002 01:31:00 GMT</last_modification_time>
-       </signal>
-       <stock_button>GNOME_STOCK_BUTTON_CANCEL</stock_button>
-      </widget>
-    </widget>
-
-    <widget>
-      <class>GtkHBox</class>
-      <name>hbox10</name>
-      <homogeneous>False</homogeneous>
-      <spacing>5</spacing>
-      <child>
-       <padding>0</padding>
-       <expand>True</expand>
-       <fill>True</fill>
-      </child>
-
-      <widget>
-       <class>GtkFrame</class>
-       <name>frame13</name>
-       <label>Transponder settings</label>
-       <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>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>label30</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>GtkSpinButton</class>
-           <name>sat_freq</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>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>True</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>False</yfill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label31</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>GtkRadioButton</class>
-           <name>sat_pol_hor</name>
-           <can_focus>True</can_focus>
-           <label>Horizontal</label>
-           <active>False</active>
-           <draw_indicator>True</draw_indicator>
-           <group>pol</group>
-           <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>GtkRadioButton</class>
-           <name>sat_pol_vert</name>
-           <can_focus>True</can_focus>
-           <label>Vertical</label>
-           <active>True</active>
-           <draw_indicator>True</draw_indicator>
-           <group>pol</group>
-           <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>GtkLabel</class>
-           <name>label33</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>GtkSpinButton</class>
-           <name>sat_srate</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>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>True</xexpand>
-             <yexpand>False</yexpand>
-             <xshrink>False</xshrink>
-             <yshrink>False</yshrink>
-             <xfill>True</xfill>
-             <yfill>False</yfill>
-           </child>
-         </widget>
-
-         <widget>
-           <class>GtkLabel</class>
-           <name>label35</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>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>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
-6/7
-7/8
-</items>
-           <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>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>combo-entry4</name>
-             <can_focus>True</can_focus>
-             <editable>True</editable>
-             <text_visible>True</text_visible>
-             <text_max_length>0</text_max_length>
-             <text>3/4</text>
-           </widget>
-         </widget>
-       </widget>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
 </GTK-Interface>
index 91426e85d8c2b936d1f161864468c5b8a6a9cbe5..10b821d88e2e6a0910c062c051f6edcd7bf1bd59 100644 (file)
@@ -1,27 +1,3 @@
-/*****************************************************************************
- * gnome_callbacks.c : GNOME-specific callbacks.
- *****************************************************************************
- * Copyright (C) 2000, 2001, 2002 VideoLAN
- * $Id: gnome_callbacks.c,v 1.12 2002/06/07 14:30:40 sam Exp $
- *
- * 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.
- *****************************************************************************/
-
 /*****************************************************************************
  * This file is not needed: everything is in gtk_callbacks.c
  *****************************************************************************/
index f6767e6bdfea938eef06e33efbe4da85635a81b4..389996170159b09cc4396fc10b0e3d60ee005051 100644 (file)
@@ -1 +1,4 @@
+/*****************************************************************************
+ * This file is not needed: everything is in gtk_callbacks.h
+ *****************************************************************************/
 #include "gtk_callbacks.h"
index 2692e37c2f279bddd9ec61a8877df34afff4aef0..3f5d46029ddb887729f444f8a565e8d7e51d8cb0 100644 (file)
@@ -18,21 +18,21 @@ static GnomeUIInfo menubar_file_menu_uiinfo[] =
   {
     GNOME_APP_UI_ITEM, N_("_Open File..."),
     N_("Open a File"),
-    (gpointer) GtkFileOpenShow, "intf_window", NULL,
+    (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 a DVD or VCD"),
-    (gpointer) GtkDiscOpenShow, "intf_window", NULL,
+    (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, "intf_window", NULL,
+    (gpointer) GtkNetworkOpenShow, NULL, NULL,
     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_REFRESH,
     0, (GdkModifierType) 0, NULL
   },
@@ -40,12 +40,12 @@ static GnomeUIInfo menubar_file_menu_uiinfo[] =
   {
     GNOME_APP_UI_ITEM, N_("_Eject Disc"),
     N_("Eject disc"),
-    (gpointer) GtkDiscEject, "intf_window", NULL,
+    (gpointer) GtkDiscEject, NULL, NULL,
     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TOP,
     0, (GdkModifierType) 0, NULL
   },
   GNOMEUIINFO_SEPARATOR,
-  GNOMEUIINFO_MENU_EXIT_ITEM (GtkExit, "intf_window"),
+  GNOMEUIINFO_MENU_EXIT_ITEM (GtkExit, NULL),
   GNOMEUIINFO_END
 };
 
@@ -54,14 +54,14 @@ static GnomeUIInfo menubar_view_menu_uiinfo[] =
   {
     GNOME_APP_UI_ITEM, N_("_Hide interface"),
     NULL,
-    (gpointer) GtkWindowToggle, "intf_window", NULL,
+    (gpointer) GtkWindowToggle, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
   {
     GNOME_APP_UI_ITEM, N_("_Fullscreen"),
     NULL,
-    (gpointer) GtkFullscreen, "intf_window", NULL,
+    (gpointer) GtkFullscreen, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
@@ -91,21 +91,21 @@ static GnomeUIInfo menubar_view_menu_uiinfo[] =
   {
     GNOME_APP_UI_ITEM, N_("_Playlist..."),
     N_("Open the playlist window"),
-    (gpointer) GtkPlaylistShow, "intf_window", NULL,
+    (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, "intf_window", NULL,
+    (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, "intf_window", NULL,
+    (gpointer) GtkMessagesShow, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
@@ -129,13 +129,13 @@ static GnomeUIInfo menubar_settings_menu_uiinfo[] =
     0, (GdkModifierType) 0, NULL
   },
   GNOMEUIINFO_SEPARATOR,
-  GNOMEUIINFO_MENU_PREFERENCES_ITEM (GtkPreferencesShow, "intf_window"),
+  GNOMEUIINFO_MENU_PREFERENCES_ITEM (GtkPreferencesShow, NULL),
   GNOMEUIINFO_END
 };
 
 static GnomeUIInfo menubar_help_menu_uiinfo[] =
 {
-  GNOMEUIINFO_MENU_ABOUT_ITEM (GtkAboutShow, "intf_window"),
+  GNOMEUIINFO_MENU_ABOUT_ITEM (GtkAboutShow, NULL),
   GNOMEUIINFO_END
 };
 
@@ -717,77 +717,77 @@ create_intf_window (void)
 
   gtk_signal_connect (GTK_OBJECT (intf_window), "delete_event",
                       GTK_SIGNAL_FUNC (GtkWindowDelete),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (intf_window), "drag_data_received",
                       GTK_SIGNAL_FUNC (GtkWindowDrag),
-                      "intf_window");
+                      NULL);
   gnome_app_install_menu_hints (GNOME_APP (intf_window), menubar_uiinfo);
   gtk_signal_connect (GTK_OBJECT (toolbar_file), "clicked",
                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_disc), "clicked",
                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_network), "clicked",
                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_sat), "clicked",
                       GTK_SIGNAL_FUNC (GtkSatOpenShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_back), "clicked",
                       GTK_SIGNAL_FUNC (GtkControlBack),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_stop), "clicked",
                       GTK_SIGNAL_FUNC (GtkControlStop),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_eject), "clicked",
                       GTK_SIGNAL_FUNC (GtkDiscEject),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_play), "clicked",
                       GTK_SIGNAL_FUNC (GtkControlPlay),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_pause), "clicked",
                       GTK_SIGNAL_FUNC (GtkControlPause),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_slow), "clicked",
                       GTK_SIGNAL_FUNC (GtkControlSlow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_fast), "clicked",
                       GTK_SIGNAL_FUNC (GtkControlFast),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "clicked",
                       GTK_SIGNAL_FUNC (GtkPlaylistShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_prev), "clicked",
                       GTK_SIGNAL_FUNC (GtkPlaylistPrev),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_next), "clicked",
                       GTK_SIGNAL_FUNC (GtkPlaylistNext),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (slider), "button_press_event",
                       GTK_SIGNAL_FUNC (GtkSliderPress),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (slider), "button_release_event",
                       GTK_SIGNAL_FUNC (GtkSliderRelease),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (button_title_prev), "clicked",
                       GTK_SIGNAL_FUNC (GtkTitlePrev),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (button_title_next), "clicked",
                       GTK_SIGNAL_FUNC (GtkTitleNext),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (button_chapter_prev), "clicked",
                       GTK_SIGNAL_FUNC (GtkChapterPrev),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (button_chapter_next), "clicked",
                       GTK_SIGNAL_FUNC (GtkChapterNext),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (network_channel_spinbutton), "activate",
                       GTK_SIGNAL_FUNC (GtkNetworkJoin),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (network_channel_go_button), "clicked",
                       GTK_SIGNAL_FUNC (GtkChannelGo),
-                      "intf_window");
+                      NULL);
 
   gtk_object_set_data (GTK_OBJECT (intf_window), "tooltips", tooltips);
 
@@ -799,26 +799,26 @@ static GnomeUIInfo popup_file_menu_uiinfo[] =
   {
     GNOME_APP_UI_ITEM, N_("_Open File..."),
     N_("Open a File"),
-    (gpointer) GtkFileOpenShow, "intf_popup", NULL,
+    (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 a DVD or VCD"),
-    (gpointer) GtkDiscOpenShow, "intf_popup", NULL,
+    (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, "intf_popup", NULL,
+    (gpointer) GtkNetworkOpenShow, NULL, NULL,
     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_REFRESH,
     0, (GdkModifierType) 0, NULL
   },
   GNOMEUIINFO_SEPARATOR,
-  GNOMEUIINFO_MENU_ABOUT_ITEM (GtkAboutShow, "intf_popup"),
+  GNOMEUIINFO_MENU_ABOUT_ITEM (GtkAboutShow, NULL),
   GNOMEUIINFO_END
 };
 
@@ -827,42 +827,42 @@ static GnomeUIInfo intf_popup_uiinfo[] =
   {
     GNOME_APP_UI_ITEM, N_("Play"),
     NULL,
-    (gpointer) GtkControlPlay, "intf_popup", 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, "intf_popup", 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, "intf_popup", 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, "intf_popup", 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, "intf_popup", 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, "intf_popup", NULL,
+    (gpointer) GtkControlFast, NULL, NULL,
     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_TIMER,
     0, (GdkModifierType) 0, NULL
   },
@@ -870,14 +870,14 @@ static GnomeUIInfo intf_popup_uiinfo[] =
   {
     GNOME_APP_UI_ITEM, N_("Toggle _Interface"),
     NULL,
-    (gpointer) GtkWindowToggle, "intf_popup", NULL,
+    (gpointer) GtkWindowToggle, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
   {
     GNOME_APP_UI_ITEM, N_("_Fullscreen"),
     N_("Toggle fullscreen mode"),
-    (gpointer) GtkFullscreen, "intf_popup", NULL,
+    (gpointer) GtkFullscreen, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
@@ -885,21 +885,21 @@ static GnomeUIInfo intf_popup_uiinfo[] =
   {
     GNOME_APP_UI_ITEM, N_("Next"),
     NULL,
-    (gpointer) GtkPlaylistNext, "intf_popup", NULL,
+    (gpointer) GtkPlaylistNext, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
   {
     GNOME_APP_UI_ITEM, N_("Prev"),
     NULL,
-    (gpointer) GtkPlaylistPrev, "intf_popup", 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, "intf_popup", NULL,
+    (gpointer) GtkJumpShow, NULL, NULL,
     GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_JUMP_TO,
     0, (GdkModifierType) 0, NULL
   },
@@ -936,13 +936,13 @@ static GnomeUIInfo intf_popup_uiinfo[] =
   {
     GNOME_APP_UI_ITEM, N_("Playlist..."),
     NULL,
-    (gpointer) GtkPlaylistShow, "intf_popup", NULL,
+    (gpointer) GtkPlaylistShow, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
-  GNOMEUIINFO_MENU_PREFERENCES_ITEM (GtkPreferencesShow, "intf_popup"),
+  GNOMEUIINFO_MENU_PREFERENCES_ITEM (GtkPreferencesShow, NULL),
   GNOMEUIINFO_SEPARATOR,
-  GNOMEUIINFO_MENU_EXIT_ITEM (GtkExit, "intf_popup"),
+  GNOMEUIINFO_MENU_EXIT_ITEM (GtkExit, NULL),
   GNOMEUIINFO_END
 };
 
@@ -1125,401 +1125,379 @@ create_intf_about (void)
 }
 
 GtkWidget*
-create_intf_fileopen (void)
-{
-  GtkWidget *intf_fileopen;
-  GtkWidget *fileopen_ok;
-  GtkWidget *fileopen_cancel;
-
-  intf_fileopen = gtk_file_selection_new (_("Open File"));
-  gtk_object_set_data (GTK_OBJECT (intf_fileopen), "intf_fileopen", intf_fileopen);
-  gtk_container_set_border_width (GTK_CONTAINER (intf_fileopen), 10);
-  gtk_window_set_modal (GTK_WINDOW (intf_fileopen), TRUE);
-  gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (intf_fileopen));
-
-  fileopen_ok = GTK_FILE_SELECTION (intf_fileopen)->ok_button;
-  gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_ok", fileopen_ok);
-  gtk_widget_show (fileopen_ok);
-  GTK_WIDGET_SET_FLAGS (fileopen_ok, GTK_CAN_DEFAULT);
-
-  fileopen_cancel = GTK_FILE_SELECTION (intf_fileopen)->cancel_button;
-  gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_cancel", fileopen_cancel);
-  gtk_widget_show (fileopen_cancel);
-  GTK_WIDGET_SET_FLAGS (fileopen_cancel, GTK_CAN_DEFAULT);
-
-  gtk_signal_connect (GTK_OBJECT (fileopen_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkFileOpenOk),
-                      "intf_fileopen");
-  gtk_signal_connect (GTK_OBJECT (fileopen_cancel), "clicked",
-                      GTK_SIGNAL_FUNC (GtkFileOpenCancel),
-                      "intf_fileopen");
-
-  return intf_fileopen;
-}
-
-GtkWidget*
-create_intf_modules (void)
+create_intf_open (void)
 {
-  GtkWidget *intf_modules;
-  GtkWidget *dialog_vbox1;
-  GtkWidget *label12;
-  GtkWidget *dialog_action_area1;
-  GtkWidget *modules_ok;
-  GtkWidget *modules_apply;
-  GtkWidget *modules_cancel;
+  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 *label21;
+  GtkWidget *label20;
+  GtkObject *disc_chapter_adj;
+  GtkWidget *disc_chapter;
+  GtkWidget *label35;
+  GtkWidget *hbox24;
+  GSList *disc_group = NULL;
+  GtkWidget *disc_dvd;
+  GtkWidget *disc_vcd;
+  GtkWidget *label19;
+  GtkObject *disc_title_adj;
+  GtkWidget *disc_title;
+  GtkWidget *disc_name;
+  GtkWidget *open_disc;
+  GtkWidget *table4;
+  GSList *table4_group = NULL;
+  GtkWidget *network_udp;
+  GtkWidget *network_multicast;
+  GtkWidget *network_channel;
+  GtkWidget *network_http;
+  GtkWidget *network_udp_port_label;
+  GtkWidget *network_multicast_address_label;
+  GtkWidget *network_channel_address_label;
+  GtkWidget *network_http_url_label;
+  GtkWidget *network_multicast_address_combo;
+  GtkWidget *network_multicast_address;
+  GtkWidget *network_channel_address_combo;
+  GtkWidget *network_channel_address;
+  GtkWidget *network_multicast_port_label;
+  GtkWidget *network_channel_port_label;
+  GtkObject *network_multicast_port_adj;
+  GtkWidget *network_multicast_port;
+  GtkObject *network_channel_port_adj;
+  GtkWidget *network_channel_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 *dialog_action_area5;
+  GtkWidget *button1;
+  GtkWidget *button3;
 
-  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);
+  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_vbox1 = GNOME_DIALOG (intf_modules)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_modules), "dialog_vbox1", dialog_vbox1);
-  gtk_widget_show (dialog_vbox1);
+  dialog_vbox5 = GNOME_DIALOG (intf_open)->vbox;
+  gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_vbox5", dialog_vbox5);
+  gtk_widget_show (dialog_vbox5);
 
-  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,
+  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 (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);
+  gtk_widget_show (open_vbox);
+  gtk_box_pack_start (GTK_BOX (dialog_vbox5), open_vbox, TRUE, TRUE, 0);
 
-  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,
+  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 (modules_ok);
-  GTK_WIDGET_SET_FLAGS (modules_ok, GTK_CAN_DEFAULT);
+  gtk_widget_show (frame10);
+  gtk_box_pack_start (GTK_BOX (open_vbox), frame10, FALSE, TRUE, 0);
 
-  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,
+  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 (modules_apply);
-  GTK_WIDGET_SET_FLAGS (modules_apply, GTK_CAN_DEFAULT);
+  gtk_widget_show (hbox21);
+  gtk_container_add (GTK_CONTAINER (frame10), hbox21);
+  gtk_container_set_border_width (GTK_CONTAINER (hbox21), 5);
 
-  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,
+  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 (modules_cancel);
-  GTK_WIDGET_SET_FLAGS (modules_cancel, GTK_CAN_DEFAULT);
+  gtk_widget_show (hbox22);
+  gtk_box_pack_start (GTK_BOX (hbox21), hbox22, FALSE, TRUE, 0);
 
-  return intf_modules;
-}
+  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);
 
-GtkWidget*
-create_intf_disc (void)
-{
-  GtkWidget *intf_disc;
-  GtkWidget *dialog_vbox4;
-  GtkWidget *hbox2;
-  GtkWidget *frame1;
-  GtkWidget *vbox4;
-  GSList *disc_group = NULL;
-  GtkWidget *disc_dvd;
-  GtkWidget *disc_vcd;
-  GtkWidget *frame2;
-  GtkWidget *table1;
-  GtkWidget *label15;
-  GtkWidget *label16;
-  GtkObject *disc_title_adj;
-  GtkWidget *disc_title;
-  GtkObject *disc_chapter_adj;
-  GtkWidget *disc_chapter;
-  GtkWidget *hbox1;
-  GtkWidget *label14;
-  GtkWidget *disc_name;
-  GtkWidget *dialog_action_area4;
-  GtkWidget *disc_ok;
-  GtkWidget *disc_cancel;
+  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);
 
-  intf_disc = gnome_dialog_new (_("Open Disc"), NULL);
-  gtk_object_set_data (GTK_OBJECT (intf_disc), "intf_disc", intf_disc);
-  gtk_window_set_modal (GTK_WINDOW (intf_disc), TRUE);
-  gtk_window_set_policy (GTK_WINDOW (intf_disc), FALSE, FALSE, FALSE);
+  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);
 
-  dialog_vbox4 = GNOME_DIALOG (intf_disc)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_vbox4", dialog_vbox4);
-  gtk_widget_show (dialog_vbox4);
+  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);
 
-  hbox2 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox2);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox2", hbox2,
+  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 (hbox2);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox4), hbox2, TRUE, TRUE, 0);
+  gtk_widget_show (open_notebook);
+  gtk_box_pack_start (GTK_BOX (open_vbox), open_notebook, TRUE, TRUE, 0);
 
-  frame1 = gtk_frame_new (_("Disc type"));
-  gtk_widget_ref (frame1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame1", frame1,
+  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 (frame1);
-  gtk_box_pack_start (GTK_BOX (hbox2), frame1, TRUE, TRUE, 0);
+  gtk_widget_show (hbox20);
+  gtk_container_add (GTK_CONTAINER (open_notebook), hbox20);
+  gtk_container_set_border_width (GTK_CONTAINER (hbox20), 5);
 
-  vbox4 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_ref (vbox4);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "vbox4", vbox4,
+  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 (vbox4);
-  gtk_container_add (GTK_CONTAINER (frame1), vbox4);
+  gtk_widget_show (combo1);
+  gtk_box_pack_start (GTK_BOX (hbox20), combo1, FALSE, TRUE, 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_disc), "disc_dvd", disc_dvd,
+  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 (disc_dvd);
-  gtk_box_pack_start (GTK_BOX (vbox4), disc_dvd, FALSE, FALSE, 0);
+  gtk_widget_show (entry_file);
 
-  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_disc), "disc_vcd", disc_vcd,
+  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 (disc_vcd);
-  gtk_box_pack_start (GTK_BOX (vbox4), disc_vcd, FALSE, FALSE, 0);
+  gtk_widget_show (vbox13);
+  gtk_box_pack_start (GTK_BOX (hbox20), vbox13, FALSE, FALSE, 0);
 
-  frame2 = gtk_frame_new (_("Starting position"));
-  gtk_widget_ref (frame2);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame2", frame2,
+  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 (frame2);
-  gtk_box_pack_start (GTK_BOX (hbox2), frame2, TRUE, TRUE, 0);
+  gtk_widget_show (open_browse);
+  gtk_box_pack_start (GTK_BOX (vbox13), open_browse, FALSE, FALSE, 0);
 
-  table1 = gtk_table_new (2, 2, FALSE);
-  gtk_widget_ref (table1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "table1", table1,
+  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 (table1);
-  gtk_container_add (GTK_CONTAINER (frame2), table1);
-  gtk_container_set_border_width (GTK_CONTAINER (table1), 5);
-  gtk_table_set_row_spacings (GTK_TABLE (table1), 5);
-  gtk_table_set_col_spacings (GTK_TABLE (table1), 5);
+  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);
 
-  label15 = gtk_label_new (_("Title"));
-  gtk_widget_ref (label15);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label15", label15,
+  table5 = gtk_table_new (4, 2, FALSE);
+  gtk_widget_ref (table5);
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "table5", table5,
                             (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label15);
-  gtk_table_attach (GTK_TABLE (table1), label15, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label15), 0, 0.5);
+  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);
 
-  label16 = gtk_label_new (_("Chapter"));
-  gtk_widget_ref (label16);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label16", label16,
+  label21 = gtk_label_new (_("Title"));
+  gtk_widget_ref (label21);
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label21", label21,
                             (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label16);
-  gtk_table_attach (GTK_TABLE (table1), label16, 0, 1, 1, 2,
+  gtk_widget_show (label21);
+  gtk_table_attach (GTK_TABLE (table5), label21, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label16), 0, 0.5);
+  gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5);
 
-  disc_title_adj = gtk_adjustment_new (1, 1, 65536, 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_disc), "disc_title", disc_title,
+  label20 = gtk_label_new (_("Chapter"));
+  gtk_widget_ref (label20);
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label20", label20,
                             (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_title);
-  gtk_table_attach (GTK_TABLE (table1), disc_title, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+  gtk_widget_show (label20);
+  gtk_table_attach (GTK_TABLE (table5), label20, 0, 1, 3, 4,
+                    (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label20), 0, 0.5);
 
   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_disc), "disc_chapter", 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 (table1), disc_chapter, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+  gtk_table_attach (GTK_TABLE (table5), disc_chapter, 1, 2, 3, 4,
+                    (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  hbox1 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox1", hbox1,
+  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 (hbox1);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox4), hbox1, TRUE, TRUE, 0);
+  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);
 
-  label14 = gtk_label_new (_("Device name:"));
-  gtk_widget_ref (label14);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label14", label14,
+  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 (label14);
-  gtk_box_pack_start (GTK_BOX (hbox1), label14, FALSE, FALSE, 0);
+  gtk_widget_show (hbox24);
+  gtk_table_attach (GTK_TABLE (table5), hbox24, 1, 2, 0, 1,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (GTK_FILL), 0, 0);
 
-  disc_name = gtk_entry_new ();
-  gtk_widget_ref (disc_name);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_name", disc_name,
+  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_name);
-  gtk_box_pack_start (GTK_BOX (hbox1), disc_name, TRUE, TRUE, 0);
-  gtk_entry_set_text (GTK_ENTRY (disc_name), "/dev/dvd");
-
-  dialog_action_area4 = GNOME_DIALOG (intf_disc)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_action_area4", dialog_action_area4);
-  gtk_widget_show (dialog_action_area4);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area4), GTK_BUTTONBOX_END);
-  gtk_button_box_set_spacing (GTK_BUTTON_BOX (dialog_action_area4), 8);
+  gtk_widget_show (disc_dvd);
+  gtk_box_pack_start (GTK_BOX (hbox24), disc_dvd, FALSE, FALSE, 0);
 
-  gnome_dialog_append_button (GNOME_DIALOG (intf_disc), GNOME_STOCK_BUTTON_OK);
-  disc_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_disc)->buttons)->data);
-  gtk_widget_ref (disc_ok);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_ok", disc_ok,
+  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_ok);
-  GTK_WIDGET_SET_FLAGS (disc_ok, GTK_CAN_DEFAULT);
+  gtk_widget_show (disc_vcd);
+  gtk_box_pack_start (GTK_BOX (hbox24), disc_vcd, FALSE, FALSE, 0);
 
-  gnome_dialog_append_button (GNOME_DIALOG (intf_disc), GNOME_STOCK_BUTTON_CANCEL);
-  disc_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_disc)->buttons)->data);
-  gtk_widget_ref (disc_cancel);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_cancel", disc_cancel,
+  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 (disc_cancel);
-  GTK_WIDGET_SET_FLAGS (disc_cancel, GTK_CAN_DEFAULT);
-
-  gtk_signal_connect (GTK_OBJECT (disc_dvd), "toggled",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenDvd),
-                      "intf_disc");
-  gtk_signal_connect (GTK_OBJECT (disc_vcd), "toggled",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenVcd),
-                      "intf_disc");
-  gtk_signal_connect (GTK_OBJECT (disc_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenOk),
-                      "intf_disc");
-  gtk_signal_connect (GTK_OBJECT (disc_cancel), "clicked",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenCancel),
-                      "intf_disc");
-
-  return intf_disc;
-}
-
-GtkWidget*
-create_intf_network (void)
-{
-  GtkWidget *intf_network;
-  GtkWidget *vbox5;
-  GtkWidget *frame14;
-  GtkWidget *table6;
-  GSList *table6_group = NULL;
-  GtkWidget *network_udp;
-  GtkWidget *network_multicast;
-  GtkWidget *network_channel;
-  GtkWidget *network_http;
-  GtkWidget *network_udp_port_label;
-  GtkWidget *network_multicast_address_label;
-  GtkWidget *network_channel_address_label;
-  GtkWidget *network_http_url_label;
-  GtkWidget *network_multicast_address_combo;
-  GtkWidget *network_multicast_address;
-  GtkObject *network_udp_port_adj;
-  GtkWidget *network_udp_port;
-  GtkWidget *network_channel_address_combo;
-  GtkWidget *network_channel_address;
-  GtkWidget *network_multicast_port_label;
-  GtkWidget *network_channel_port_label;
-  GtkWidget *network_http_url;
-  GtkWidget *label42;
-  GtkObject *network_multicast_port_adj;
-  GtkWidget *network_multicast_port;
-  GtkObject *network_channel_port_adj;
-  GtkWidget *network_channel_port;
-  GtkWidget *hbuttonbox1;
-  GtkWidget *network_ok;
-  GtkWidget *network_cancel;
+  gtk_widget_show (label19);
+  gtk_table_attach (GTK_TABLE (table5), label19, 0, 1, 1, 2,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
 
-  intf_network = gnome_dialog_new (_("Network Stream"), NULL);
-  gtk_object_set_data (GTK_OBJECT (intf_network), "intf_network", intf_network);
-  gtk_window_set_modal (GTK_WINDOW (intf_network), TRUE);
-  gtk_window_set_policy (GTK_WINDOW (intf_network), FALSE, FALSE, FALSE);
+  disc_title_adj = gtk_adjustment_new (1, 1, 65536, 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, 2, 3,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
 
-  vbox5 = GNOME_DIALOG (intf_network)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_network), "vbox5", vbox5);
-  gtk_widget_show (vbox5);
+  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");
 
-  frame14 = gtk_frame_new (_("Network mode"));
-  gtk_widget_ref (frame14);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "frame14", frame14,
+  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 (frame14);
-  gtk_box_pack_start (GTK_BOX (vbox5), frame14, TRUE, TRUE, 0);
+  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);
 
-  table6 = gtk_table_new (4, 6, FALSE);
-  gtk_widget_ref (table6);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "table6", table6,
+  table4 = gtk_table_new (4, 6, FALSE);
+  gtk_widget_ref (table4);
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "table4", table4,
                             (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (table6);
-  gtk_container_add (GTK_CONTAINER (frame14), table6);
-  gtk_container_set_border_width (GTK_CONTAINER (table6), 9);
-  gtk_table_set_col_spacings (GTK_TABLE (table6), 6);
+  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 (table6_group, _("UDP"));
-  table6_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_udp));
+  network_udp = gtk_radio_button_new_with_label (table4_group, _("UDP"));
+  table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_udp));
   gtk_widget_ref (network_udp);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_udp", 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 (table6), network_udp, 0, 1, 0, 1,
+  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 (table6_group, _("UDP Multicast"));
-  table6_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_multicast));
+  network_multicast = gtk_radio_button_new_with_label (table4_group, _("UDP 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_network), "network_multicast", 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 (table6), network_multicast, 0, 1, 1, 2,
+  gtk_table_attach (GTK_TABLE (table4), network_multicast, 0, 1, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  network_channel = gtk_radio_button_new_with_label (table6_group, _("Channel server "));
-  table6_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_channel));
+  network_channel = gtk_radio_button_new_with_label (table4_group, _("Channel server "));
+  table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_channel));
   gtk_widget_ref (network_channel);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel", network_channel,
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel", network_channel,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_channel);
-  gtk_table_attach (GTK_TABLE (table6), network_channel, 0, 1, 2, 3,
+  gtk_table_attach (GTK_TABLE (table4), network_channel, 0, 1, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
 
-  network_http = gtk_radio_button_new_with_label (table6_group, _("HTTP"));
-  table6_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_http));
+  network_http = gtk_radio_button_new_with_label (table4_group, _("HTTP"));
+  table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_http));
   gtk_widget_ref (network_http);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_http", 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 (table6), network_http, 0, 1, 3, 4,
+  gtk_table_attach (GTK_TABLE (table4), network_http, 0, 1, 3, 4,
                     (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_network), "network_udp_port_label", 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 (table6), network_udp_port_label, 1, 2, 0, 1,
+  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_network), "network_multicast_address_label", 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 (table6), network_multicast_address_label, 1, 2, 1, 2,
+  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);
@@ -1528,20 +1506,20 @@ create_intf_network (void)
 
   network_channel_address_label = gtk_label_new (_("Address"));
   gtk_widget_ref (network_channel_address_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_address_label", network_channel_address_label,
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address_label", network_channel_address_label,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_channel_address_label);
-  gtk_table_attach (GTK_TABLE (table6), network_channel_address_label, 1, 2, 2, 3,
+  gtk_table_attach (GTK_TABLE (table4), network_channel_address_label, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_widget_set_sensitive (network_channel_address_label, FALSE);
 
   network_http_url_label = gtk_label_new (_("URL"));
   gtk_widget_ref (network_http_url_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_http_url_label", 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 (table6), network_http_url_label, 1, 2, 3, 4,
+  gtk_table_attach (GTK_TABLE (table4), network_http_url_label, 1, 2, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_widget_set_sensitive (network_http_url_label, FALSE);
@@ -1549,98 +1527,66 @@ create_intf_network (void)
 
   network_multicast_address_combo = gtk_combo_new ();
   gtk_widget_ref (network_multicast_address_combo);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_multicast_address_combo", 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 (table6), network_multicast_address_combo, 2, 4, 1, 2,
+  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_network), "network_multicast_address", 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_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_network), "network_udp_port", network_udp_port,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_udp_port);
-  gtk_table_attach (GTK_TABLE (table6), network_udp_port, 2, 3, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_usize (network_udp_port, 1, -2);
-
   network_channel_address_combo = gtk_combo_new ();
   gtk_widget_ref (network_channel_address_combo);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_address_combo", network_channel_address_combo,
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address_combo", network_channel_address_combo,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_channel_address_combo);
-  gtk_table_attach (GTK_TABLE (table6), network_channel_address_combo, 2, 4, 2, 3,
+  gtk_table_attach (GTK_TABLE (table4), network_channel_address_combo, 2, 4, 2, 3,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_widget_set_sensitive (network_channel_address_combo, FALSE);
 
   network_channel_address = GTK_COMBO (network_channel_address_combo)->entry;
   gtk_widget_ref (network_channel_address);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_address", network_channel_address,
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address", network_channel_address,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_channel_address);
 
   network_multicast_port_label = gtk_label_new (_("Port"));
   gtk_widget_ref (network_multicast_port_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_multicast_port_label", 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 (table6), network_multicast_port_label, 4, 5, 1, 2,
+  gtk_table_attach (GTK_TABLE (table4), network_multicast_port_label, 4, 5, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_usize (network_multicast_port_label, 51, -2);
   gtk_widget_set_sensitive (network_multicast_port_label, FALSE);
   gtk_misc_set_alignment (GTK_MISC (network_multicast_port_label), 1, 0.5);
 
   network_channel_port_label = gtk_label_new (_("Port"));
   gtk_widget_ref (network_channel_port_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_port_label", network_channel_port_label,
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_port_label", network_channel_port_label,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_channel_port_label);
-  gtk_table_attach (GTK_TABLE (table6), network_channel_port_label, 4, 5, 2, 3,
+  gtk_table_attach (GTK_TABLE (table4), network_channel_port_label, 4, 5, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_widget_set_sensitive (network_channel_port_label, FALSE);
   gtk_misc_set_alignment (GTK_MISC (network_channel_port_label), 1, 0.5);
 
-  network_http_url = gtk_entry_new ();
-  gtk_widget_ref (network_http_url);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_http_url", network_http_url,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (network_http_url);
-  gtk_table_attach (GTK_TABLE (table6), network_http_url, 2, 6, 3, 4,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_widget_set_sensitive (network_http_url, FALSE);
-
-  label42 = gtk_label_new ("");
-  gtk_widget_ref (label42);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "label42", label42,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label42);
-  gtk_table_attach (GTK_TABLE (table6), label42, 3, 6, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label42), 0, 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_network), "network_multicast_port", 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 (table6), network_multicast_port, 5, 6, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
+  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);
@@ -1648,57 +1594,360 @@ create_intf_network (void)
   network_channel_port_adj = gtk_adjustment_new (6010, 0, 65535, 1, 10, 10);
   network_channel_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_port_adj), 1, 0);
   gtk_widget_ref (network_channel_port);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_port", network_channel_port,
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_port", network_channel_port,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_channel_port);
-  gtk_table_attach (GTK_TABLE (table6), network_channel_port, 5, 6, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
+  gtk_table_attach (GTK_TABLE (table4), network_channel_port, 5, 6, 2, 3,
+                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_widget_set_usize (network_channel_port, 75, -2);
   gtk_widget_set_sensitive (network_channel_port, FALSE);
 
-  hbuttonbox1 = GNOME_DIALOG (intf_network)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_network), "hbuttonbox1", hbuttonbox1);
-  gtk_widget_show (hbuttonbox1);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_END);
-  gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbuttonbox1), 8);
+  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, 3, 4,
+                    (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);
+
+  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_network), GNOME_STOCK_BUTTON_OK);
-  network_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_network)->buttons)->data);
-  gtk_widget_ref (network_ok);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_ok", network_ok,
+  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 (network_ok);
-  GTK_WIDGET_SET_FLAGS (network_ok, GTK_CAN_DEFAULT);
+  gtk_widget_show (button1);
+  GTK_WIDGET_SET_FLAGS (button1, GTK_CAN_DEFAULT);
 
-  gnome_dialog_append_button (GNOME_DIALOG (intf_network), GNOME_STOCK_BUTTON_CANCEL);
-  network_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_network)->buttons)->data);
-  gtk_widget_ref (network_cancel);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_cancel", network_cancel,
+  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 (network_cancel);
-  GTK_WIDGET_SET_FLAGS (network_cancel, GTK_CAN_DEFAULT);
+  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),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (disc_chapter), "changed",
+                      GTK_SIGNAL_FUNC (GtkOpenChanged),
+                      NULL);
+  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_title), "changed",
+                      GTK_SIGNAL_FUNC (GtkOpenChanged),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (disc_name), "changed",
+                      GTK_SIGNAL_FUNC (GtkOpenChanged),
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (network_udp), "toggled",
                       GTK_SIGNAL_FUNC (GtkNetworkOpenUDP),
-                      "intf_network");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (network_multicast), "toggled",
                       GTK_SIGNAL_FUNC (GtkNetworkOpenMulticast),
-                      "intf_network");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (network_channel), "toggled",
                       GTK_SIGNAL_FUNC (GtkNetworkOpenChannel),
-                      "intf_network");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (network_http), "toggled",
                       GTK_SIGNAL_FUNC (GtkNetworkOpenHTTP),
-                      "intf_network");
-  gtk_signal_connect (GTK_OBJECT (network_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenOk),
-                      "intf_network");
-  gtk_signal_connect (GTK_OBJECT (network_cancel), "clicked",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenCancel),
-                      "intf_network");
-
-  return intf_network;
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (network_multicast_address), "changed",
+                      GTK_SIGNAL_FUNC (GtkOpenChanged),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (network_channel_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_channel_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 (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[] =
@@ -1706,28 +1955,28 @@ static GnomeUIInfo playlist_add_menu_uiinfo[] =
   {
     GNOME_APP_UI_ITEM, N_("Disc"),
     NULL,
-    (gpointer) GtkDiscOpenShow, "intf_playlist", NULL,
+    (gpointer) GtkDiscOpenShow, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
   {
     GNOME_APP_UI_ITEM, N_("File"),
     NULL,
-    (gpointer) GtkFileOpenShow, "intf_playlist", NULL,
+    (gpointer) GtkFileOpenShow, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
   {
     GNOME_APP_UI_ITEM, N_("Network"),
     NULL,
-    (gpointer) GtkNetworkOpenShow, "intf_playlist", NULL,
+    (gpointer) GtkNetworkOpenShow, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
   {
     GNOME_APP_UI_ITEM, N_("Url"),
     NULL,
-    (gpointer) GtkPlaylistAddUrl, "intf_playlist", NULL,
+    (gpointer) GtkPlaylistAddUrl, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
@@ -1739,14 +1988,14 @@ static GnomeUIInfo playlist_delete_menu_uiinfo[] =
   {
     GNOME_APP_UI_ITEM, N_("All"),
     NULL,
-    (gpointer) GtkPlaylistDeleteAll, "intf_playlist", NULL,
+    (gpointer) GtkPlaylistDeleteAll, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
   {
     GNOME_APP_UI_ITEM, N_("Item"),
     NULL,
-    (gpointer) GtkPlaylistDeleteSelected, "intf_playlist", NULL,
+    (gpointer) GtkPlaylistDeleteSelected, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
@@ -1758,21 +2007,21 @@ static GnomeUIInfo playlist_selection_menu_uiinfo[] =
   {
     GNOME_APP_UI_ITEM, N_("Crop"),
     NULL,
-    (gpointer) GtkPlaylistCrop, "intf_playlist", NULL,
+    (gpointer) GtkPlaylistCrop, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
   {
     GNOME_APP_UI_ITEM, N_("Invert"),
     NULL,
-    (gpointer) GtkPlaylistInvert, "intf_playlist", NULL,
+    (gpointer) GtkPlaylistInvert, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
   {
     GNOME_APP_UI_ITEM, N_("Select"),
     NULL,
-    (gpointer) GtkPlaylistSelect, "intf_playlist", NULL,
+    (gpointer) GtkPlaylistSelect, NULL, NULL,
     GNOME_APP_PIXMAP_NONE, NULL,
     0, (GdkModifierType) 0, NULL
   },
@@ -1825,6 +2074,7 @@ create_intf_playlist (void)
   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);
@@ -1973,25 +2223,25 @@ create_intf_playlist (void)
 
   gtk_signal_connect (GTK_OBJECT (intf_playlist), "destroy",
                       GTK_SIGNAL_FUNC (gtk_widget_hide),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (intf_playlist), "delete_event",
                       GTK_SIGNAL_FUNC (gtk_widget_hide),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_clist), "event",
                       GTK_SIGNAL_FUNC (GtkPlaylistEvent),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_data_received",
                       GTK_SIGNAL_FUNC (GtkPlaylistDragData),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_motion",
                       GTK_SIGNAL_FUNC (GtkPlaylistDragMotion),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_ok), "clicked",
                       GTK_SIGNAL_FUNC (GtkPlaylistOk),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_cancel), "clicked",
                       GTK_SIGNAL_FUNC (GtkPlaylistCancel),
-                      "intf_playlist");
+                      NULL);
 
   return intf_playlist;
 }
@@ -2110,488 +2360,40 @@ create_intf_jump (void)
 
   gtk_signal_connect (GTK_OBJECT (jump_ok), "clicked",
                       GTK_SIGNAL_FUNC (GtkJumpOk),
-                      "intf_jump");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (jump_cancel), "clicked",
                       GTK_SIGNAL_FUNC (GtkJumpCancel),
-                      "intf_jump");
+                      NULL);
 
   return intf_jump;
 }
 
 GtkWidget*
-create_intf_open (void)
+create_intf_messages (void)
 {
-  GtkWidget *intf_open;
-  GtkWidget *dialog_vbox5;
-  GtkWidget *tab_open;
-  GtkWidget *vbox10;
-  GtkWidget *hbox5;
-  GtkWidget *frame6;
-  GtkWidget *vbox11;
-  GSList *vbox11_group = NULL;
-  GtkWidget *radiobutton1;
-  GtkWidget *radiobutton2;
-  GtkWidget *frame7;
-  GtkWidget *table3;
-  GtkWidget *label24;
-  GtkWidget *label25;
-  GtkObject *spinbutton5_adj;
-  GtkWidget *spinbutton5;
-  GtkObject *spinbutton6_adj;
-  GtkWidget *spinbutton6;
-  GtkWidget *hbox6;
-  GtkWidget *label29;
-  GtkWidget *entry1;
-  GtkWidget *tab_disc;
-  GtkWidget *vbox12;
-  GtkWidget *hbox7;
-  GtkWidget *frame8;
-  GtkWidget *vbox13;
-  GSList *vbox13_group = NULL;
-  GtkWidget *radiobutton3;
-  GtkWidget *radiobutton4;
-  GtkWidget *radiobutton5;
-  GtkWidget *frame9;
-  GtkWidget *vbox14;
-  GtkWidget *table4;
-  GtkWidget *label26;
-  GtkWidget *label27;
-  GtkWidget *combo1;
-  GtkWidget *combo_entry1;
-  GtkObject *spinbutton7_adj;
-  GtkWidget *spinbutton7;
-  GtkWidget *frame10;
-  GtkWidget *hbox8;
-  GtkWidget *checkbutton2;
-  GtkWidget *combo3;
-  GtkWidget *combo_entry3;
-  GtkWidget *frame11;
-  GtkWidget *hbox9;
-  GtkWidget *checkbutton1;
-  GtkWidget *combo2;
-  GtkWidget *combo_entry2;
-  GtkWidget *label28;
-  GtkObject *spinbutton8_adj;
-  GtkWidget *spinbutton8;
-  GtkWidget *tab_network;
-  GtkWidget *dialog_action_area5;
-  GtkWidget *button1;
-  GtkWidget *button3;
+  GtkWidget *intf_messages;
+  GtkWidget *dialog_vbox6;
+  GtkWidget *scrolledwindow1;
+  GtkWidget *messages_textbox;
+  GtkWidget *dialog_action_area6;
+  GtkWidget *messages_ok;
 
-  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);
+  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_vbox5 = GNOME_DIALOG (intf_open)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_vbox5", dialog_vbox5);
-  gtk_widget_show (dialog_vbox5);
+  dialog_vbox6 = GNOME_DIALOG (intf_messages)->vbox;
+  gtk_object_set_data (GTK_OBJECT (intf_messages), "dialog_vbox6", dialog_vbox6);
+  gtk_widget_show (dialog_vbox6);
 
-  tab_open = gtk_notebook_new ();
-  gtk_widget_ref (tab_open);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "tab_open", tab_open,
+  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 (tab_open);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox5), tab_open, TRUE, TRUE, 0);
-
-  vbox10 = gtk_vbox_new (FALSE, 5);
-  gtk_widget_ref (vbox10);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox10", vbox10,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox10);
-  gtk_container_add (GTK_CONTAINER (tab_open), vbox10);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox10), 5);
-
-  hbox5 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox5);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox5", hbox5,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox5);
-  gtk_box_pack_start (GTK_BOX (vbox10), hbox5, TRUE, TRUE, 0);
-
-  frame6 = gtk_frame_new (_("Disc type"));
-  gtk_widget_ref (frame6);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame6", frame6,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame6);
-  gtk_box_pack_start (GTK_BOX (hbox5), frame6, TRUE, TRUE, 0);
-
-  vbox11 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_ref (vbox11);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox11", vbox11,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox11);
-  gtk_container_add (GTK_CONTAINER (frame6), vbox11);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox11), 5);
-
-  radiobutton1 = gtk_radio_button_new_with_label (vbox11_group, _("DVD"));
-  vbox11_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton1));
-  gtk_widget_ref (radiobutton1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton1", radiobutton1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (radiobutton1);
-  gtk_box_pack_start (GTK_BOX (vbox11), radiobutton1, FALSE, FALSE, 0);
-
-  radiobutton2 = gtk_radio_button_new_with_label (vbox11_group, _("VCD"));
-  vbox11_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton2));
-  gtk_widget_ref (radiobutton2);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton2", radiobutton2,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (radiobutton2);
-  gtk_box_pack_start (GTK_BOX (vbox11), radiobutton2, FALSE, FALSE, 0);
-
-  frame7 = gtk_frame_new (_("Starting position"));
-  gtk_widget_ref (frame7);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame7", frame7,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame7);
-  gtk_box_pack_start (GTK_BOX (hbox5), frame7, TRUE, TRUE, 0);
-
-  table3 = gtk_table_new (2, 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 (frame7), 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 (_("Title"));
-  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, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label24), 0, 0.5);
-
-  label25 = gtk_label_new (_("Chapter"));
-  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, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label25), 0, 0.5);
-
-  spinbutton5_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
-  spinbutton5 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton5_adj), 1, 0);
-  gtk_widget_ref (spinbutton5);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "spinbutton5", spinbutton5,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (spinbutton5);
-  gtk_table_attach (GTK_TABLE (table3), spinbutton5, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  spinbutton6_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
-  spinbutton6 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton6_adj), 1, 0);
-  gtk_widget_ref (spinbutton6);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "spinbutton6", spinbutton6,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (spinbutton6);
-  gtk_table_attach (GTK_TABLE (table3), spinbutton6, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  hbox6 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox6);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox6", hbox6,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox6);
-  gtk_box_pack_start (GTK_BOX (vbox10), hbox6, TRUE, TRUE, 0);
-
-  label29 = gtk_label_new (_("Device name:"));
-  gtk_widget_ref (label29);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label29", label29,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label29);
-  gtk_box_pack_start (GTK_BOX (hbox6), label29, FALSE, FALSE, 0);
-
-  entry1 = gtk_entry_new ();
-  gtk_widget_ref (entry1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "entry1", entry1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (entry1);
-  gtk_box_pack_start (GTK_BOX (hbox6), entry1, TRUE, TRUE, 0);
-  gtk_entry_set_text (GTK_ENTRY (entry1), "/dev/dvd");
-
-  tab_disc = gtk_label_new (_("Disc"));
-  gtk_widget_ref (tab_disc);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "tab_disc", tab_disc,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (tab_disc);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (tab_open), gtk_notebook_get_nth_page (GTK_NOTEBOOK (tab_open), 0), tab_disc);
-
-  vbox12 = gtk_vbox_new (FALSE, 5);
-  gtk_widget_ref (vbox12);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "vbox12", vbox12,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox12);
-  gtk_container_add (GTK_CONTAINER (tab_open), vbox12);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox12), 5);
-
-  hbox7 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox7);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox7", hbox7,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox7);
-  gtk_box_pack_start (GTK_BOX (vbox12), hbox7, TRUE, TRUE, 0);
-
-  frame8 = gtk_frame_new (_("Protocol"));
-  gtk_widget_ref (frame8);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame8", frame8,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame8);
-  gtk_box_pack_start (GTK_BOX (hbox7), frame8, TRUE, TRUE, 0);
-
-  vbox13 = gtk_vbox_new (FALSE, 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_container_add (GTK_CONTAINER (frame8), vbox13);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox13), 5);
-
-  radiobutton3 = gtk_radio_button_new_with_label (vbox13_group, _("UDP stream"));
-  vbox13_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton3));
-  gtk_widget_ref (radiobutton3);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton3", radiobutton3,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (radiobutton3);
-  gtk_box_pack_start (GTK_BOX (vbox13), radiobutton3, FALSE, FALSE, 0);
-
-  radiobutton4 = gtk_radio_button_new_with_label (vbox13_group, _("HTTP"));
-  vbox13_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton4));
-  gtk_widget_ref (radiobutton4);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton4", radiobutton4,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (radiobutton4);
-  gtk_box_pack_start (GTK_BOX (vbox13), radiobutton4, FALSE, FALSE, 0);
-
-  radiobutton5 = gtk_radio_button_new_with_label (vbox13_group, _("RTP"));
-  vbox13_group = gtk_radio_button_group (GTK_RADIO_BUTTON (radiobutton5));
-  gtk_widget_ref (radiobutton5);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "radiobutton5", radiobutton5,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (radiobutton5);
-  gtk_box_pack_start (GTK_BOX (vbox13), radiobutton5, FALSE, FALSE, 0);
-
-  frame9 = gtk_frame_new (_("Server"));
-  gtk_widget_ref (frame9);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame9", frame9,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame9);
-  gtk_box_pack_start (GTK_BOX (hbox7), frame9, TRUE, TRUE, 0);
-
-  vbox14 = gtk_vbox_new (FALSE, 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_container_add (GTK_CONTAINER (frame9), vbox14);
-
-  table4 = gtk_table_new (2, 2, 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_box_pack_start (GTK_BOX (vbox14), table4, TRUE, TRUE, 0);
-  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);
-
-  label26 = gtk_label_new (_("Address"));
-  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 (table4), label26, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label26), 0, 0.5);
-
-  label27 = gtk_label_new (_("Port"));
-  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 (table4), label27, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.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_table_attach (GTK_TABLE (table4), combo1, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  combo_entry1 = GTK_COMBO (combo1)->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);
-
-  spinbutton7_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
-  spinbutton7 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton7_adj), 1, 0);
-  gtk_widget_ref (spinbutton7);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "spinbutton7", spinbutton7,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (spinbutton7);
-  gtk_table_attach (GTK_TABLE (table4), spinbutton7, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  frame10 = gtk_frame_new (_("Broadcast"));
-  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 (vbox12), frame10, TRUE, TRUE, 0);
-
-  hbox8 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox8);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox8", hbox8,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox8);
-  gtk_container_add (GTK_CONTAINER (frame10), hbox8);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox8), 5);
-
-  checkbutton2 = gtk_check_button_new_with_label (_("Broadcast"));
-  gtk_widget_ref (checkbutton2);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "checkbutton2", checkbutton2,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (checkbutton2);
-  gtk_box_pack_start (GTK_BOX (hbox8), checkbutton2, FALSE, FALSE, 0);
-
-  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 (hbox8), combo3, TRUE, TRUE, 0);
-
-  combo_entry3 = GTK_COMBO (combo3)->entry;
-  gtk_widget_ref (combo_entry3);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo_entry3", combo_entry3,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo_entry3);
-
-  frame11 = gtk_frame_new (_("Channels"));
-  gtk_widget_ref (frame11);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "frame11", frame11,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame11);
-  gtk_box_pack_start (GTK_BOX (vbox12), frame11, TRUE, TRUE, 0);
-
-  hbox9 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox9);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "hbox9", hbox9,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox9);
-  gtk_container_add (GTK_CONTAINER (frame11), hbox9);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox9), 5);
-
-  checkbutton1 = gtk_check_button_new_with_label (_("Channel server"));
-  gtk_widget_ref (checkbutton1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "checkbutton1", checkbutton1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (checkbutton1);
-  gtk_box_pack_start (GTK_BOX (hbox9), checkbutton1, 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 (hbox9), combo2, TRUE, TRUE, 0);
-
-  combo_entry2 = GTK_COMBO (combo2)->entry;
-  gtk_widget_ref (combo_entry2);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "combo_entry2", combo_entry2,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo_entry2);
-
-  label28 = gtk_label_new (_("Port"));
-  gtk_widget_ref (label28);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label28", label28,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label28);
-  gtk_box_pack_start (GTK_BOX (hbox9), label28, FALSE, FALSE, 0);
-
-  spinbutton8_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10);
-  spinbutton8 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton8_adj), 1, 0);
-  gtk_widget_ref (spinbutton8);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "spinbutton8", spinbutton8,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (spinbutton8);
-  gtk_box_pack_start (GTK_BOX (hbox9), spinbutton8, TRUE, TRUE, 0);
-
-  tab_network = gtk_label_new (_("Network"));
-  gtk_widget_ref (tab_network);
-  gtk_object_set_data_full (GTK_OBJECT (intf_open), "tab_network", tab_network,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (tab_network);
-  gtk_notebook_set_tab_label (GTK_NOTEBOOK (tab_open), gtk_notebook_get_nth_page (GTK_NOTEBOOK (tab_open), 1), tab_network);
-
-  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);
-
-  return intf_open;
-}
-
-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);
+  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);
@@ -2617,211 +2419,14 @@ create_intf_messages (void)
 
   gtk_signal_connect (GTK_OBJECT (intf_messages), "destroy",
                       GTK_SIGNAL_FUNC (gtk_widget_hide),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (intf_messages), "delete_event",
                       GTK_SIGNAL_FUNC (gtk_widget_hide),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (messages_ok), "clicked",
                       GTK_SIGNAL_FUNC (GtkMessagesOk),
-                      "intf_messages");
+                      NULL);
 
   return intf_messages;
 }
 
-GtkWidget*
-create_intf_sat (void)
-{
-  GtkWidget *intf_sat;
-  GtkWidget *vbox15;
-  GtkWidget *hbox10;
-  GtkWidget *frame13;
-  GtkWidget *table5;
-  GtkWidget *label30;
-  GtkObject *sat_freq_adj;
-  GtkWidget *sat_freq;
-  GtkWidget *label31;
-  GSList *pol_group = NULL;
-  GtkWidget *sat_pol_hor;
-  GtkWidget *sat_pol_vert;
-  GtkWidget *label33;
-  GtkObject *sat_srate_adj;
-  GtkWidget *sat_srate;
-  GtkWidget *label35;
-  GtkWidget *sat_fec;
-  GList *sat_fec_items = NULL;
-  GtkWidget *combo_entry4;
-  GtkWidget *hbuttonbox2;
-  GtkWidget *sat_ok;
-  GtkWidget *sat_cancel;
-
-  intf_sat = gnome_dialog_new (_("Open Satellite Card"), NULL);
-  gtk_object_set_data (GTK_OBJECT (intf_sat), "intf_sat", intf_sat);
-  gtk_window_set_modal (GTK_WINDOW (intf_sat), TRUE);
-  gtk_window_set_policy (GTK_WINDOW (intf_sat), FALSE, FALSE, FALSE);
-
-  vbox15 = GNOME_DIALOG (intf_sat)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_sat), "vbox15", vbox15);
-  gtk_widget_show (vbox15);
-
-  hbox10 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox10);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "hbox10", hbox10,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox10);
-  gtk_box_pack_start (GTK_BOX (vbox15), hbox10, TRUE, TRUE, 0);
-
-  frame13 = gtk_frame_new (_("Transponder settings"));
-  gtk_widget_ref (frame13);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "frame13", frame13,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame13);
-  gtk_box_pack_start (GTK_BOX (hbox10), frame13, TRUE, TRUE, 0);
-
-  table5 = gtk_table_new (5, 2, FALSE);
-  gtk_widget_ref (table5);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "table5", table5,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (table5);
-  gtk_container_add (GTK_CONTAINER (frame13), 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);
-
-  label30 = gtk_label_new (_("Frequency"));
-  gtk_widget_ref (label30);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "label30", label30,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label30);
-  gtk_table_attach (GTK_TABLE (table5), label30, 0, 1, 0, 1,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label30), 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_sat), "sat_freq", sat_freq,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_freq);
-  gtk_table_attach (GTK_TABLE (table5), sat_freq, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  label31 = gtk_label_new (_("Polarization"));
-  gtk_widget_ref (label31);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "label31", label31,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label31);
-  gtk_table_attach (GTK_TABLE (table5), label31, 0, 1, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label31), 0, 0.5);
-
-  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_sat), "sat_pol_hor", sat_pol_hor,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_pol_hor);
-  gtk_table_attach (GTK_TABLE (table5), sat_pol_hor, 1, 2, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 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_sat), "sat_pol_vert", sat_pol_vert,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_pol_vert);
-  gtk_table_attach (GTK_TABLE (table5), sat_pol_vert, 1, 2, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sat_pol_vert), TRUE);
-
-  label33 = gtk_label_new (_("Symbol Rate"));
-  gtk_widget_ref (label33);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "label33", label33,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label33);
-  gtk_table_attach (GTK_TABLE (table5), label33, 0, 1, 1, 2,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5);
-
-  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_sat), "sat_srate", sat_srate,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_srate);
-  gtk_table_attach (GTK_TABLE (table5), sat_srate, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  label35 = gtk_label_new (_("FEC"));
-  gtk_widget_ref (label35);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "label35", label35,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label35);
-  gtk_table_attach (GTK_TABLE (table5), label35, 0, 1, 4, 5,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label35), 0, 0.5);
-
-  sat_fec = gtk_combo_new ();
-  gtk_widget_ref (sat_fec);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "sat_fec", sat_fec,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_fec);
-  gtk_table_attach (GTK_TABLE (table5), sat_fec, 1, 2, 4, 5,
-                    (GtkAttachOptions) (GTK_EXPAND | 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) "6/7");
-  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_entry4 = GTK_COMBO (sat_fec)->entry;
-  gtk_widget_ref (combo_entry4);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "combo_entry4", combo_entry4,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo_entry4);
-  gtk_entry_set_text (GTK_ENTRY (combo_entry4), "3/4");
-
-  hbuttonbox2 = GNOME_DIALOG (intf_sat)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_sat), "hbuttonbox2", hbuttonbox2);
-  gtk_widget_show (hbuttonbox2);
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox2), GTK_BUTTONBOX_END);
-  gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbuttonbox2), 8);
-
-  gnome_dialog_append_button (GNOME_DIALOG (intf_sat), GNOME_STOCK_BUTTON_OK);
-  sat_ok = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_sat)->buttons)->data);
-  gtk_widget_ref (sat_ok);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "sat_ok", sat_ok,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_ok);
-  GTK_WIDGET_SET_FLAGS (sat_ok, GTK_CAN_DEFAULT);
-
-  gnome_dialog_append_button (GNOME_DIALOG (intf_sat), GNOME_STOCK_BUTTON_CANCEL);
-  sat_cancel = GTK_WIDGET (g_list_last (GNOME_DIALOG (intf_sat)->buttons)->data);
-  gtk_widget_ref (sat_cancel);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "sat_cancel", sat_cancel,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_cancel);
-  GTK_WIDGET_SET_FLAGS (sat_cancel, GTK_CAN_DEFAULT);
-
-  gtk_signal_connect (GTK_OBJECT (sat_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkSatOpenOk),
-                      "intf_disc");
-  gtk_signal_connect (GTK_OBJECT (sat_cancel), "clicked",
-                      GTK_SIGNAL_FUNC (GtkSatOpenCancel),
-                      "intf_disc");
-
-  return intf_sat;
-}
-
index aed17c0128d5fde79eda7cd6b6414cc0f8283903..a6a2317bcd5a278c9ebbf5667173137c8a590c1f 100644 (file)
@@ -5,12 +5,9 @@
 GtkWidget* create_intf_window (void);
 GtkWidget* create_intf_popup (void);
 GtkWidget* create_intf_about (void);
-GtkWidget* create_intf_fileopen (void);
+GtkWidget* create_intf_open (void);
+GtkWidget* create_intf_file (void);
 GtkWidget* create_intf_modules (void);
-GtkWidget* create_intf_disc (void);
-GtkWidget* create_intf_network (void);
 GtkWidget* create_intf_playlist (void);
 GtkWidget* create_intf_jump (void);
-GtkWidget* create_intf_open (void);
 GtkWidget* create_intf_messages (void);
-GtkWidget* create_intf_sat (void);
index 32fc3ae75900ece1906bdc674d1e7fa1430e3387..bc20d525954f3189d8b983ede24a24fa05445cfd 100644 (file)
@@ -2,7 +2,7 @@
  * gtk.c : Gtk+ plugin for vlc
  *****************************************************************************
  * Copyright (C) 2000-2001 VideoLAN
- * $Id: gtk.c,v 1.28 2002/07/02 19:16:47 sam Exp $
+ * $Id: gtk.c,v 1.29 2002/07/11 19:28:13 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -284,10 +284,7 @@ static void intf_Run( intf_thread_t *p_intf )
     /* 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_fileopen = NULL;
-    p_intf->p_sys->p_disc = NULL;
-    p_intf->p_sys->p_sat = NULL;
-    p_intf->p_sys->p_network = NULL;
+    p_intf->p_sys->p_open = NULL;
     p_intf->p_sys->p_jump = NULL;
 
     /* Hide tooltips if the option is set */
@@ -359,7 +356,7 @@ static gint GtkManage( gpointer p_data )
         {
             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 );
+                                 "p_intf", p_intf );
         }
         gtk_menu_popup( GTK_MENU( p_intf->p_sys->p_popup ),
                         NULL, NULL, NULL, NULL, 0, GDK_CURRENT_TIME );
index e112c17d502a9df6d6dab032cc33b0ff56506aee..ab5b3b7c16b51c87bca40748ac1275f0160a242d 100644 (file)
   <signal>
     <name>drag_data_received</name>
     <handler>GtkWindowDrag</handler>
-    <data>&quot;intf_window&quot;</data>
-    <last_modification_time>Sun, 13 May 2001 17:09:36 GMT</last_modification_time>
+    <last_modification_time>Tue, 09 Jul 2002 09:09:48 GMT</last_modification_time>
   </signal>
   <signal>
     <name>delete_event</name>
     <handler>GtkWindowDelete</handler>
-    <data>&quot;intf_window&quot;</data>
-    <last_modification_time>Sun, 13 May 2001 17:09:48 GMT</last_modification_time>
+    <last_modification_time>Tue, 09 Jul 2002 09:09:53 GMT</last_modification_time>
   </signal>
   <title>VideoLAN Client</title>
   <type>GTK_WINDOW_TOPLEVEL</type>
@@ -89,7 +87,6 @@
              <signal>
                <name>activate</name>
                <handler>GtkFileOpenShow</handler>
-               <data>&quot;intf_window&quot;</data>
                <last_modification_time>Mon, 14 May 2001 21:27:36 GMT</last_modification_time>
              </signal>
              <label>_Open File...</label>
              <signal>
                <name>activate</name>
                <handler>GtkDiscOpenShow</handler>
-               <data>&quot;intf_window&quot;</data>
                <last_modification_time>Mon, 14 May 2001 21:27:47 GMT</last_modification_time>
              </signal>
              <label>Open _Disc...</label>
              <signal>
                <name>activate</name>
                <handler>GtkNetworkOpenShow</handler>
-               <data>&quot;intf_window&quot;</data>
                <last_modification_time>Mon, 14 May 2001 21:28:06 GMT</last_modification_time>
              </signal>
              <label>_Network Stream...</label>
              <signal>
                <name>activate</name>
                <handler>GtkDiscEject</handler>
-               <data>&quot;intf_window&quot;</data>
                <last_modification_time>Fri, 21 Dec 2001 12:51:34 GMT</last_modification_time>
              </signal>
              <label>_Eject Disc</label>
              <signal>
                <name>activate</name>
                <handler>GtkExit</handler>
-               <data>&quot;intf_window&quot;</data>
                <last_modification_time>Mon, 14 May 2001 21:28:20 GMT</last_modification_time>
              </signal>
              <label>E_xit</label>
              <signal>
                <name>activate</name>
                <handler>GtkWindowToggle</handler>
-               <data>&quot;intf_window&quot;</data>
                <last_modification_time>Mon, 14 May 2001 21:32:49 GMT</last_modification_time>
              </signal>
              <label>_Hide interface</label>
              <signal>
                <name>activate</name>
                <handler>GtkFullscreen</handler>
-               <data>&quot;intf_window&quot;</data>
                <last_modification_time>Mon, 14 May 2001 21:29:21 GMT</last_modification_time>
              </signal>
              <label>_Fullscreen</label>
              <signal>
                <name>activate</name>
                <handler>GtkPlaylistShow</handler>
-               <data>&quot;intf_window&quot;</data>
                <last_modification_time>Mon, 14 May 2001 21:29:34 GMT</last_modification_time>
              </signal>
              <label>_Playlist...</label>
              <signal>
                <name>activate</name>
                <handler>GtkModulesShow</handler>
-               <data>&quot;intf_window&quot;</data>
                <last_modification_time>Mon, 14 May 2001 21:29:44 GMT</last_modification_time>
              </signal>
              <label>_Modules...</label>
              <signal>
                <name>activate</name>
                <handler>GtkMessagesShow</handler>
-               <data>&quot;intf_window&quot;</data>
                <last_modification_time>Tue, 19 Feb 2002 02:03:47 GMT</last_modification_time>
              </signal>
              <label>Messages...</label>
              <signal>
                <name>activate</name>
                <handler>GtkPreferencesShow</handler>
-               <data>&quot;intf_window&quot;</data>
                <last_modification_time>Mon, 14 May 2001 21:30:02 GMT</last_modification_time>
              </signal>
              <label>_Preferences...</label>
              <signal>
                <name>activate</name>
                <handler>GtkAboutShow</handler>
-               <data>&quot;intf_window&quot;</data>
                <last_modification_time>Mon, 14 May 2001 21:30:15 GMT</last_modification_time>
              </signal>
              <label>_About...</label>
          <signal>
            <name>clicked</name>
            <handler>GtkFileOpenShow</handler>
-           <data>&quot;intf_window&quot;</data>
-           <last_modification_time>Sun, 13 May 2001 15:10:21 GMT</last_modification_time>
+           <last_modification_time>Mon, 08 Jul 2002 16:14:58 GMT</last_modification_time>
          </signal>
          <label>File</label>
        </widget>
          <signal>
            <name>clicked</name>
            <handler>GtkDiscOpenShow</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 15:10:30 GMT</last_modification_time>
          </signal>
          <label>Disc</label>
          <signal>
            <name>clicked</name>
            <handler>GtkNetworkOpenShow</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 15:10:37 GMT</last_modification_time>
          </signal>
          <label>Net</label>
          <signal>
            <name>clicked</name>
            <handler>GtkSatOpenShow</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 24 Mar 2002 15:08:57 GMT</last_modification_time>
          </signal>
          <label>Sat</label>
          <signal>
            <name>clicked</name>
            <handler>GtkControlBack</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 15:10:47 GMT</last_modification_time>
          </signal>
          <label>Back</label>
          <signal>
            <name>clicked</name>
            <handler>GtkControlStop</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 15:10:57 GMT</last_modification_time>
          </signal>
          <label>Stop</label>
          <signal>
            <name>clicked</name>
            <handler>GtkDiscEject</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Fri, 21 Dec 2001 15:33:26 GMT</last_modification_time>
          </signal>
          <label>Eject</label>
          <signal>
            <name>clicked</name>
            <handler>GtkControlPlay</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 15:11:06 GMT</last_modification_time>
          </signal>
          <label>Play</label>
          <signal>
            <name>clicked</name>
            <handler>GtkControlPause</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 15:11:13 GMT</last_modification_time>
          </signal>
          <label>Pause</label>
          <signal>
            <name>clicked</name>
            <handler>GtkControlSlow</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 15:11:20 GMT</last_modification_time>
          </signal>
          <label>Slow</label>
          <signal>
            <name>clicked</name>
            <handler>GtkControlFast</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 15:11:31 GMT</last_modification_time>
          </signal>
          <label>Fast</label>
          <signal>
            <name>clicked</name>
            <handler>GtkPlaylistShow</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 15:11:38 GMT</last_modification_time>
          </signal>
          <label>Playlist</label>
          <signal>
            <name>clicked</name>
            <handler>GtkPlaylistPrev</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 15:11:45 GMT</last_modification_time>
          </signal>
          <label>Prev</label>
          <signal>
            <name>clicked</name>
            <handler>GtkPlaylistNext</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 15:11:58 GMT</last_modification_time>
          </signal>
          <label>Next</label>
        <signal>
          <name>button_release_event</name>
          <handler>GtkSliderRelease</handler>
-         <data>&quot;intf_window&quot;</data>
          <last_modification_time>Sun, 13 May 2001 14:40:22 GMT</last_modification_time>
        </signal>
        <signal>
          <name>button_press_event</name>
          <handler>GtkSliderPress</handler>
-         <data>&quot;intf_window&quot;</data>
          <last_modification_time>Sun, 13 May 2001 14:40:38 GMT</last_modification_time>
        </signal>
        <draw_value>False</draw_value>
          <signal>
            <name>clicked</name>
            <handler>GtkTitlePrev</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 14:41:41 GMT</last_modification_time>
          </signal>
          <label>Prev</label>
          <signal>
            <name>clicked</name>
            <handler>GtkTitleNext</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 14:42:00 GMT</last_modification_time>
          </signal>
          <label>Next</label>
          <signal>
            <name>clicked</name>
            <handler>GtkChapterPrev</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 14:42:25 GMT</last_modification_time>
          </signal>
          <label>Prev</label>
          <signal>
            <name>clicked</name>
            <handler>GtkChapterNext</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Sun, 13 May 2001 14:42:42 GMT</last_modification_time>
          </signal>
          <label>Next</label>
          <signal>
            <name>activate</name>
            <handler>GtkNetworkJoin</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Wed, 30 May 2001 02:48:10 GMT</last_modification_time>
          </signal>
          <climb_rate>1</climb_rate>
          <signal>
            <name>clicked</name>
            <handler>GtkChannelGo</handler>
-           <data>&quot;intf_window&quot;</data>
            <last_modification_time>Wed, 30 May 2001 02:49:18 GMT</last_modification_time>
          </signal>
          <label>Go!</label>
     <signal>
       <name>activate</name>
       <handler>GtkControlPlay</handler>
-      <data>&quot;intf_popup&quot;</data>
       <last_modification_time>Tue, 15 May 2001 13:53:43 GMT</last_modification_time>
     </signal>
     <label>_Play</label>
     <signal>
       <name>activate</name>
       <handler>GtkControlPause</handler>
-      <data>&quot;intf_popup&quot;</data>
       <last_modification_time>Tue, 15 May 2001 13:53:37 GMT</last_modification_time>
     </signal>
     <label>Pause</label>
     <signal>
       <name>activate</name>
       <handler>GtkControlStop</handler>
-      <data>&quot;intf_popup&quot;</data>
       <last_modification_time>Tue, 15 May 2001 13:53:29 GMT</last_modification_time>
     </signal>
     <label>Stop</label>
     <signal>
       <name>activate</name>
       <handler>GtkControlBack</handler>
-      <data>&quot;intf_popup&quot;</data>
       <last_modification_time>Tue, 15 May 2001 13:53:21 GMT</last_modification_time>
     </signal>
     <label>Back</label>
     <signal>
       <name>activate</name>
       <handler>GtkControlSlow</handler>
-      <data>&quot;intf_popup&quot;</data>
       <last_modification_time>Tue, 15 May 2001 13:53:15 GMT</last_modification_time>
     </signal>
     <label>Slow</label>
     <signal>
       <name>activate</name>
       <handler>GtkControlFast</handler>
-      <data>&quot;intf_popup&quot;</data>
       <last_modification_time>Tue, 15 May 2001 13:53:07 GMT</last_modification_time>
     </signal>
     <label>Fast</label>
     <signal>
       <name>activate</name>
       <handler>GtkWindowToggle</handler>
-      <data>&quot;intf_popup&quot;</data>
       <last_modification_time>Tue, 15 May 2001 13:53:00 GMT</last_modification_time>
     </signal>
     <label>Toggle _Interface</label>
     <signal>
       <name>activate</name>
       <handler>GtkFullscreen</handler>
-      <data>&quot;intf_popup&quot;</data>
       <last_modification_time>Tue, 15 May 2001 13:52:38 GMT</last_modification_time>
     </signal>
     <label>_Fullscreen</label>
     <signal>
       <name>activate</name>
       <handler>GtkPlaylistNext</handler>
-      <data>&quot;intf_popup&quot;</data>
       <last_modification_time>Tue, 15 May 2001 13:52:31 GMT</last_modification_time>
     </signal>
     <label>Next</label>
     <signal>
       <name>activate</name>
       <handler>GtkPlaylistPrev</handler>
-      <data>&quot;intf_popup&quot;</data>
       <last_modification_time>Tue, 15 May 2001 13:52:23 GMT</last_modification_time>
     </signal>
     <label>Prev</label>
     <signal>
       <name>activate</name>
       <handler>GtkJumpShow</handler>
-      <data>&quot;intf_popup&quot;</data>
       <last_modification_time>Tue, 15 May 2001 13:52:13 GMT</last_modification_time>
     </signal>
     <label>_Jump...</label>
        <signal>
          <name>activate</name>
          <handler>GtkFileOpenShow</handler>
-         <data>&quot;intf_popup&quot;</data>
          <last_modification_time>Mon, 14 May 2001 21:33:55 GMT</last_modification_time>
        </signal>
        <label>_Open File...</label>
        <signal>
          <name>activate</name>
          <handler>GtkDiscOpenShow</handler>
-         <data>&quot;intf_popup&quot;</data>
          <last_modification_time>Mon, 14 May 2001 21:34:09 GMT</last_modification_time>
        </signal>
        <label>Open _Disc...</label>
        <signal>
          <name>activate</name>
          <handler>GtkNetworkOpenShow</handler>
-         <data>&quot;intf_popup&quot;</data>
          <last_modification_time>Mon, 14 May 2001 21:34:23 GMT</last_modification_time>
        </signal>
        <label>_Network Stream...</label>
        <signal>
          <name>activate</name>
          <handler>GtkAboutShow</handler>
-         <data>&quot;intf_popup&quot;</data>
          <last_modification_time>Mon, 14 May 2001 21:34:54 GMT</last_modification_time>
        </signal>
        <label>_About...</label>
     <signal>
       <name>activate</name>
       <handler>GtkPlaylistShow</handler>
-      <data>&quot;intf_popup&quot;</data>
       <last_modification_time>Tue, 15 May 2001 13:51:55 GMT</last_modification_time>
     </signal>
     <label>Playlist...</label>
     <signal>
       <name>activate</name>
       <handler>GtkPreferencesShow</handler>
-      <data>&quot;intf_popup&quot;</data>
       <last_modification_time>Tue, 15 May 2001 13:51:46 GMT</last_modification_time>
     </signal>
     <label>_Preferences...</label>
     <signal>
       <name>activate</name>
       <handler>GtkExit</handler>
-      <data>&quot;intf_popup&quot;</data>
       <last_modification_time>Tue, 15 May 2001 13:52:03 GMT</last_modification_time>
     </signal>
     <label>E_xit</label>
        <signal>
          <name>clicked</name>
          <handler>GtkAboutOk</handler>
-         <data>&quot;intf_about&quot;</data>
          <last_modification_time>Sun, 13 May 2001 14:47:20 GMT</last_modification_time>
        </signal>
        <label>OK</label>
@@ -1475,75 +1420,29 @@ http://www.videolan.org/</label>
   </widget>
 </widget>
 
-<widget>
-  <class>GtkFileSelection</class>
-  <name>intf_fileopen</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>fileopen_ok</name>
-    <can_default>True</can_default>
-    <can_focus>True</can_focus>
-    <signal>
-      <name>clicked</name>
-      <handler>GtkFileOpenOk</handler>
-      <data>&quot;intf_fileopen&quot;</data>
-      <last_modification_time>Sun, 13 May 2001 14:47:46 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>fileopen_cancel</name>
-    <can_default>True</can_default>
-    <can_focus>True</can_focus>
-    <signal>
-      <name>clicked</name>
-      <handler>GtkFileOpenCancel</handler>
-      <data>&quot;intf_fileopen&quot;</data>
-      <last_modification_time>Sun, 13 May 2001 14:47:55 GMT</last_modification_time>
-    </signal>
-    <label>Cancel</label>
-    <relief>GTK_RELIEF_NORMAL</relief>
-  </widget>
-</widget>
-
 <widget>
   <class>GtkDialog</class>
-  <name>intf_disc</name>
-  <title>Open Disc</title>
+  <name>intf_open</name>
+  <border_width>5</border_width>
+  <title>Open Target</title>
   <type>GTK_WINDOW_TOPLEVEL</type>
   <position>GTK_WIN_POS_NONE</position>
-  <modal>True</modal>
+  <modal>False</modal>
   <allow_shrink>False</allow_shrink>
-  <allow_grow>False</allow_grow>
+  <allow_grow>True</allow_grow>
   <auto_shrink>False</auto_shrink>
 
   <widget>
     <class>GtkVBox</class>
     <child_name>Dialog:vbox</child_name>
-    <name>dialog-vbox2</name>
-    <border_width>5</border_width>
+    <name>dialog-vbox7</name>
     <homogeneous>False</homogeneous>
     <spacing>0</spacing>
 
     <widget>
       <class>GtkHBox</class>
       <child_name>Dialog:action_area</child_name>
-      <name>dialog-action_area1</name>
+      <name>dialog-action_area6</name>
       <border_width>5</border_width>
       <homogeneous>True</homogeneous>
       <spacing>5</spacing>
@@ -1556,60 +1455,74 @@ http://www.videolan.org/</label>
 
       <widget>
        <class>GtkHBox</class>
-       <name>hbox1</name>
+       <name>hbox18</name>
        <homogeneous>True</homogeneous>
        <spacing>5</spacing>
        <child>
          <padding>0</padding>
-         <expand>False</expand>
+         <expand>True</expand>
          <fill>True</fill>
-         <pack>GTK_PACK_END</pack>
        </child>
 
        <widget>
-         <class>GtkButton</class>
-         <name>disc_ok</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkDiscOpenOk</handler>
-           <data>&quot;intf_disc&quot;</data>
-           <last_modification_time>Sun, 13 May 2001 14:48:09 GMT</last_modification_time>
-         </signal>
-         <label>OK</label>
-         <relief>GTK_RELIEF_NORMAL</relief>
+         <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>
 
-       <widget>
-         <class>GtkButton</class>
-         <name>disc_cancel</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkDiscOpenCancel</handler>
-           <data>&quot;intf_disc&quot;</data>
-           <last_modification_time>Sun, 13 May 2001 14:48:17 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>
+           <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>vbox4</name>
-      <border_width>5</border_width>
+      <name>open_vbox</name>
       <homogeneous>False</homogeneous>
       <spacing>5</spacing>
       <child>
@@ -1619,384 +1532,514 @@ http://www.videolan.org/</label>
       </child>
 
       <widget>
-       <class>GtkHBox</class>
-       <name>hbox3</name>
-       <homogeneous>False</homogeneous>
-       <spacing>5</spacing>
+       <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>True</expand>
+         <expand>False</expand>
          <fill>True</fill>
        </child>
 
        <widget>
-         <class>GtkFrame</class>
-         <name>frame2</name>
-         <label>Disc type</label>
-         <label_xalign>0</label_xalign>
-         <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-         <child>
-           <padding>0</padding>
-           <expand>True</expand>
-           <fill>True</fill>
-         </child>
+         <class>GtkHBox</class>
+         <name>hbox21</name>
+         <border_width>5</border_width>
+         <homogeneous>False</homogeneous>
+         <spacing>5</spacing>
 
          <widget>
-           <class>GtkVBox</class>
-           <name>vbox5</name>
+           <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>GtkRadioButton</class>
-             <name>disc_dvd</name>
-             <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkDiscOpenDvd</handler>
-               <data>&quot;intf_disc&quot;</data>
-               <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>
+             <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>GtkRadioButton</class>
-             <name>disc_vcd</name>
+             <class>GtkEntry</class>
+             <child_name>GtkCombo:entry</child_name>
+             <name>entry_open</name>
              <can_focus>True</can_focus>
-             <signal>
-               <name>toggled</name>
-               <handler>GtkDiscOpenVcd</handler>
-               <data>&quot;intf_disc&quot;</data>
-               <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>
+             <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>GtkFrame</class>
-         <name>frame3</name>
-         <label>Starting position</label>
-         <label_xalign>0</label_xalign>
-         <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type>
-         <child>
-           <padding>0</padding>
-           <expand>True</expand>
-           <fill>True</fill>
-         </child>
+         <class>GtkHBox</class>
+         <name>hbox20</name>
+         <border_width>5</border_width>
+         <homogeneous>False</homogeneous>
+         <spacing>5</spacing>
 
          <widget>
-           <class>GtkTable</class>
-           <name>table1</name>
-           <border_width>5</border_width>
-           <rows>2</rows>
-           <columns>2</columns>
-           <homogeneous>False</homogeneous>
-           <row_spacing>5</row_spacing>
-           <column_spacing>5</column_spacing>
+           <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>GtkSpinButton</class>
-             <name>disc_title</name>
+             <class>GtkEntry</class>
+             <child_name>GtkCombo:entry</child_name>
+             <name>entry_file</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>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>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>
+             <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>GtkSpinButton</class>
-             <name>disc_chapter</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>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>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>
+             <class>Placeholder</class>
            </widget>
 
            <widget>
-             <class>GtkLabel</class>
-             <name>label20</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>
+             <class>GtkButton</class>
+             <name>open_browse</name>
+             <can_focus>True</can_focus>
+             <signal>
+               <name>clicked</name>
+               <handler>GtkFileShow</handler>
+               <last_modification_time>Wed, 10 Jul 2002 11:37:05 GMT</last_modification_time>
+             </signal>
+             <label>Browse...</label>
+             <relief>GTK_RELIEF_NORMAL</relief>
              <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>
+               <padding>0</padding>
+               <expand>False</expand>
+               <fill>False</fill>
              </child>
            </widget>
 
            <widget>
-             <class>GtkLabel</class>
-             <name>label21</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>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>
+             <class>Placeholder</class>
            </widget>
          </widget>
        </widget>
-      </widget>
-
-      <widget>
-       <class>GtkHBox</class>
-       <name>hbox2</name>
-       <homogeneous>False</homogeneous>
-       <spacing>5</spacing>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
 
        <widget>
          <class>GtkLabel</class>
-         <name>label19</name>
-         <label>Device name</label>
+         <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>
-         <child>
-           <padding>0</padding>
-           <expand>False</expand>
-           <fill>False</fill>
-         </child>
        </widget>
 
        <widget>
-         <class>GtkEntry</class>
-         <name>disc_name</name>
-         <can_focus>True</can_focus>
-         <editable>True</editable>
-         <text_visible>True</text_visible>
-         <text_max_length>0</text_max_length>
-         <text>/dev/dvd</text>
-         <child>
-           <padding>0</padding>
-           <expand>True</expand>
-           <fill>True</fill>
-         </child>
-       </widget>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
-<widget>
-  <class>GtkDialog</class>
-  <name>intf_network</name>
-  <title>Open Network</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>
+         <class>GtkTable</class>
+         <name>table5</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>GtkVBox</class>
-    <child_name>Dialog:vbox</child_name>
-    <name>vbox7</name>
-    <border_width>5</border_width>
-    <homogeneous>False</homogeneous>
-    <spacing>0</spacing>
+         <widget>
+           <class>GtkLabel</class>
+           <name>label21</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>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>GtkHBox</class>
-      <child_name>Dialog:action_area</child_name>
-      <name>hbox4</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>GtkLabel</class>
+           <name>label20</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>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>hbox5</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>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>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>GtkButton</class>
-         <name>network_ok</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkNetworkOpenOk</handler>
-           <data>&quot;intf_network&quot;</data>
-           <last_modification_time>Sun, 13 May 2001 14:49:35 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>
+           <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>
+
+         <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>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>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>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>
 
        <widget>
-         <class>GtkButton</class>
-         <name>network_cancel</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkNetworkOpenCancel</handler>
-           <data>&quot;intf_network&quot;</data>
-           <last_modification_time>Sun, 13 May 2001 14:49:44 GMT</last_modification_time>
-         </signal>
-         <label>Cancel</label>
-         <relief>GTK_RELIEF_NORMAL</relief>
-         <child>
-           <padding>0</padding>
-           <expand>False</expand>
-           <fill>True</fill>
-         </child>
+         <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>
-    </widget>
-
-    <widget>
-      <class>GtkVBox</class>
-      <name>vbox8</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>GtkFrame</class>
-       <name>frame9</name>
-       <label>Network mode</label>
-       <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>table4</name>
-         <border_width>9</border_width>
+         <border_width>5</border_width>
          <rows>4</rows>
          <columns>6</columns>
          <homogeneous>False</homogeneous>
-         <row_spacing>0</row_spacing>
-         <column_spacing>6</column_spacing>
+         <row_spacing>5</row_spacing>
+         <column_spacing>5</column_spacing>
 
          <widget>
            <class>GtkRadioButton</class>
@@ -2005,7 +2048,6 @@ http://www.videolan.org/</label>
            <signal>
              <name>toggled</name>
              <handler>GtkNetworkOpenUDP</handler>
-             <data>&quot;intf_network&quot;</data>
              <last_modification_time>Thu, 16 May 2002 00:47:18 GMT</last_modification_time>
            </signal>
            <label>UDP</label>
@@ -2034,7 +2076,6 @@ http://www.videolan.org/</label>
            <signal>
              <name>toggled</name>
              <handler>GtkNetworkOpenMulticast</handler>
-             <data>&quot;intf_network&quot;</data>
              <last_modification_time>Thu, 16 May 2002 00:47:05 GMT</last_modification_time>
            </signal>
            <label>UDP Multicast</label>
@@ -2063,7 +2104,6 @@ http://www.videolan.org/</label>
            <signal>
              <name>toggled</name>
              <handler>GtkNetworkOpenChannel</handler>
-             <data>&quot;intf_network&quot;</data>
              <last_modification_time>Thu, 16 May 2002 01:44:15 GMT</last_modification_time>
            </signal>
            <label>Channel server </label>
@@ -2092,7 +2132,6 @@ http://www.videolan.org/</label>
            <signal>
              <name>toggled</name>
              <handler>GtkNetworkOpenHTTP</handler>
-             <data>&quot;intf_network&quot;</data>
              <last_modification_time>Thu, 16 May 2002 00:47:42 GMT</last_modification_time>
            </signal>
            <label>HTTP</label>
@@ -2233,9 +2272,229 @@ http://www.videolan.org/</label>
            <items></items>
            <child>
              <left_attach>2</left_attach>
-             <right_attach>4</right_attach>
-             <top_attach>1</top_attach>
-             <bottom_attach>2</bottom_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>GtkCombo</class>
+           <name>network_channel_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>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>
+             <class>GtkEntry</class>
+             <child_name>GtkCombo:entry</child_name>
+             <name>network_channel_address</name>
+             <can_focus>True</can_focus>
+             <signal>
+               <name>changed</name>
+               <handler>GtkOpenChanged</handler>
+               <last_modification_time>Tue, 09 Jul 2002 13:57:16 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>GtkLabel</class>
+           <name>network_channel_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>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>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>GtkSpinButton</class>
+           <name>network_channel_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:45 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>6010</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>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>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>3</top_attach>
+             <bottom_attach>4</bottom_attach>
              <xpad>0</xpad>
              <ypad>0</ypad>
              <xexpand>True</xexpand>
@@ -2245,17 +2504,6 @@ http://www.videolan.org/</label>
              <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>
-             <editable>True</editable>
-             <text_visible>True</text_visible>
-             <text_max_length>0</text_max_length>
-             <text></text>
-           </widget>
          </widget>
 
          <widget>
@@ -2263,6 +2511,11 @@ http://www.videolan.org/</label>
            <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>
@@ -2290,61 +2543,72 @@ http://www.videolan.org/</label>
              <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>GtkCombo</class>
-           <name>network_channel_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>
+           <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>2</left_attach>
-             <right_attach>4</right_attach>
-             <top_attach>2</top_attach>
-             <bottom_attach>3</bottom_attach>
+             <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>True</xexpand>
+             <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>network_channel_address</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>
            <class>GtkLabel</class>
-           <name>network_multicast_port_label</name>
-           <width>51</width>
-           <sensitive>False</sensitive>
-           <label>Port</label>
+           <name>label25</name>
+           <label>Frequency</label>
            <justify>GTK_JUSTIFY_CENTER</justify>
            <wrap>False</wrap>
-           <xalign>1</xalign>
+           <xalign>0</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>
+             <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>
@@ -2358,18 +2622,17 @@ http://www.videolan.org/</label>
 
          <widget>
            <class>GtkLabel</class>
-           <name>network_channel_port_label</name>
-           <sensitive>False</sensitive>
-           <label>Port</label>
+           <name>label26</name>
+           <label>Polarization</label>
            <justify>GTK_JUSTIFY_CENTER</justify>
            <wrap>False</wrap>
-           <xalign>1</xalign>
+           <xalign>0</xalign>
            <yalign>0.5</yalign>
            <xpad>0</xpad>
            <ypad>0</ypad>
            <child>
-             <left_attach>4</left_attach>
-             <right_attach>5</right_attach>
+             <left_attach>0</left_attach>
+             <right_attach>1</right_attach>
              <top_attach>2</top_attach>
              <bottom_attach>3</bottom_attach>
              <xpad>0</xpad>
@@ -2385,30 +2648,33 @@ http://www.videolan.org/</label>
 
          <widget>
            <class>GtkSpinButton</class>
-           <name>network_multicast_port</name>
-           <width>75</width>
-           <sensitive>False</sensitive>
+           <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>1234</value>
-           <lower>0</lower>
-           <upper>65535</upper>
+           <value>11954</value>
+           <lower>10000</lower>
+           <upper>12999</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>
+             <left_attach>1</left_attach>
+             <right_attach>2</right_attach>
+             <top_attach>0</top_attach>
+             <bottom_attach>1</bottom_attach>
              <xpad>0</xpad>
              <ypad>0</ypad>
-             <xexpand>True</xexpand>
+             <xexpand>False</xexpand>
              <yexpand>False</yexpand>
              <xshrink>False</xshrink>
              <yshrink>False</yshrink>
@@ -2418,56 +2684,121 @@ http://www.videolan.org/</label>
          </widget>
 
          <widget>
-           <class>GtkSpinButton</class>
-           <name>network_channel_port</name>
-           <width>75</width>
-           <sensitive>False</sensitive>
-           <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>
+           <class>GtkLabel</class>
+           <name>label27</name>
+           <label>FEC</label>
+           <justify>GTK_JUSTIFY_CENTER</justify>
            <wrap>False</wrap>
-           <value>6010</value>
-           <lower>0</lower>
-           <upper>65535</upper>
-           <step>1</step>
-           <page>10</page>
-           <page_size>10</page_size>
+           <xalign>0</xalign>
+           <yalign>0.5</yalign>
+           <xpad>0</xpad>
+           <ypad>0</ypad>
            <child>
-             <left_attach>5</left_attach>
-             <right_attach>6</right_attach>
+             <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>True</xexpand>
+             <xexpand>False</xexpand>
              <yexpand>False</yexpand>
              <xshrink>False</xshrink>
              <yshrink>False</yshrink>
              <xfill>True</xfill>
-             <yfill>False</yfill>
+             <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>GtkEntry</class>
-           <name>network_http_url</name>
-           <sensitive>False</sensitive>
+           <class>GtkSpinButton</class>
+           <name>sat_srate</name>
            <can_focus>True</can_focus>
-           <editable>True</editable>
-           <text_visible>True</text_visible>
-           <text_max_length>0</text_max_length>
-           <text></text>
+           <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>2</left_attach>
-             <right_attach>6</right_attach>
-             <top_attach>3</top_attach>
-             <bottom_attach>4</bottom_attach>
+             <left_attach>1</left_attach>
+             <right_attach>2</right_attach>
+             <top_attach>1</top_attach>
+             <bottom_attach>2</bottom_attach>
              <xpad>0</xpad>
              <ypad>0</ypad>
-             <xexpand>True</xexpand>
+             <xexpand>False</xexpand>
              <yexpand>False</yexpand>
              <xshrink>False</xshrink>
              <yshrink>False</yshrink>
@@ -2477,36 +2808,114 @@ http://www.videolan.org/</label>
          </widget>
 
          <widget>
-           <class>GtkLabel</class>
-           <name>label28</name>
-           <label></label>
-           <justify>GTK_JUSTIFY_CENTER</justify>
-           <wrap>False</wrap>
-           <xalign>0</xalign>
-           <yalign>0.5</yalign>
-           <xpad>0</xpad>
-           <ypad>0</ypad>
+           <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>3</left_attach>
-             <right_attach>6</right_attach>
-             <top_attach>0</top_attach>
-             <bottom_attach>1</bottom_attach>
+             <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>True</xexpand>
+             <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>
 </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>
@@ -2546,7 +2955,6 @@ http://www.videolan.org/</label>
        <signal>
          <name>clicked</name>
          <handler>GtkJumpOk</handler>
-         <data>&quot;intf_jump&quot;</data>
          <last_modification_time>Sun, 13 May 2001 14:53:19 GMT</last_modification_time>
        </signal>
        <label>OK</label>
@@ -2565,7 +2973,6 @@ http://www.videolan.org/</label>
        <signal>
          <name>clicked</name>
          <handler>GtkJumpCancel</handler>
-         <data>&quot;intf_jump&quot;</data>
          <last_modification_time>Sun, 13 May 2001 14:53:43 GMT</last_modification_time>
        </signal>
        <label>Cancel</label>
@@ -2778,7 +3185,6 @@ http://www.videolan.org/</label>
        <signal>
          <name>clicked</name>
          <handler>GtkPlaylistOk</handler>
-         <data>&quot;intf_playlist&quot;</data>
          <last_modification_time>Sat, 12 May 2001 21:16:09 GMT</last_modification_time>
        </signal>
        <label>OK</label>
@@ -2797,7 +3203,6 @@ http://www.videolan.org/</label>
        <signal>
          <name>clicked</name>
          <handler>GtkPlaylistCancel</handler>
-         <data>&quot;intf_playlist&quot;</data>
          <last_modification_time>Sat, 12 May 2001 21:16:20 GMT</last_modification_time>
        </signal>
        <label>Cancel</label>
@@ -2836,7 +3241,6 @@ http://www.videolan.org/</label>
            <signal>
              <name>activate</name>
              <handler>GtkDiscOpenShow</handler>
-             <data>&quot;intf_playlist&quot;</data>
              <last_modification_time>Mon, 14 May 2001 21:59:32 GMT</last_modification_time>
            </signal>
            <label>Disc</label>
@@ -2849,7 +3253,6 @@ http://www.videolan.org/</label>
            <signal>
              <name>activate</name>
              <handler>GtkFileOpenShow</handler>
-             <data>&quot;intf_playlist&quot;</data>
              <last_modification_time>Mon, 14 May 2001 21:59:48 GMT</last_modification_time>
            </signal>
            <label>File</label>
@@ -2862,7 +3265,6 @@ http://www.videolan.org/</label>
            <signal>
              <name>activate</name>
              <handler>GtkNetworkOpenShow</handler>
-             <data>&quot;intf_playlist&quot;</data>
              <last_modification_time>Mon, 14 May 2001 22:00:03 GMT</last_modification_time>
            </signal>
            <label>Network</label>
@@ -2875,7 +3277,6 @@ http://www.videolan.org/</label>
            <signal>
              <name>activate</name>
              <handler>GtkPlaylistAddUrl</handler>
-             <data>&quot;intf_playlist&quot;</data>
              <last_modification_time>Mon, 14 May 2001 22:00:22 GMT</last_modification_time>
            </signal>
            <label>Url</label>
@@ -2900,7 +3301,6 @@ http://www.videolan.org/</label>
            <signal>
              <name>activate</name>
              <handler>GtkPlaylistDeleteAll</handler>
-             <data>&quot;intf_playlist&quot;</data>
              <last_modification_time>Sat, 12 May 2001 21:13:11 GMT</last_modification_time>
            </signal>
            <label>All</label>
@@ -2913,7 +3313,6 @@ http://www.videolan.org/</label>
            <signal>
              <name>activate</name>
              <handler>GtkPlaylistDeleteSelected</handler>
-             <data>&quot;intf_playlist&quot;</data>
              <last_modification_time>Sat, 12 May 2001 21:12:58 GMT</last_modification_time>
            </signal>
            <label>Selected</label>
@@ -2938,7 +3337,6 @@ http://www.videolan.org/</label>
            <signal>
              <name>activate</name>
              <handler>GtkPlaylistCrop</handler>
-             <data>&quot;intf_playlist&quot;</data>
              <last_modification_time>Sat, 12 May 2001 21:13:47 GMT</last_modification_time>
            </signal>
            <label>_Crop</label>
@@ -2951,7 +3349,6 @@ http://www.videolan.org/</label>
            <signal>
              <name>activate</name>
              <handler>GtkPlaylistInvert</handler>
-             <data>&quot;intf_playlist&quot;</data>
              <last_modification_time>Sat, 12 May 2001 21:13:55 GMT</last_modification_time>
            </signal>
            <label>_Invert</label>
@@ -2964,7 +3361,6 @@ http://www.videolan.org/</label>
            <signal>
              <name>activate</name>
              <handler>GtkPlaylistSelect</handler>
-             <data>&quot;intf_playlist&quot;</data>
              <last_modification_time>Sat, 12 May 2001 21:14:04 GMT</last_modification_time>
            </signal>
            <label>_Select</label>
@@ -2995,19 +3391,16 @@ http://www.videolan.org/</label>
        <signal>
          <name>event</name>
          <handler>GtkPlaylistEvent</handler>
-         <data>&quot;intf_playlist&quot;</data>
          <last_modification_time>Sat, 12 May 2001 21:25:20 GMT</last_modification_time>
        </signal>
        <signal>
          <name>drag_data_received</name>
          <handler>GtkPlaylistDragData</handler>
-         <data>&quot;intf_playlist&quot;</data>
          <last_modification_time>Sat, 12 May 2001 21:25:53 GMT</last_modification_time>
        </signal>
        <signal>
          <name>drag_motion</name>
          <handler>GtkPlaylistDragMotion</handler>
-         <data>&quot;intf_playlist&quot;</data>
          <last_modification_time>Sat, 12 May 2001 21:26:23 GMT</last_modification_time>
        </signal>
        <columns>2</columns>
@@ -3052,7 +3445,6 @@ http://www.videolan.org/</label>
   <signal>
     <name>delete_event</name>
     <handler>GtkMessagesDelete</handler>
-    <data>&quot;intf_messages&quot;</data>
     <last_modification_time>Tue, 19 Feb 2002 02:39:16 GMT</last_modification_time>
   </signal>
   <title>Messages</title>
@@ -3076,7 +3468,7 @@ http://www.videolan.org/</label>
       <class>GtkHBox</class>
       <child_name>Dialog:action_area</child_name>
       <name>dialog-action_area5</name>
-      <border_width>10</border_width>
+      <border_width>5</border_width>
       <homogeneous>True</homogeneous>
       <spacing>5</spacing>
       <child>
@@ -3095,7 +3487,6 @@ http://www.videolan.org/</label>
        <signal>
          <name>clicked</name>
          <handler>GtkMessagesOk</handler>
-         <data>&quot;intf_messages&quot;</data>
          <last_modification_time>Tue, 19 Feb 2002 02:07:37 GMT</last_modification_time>
        </signal>
        <label>OK</label>
@@ -3111,6 +3502,7 @@ http://www.videolan.org/</label>
     <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>
@@ -3132,398 +3524,4 @@ http://www.videolan.org/</label>
   </widget>
 </widget>
 
-<widget>
-  <class>GtkDialog</class>
-  <name>intf_sat</name>
-  <title>Open Satellite Card</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>
-
-  <widget>
-    <class>GtkVBox</class>
-    <child_name>Dialog:vbox</child_name>
-    <name>vbox10</name>
-    <border_width>5</border_width>
-    <homogeneous>False</homogeneous>
-    <spacing>0</spacing>
-
-    <widget>
-      <class>GtkHBox</class>
-      <child_name>Dialog:action_area</child_name>
-      <name>hbox15</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>hbox16</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>sat_ok</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkSatOpenOk</handler>
-           <data>&quot;intf_disc&quot;</data>
-           <last_modification_time>Sun, 24 Mar 2002 15:36:12 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>sat_cancel</name>
-         <can_focus>True</can_focus>
-         <signal>
-           <name>clicked</name>
-           <handler>GtkSatOpenCancel</handler>
-           <data>&quot;intf_disc&quot;</data>
-           <last_modification_time>Sun, 24 Mar 2002 15:36:03 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>
-      <class>GtkVBox</class>
-      <name>vbox11</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>GtkHBox</class>
-       <name>hbox17</name>
-       <homogeneous>False</homogeneous>
-       <spacing>5</spacing>
-       <child>
-         <padding>0</padding>
-         <expand>True</expand>
-         <fill>True</fill>
-       </child>
-
-       <widget>
-         <class>GtkFrame</class>
-         <name>frame8</name>
-         <label>Transponder settings</label>
-         <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>table3</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>GtkSpinButton</class>
-             <name>sat_freq</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>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>True</xexpand>
-               <yexpand>False</yexpand>
-               <xshrink>False</xshrink>
-               <yshrink>False</yshrink>
-               <xfill>True</xfill>
-               <yfill>False</yfill>
-             </child>
-           </widget>
-
-           <widget>
-             <class>GtkSpinButton</class>
-             <name>sat_srate</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>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>True</xexpand>
-               <yexpand>False</yexpand>
-               <xshrink>False</xshrink>
-               <yshrink>False</yshrink>
-               <xfill>True</xfill>
-               <yfill>False</yfill>
-             </child>
-           </widget>
-
-           <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>GtkRadioButton</class>
-             <name>sat_pol_vert</name>
-             <can_focus>True</can_focus>
-             <label>Vertical</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>pol</group>
-             <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>GtkRadioButton</class>
-             <name>sat_pol_hor</name>
-             <can_focus>True</can_focus>
-             <label>Horizontal</label>
-             <active>False</active>
-             <draw_indicator>True</draw_indicator>
-             <group>pol</group>
-             <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>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>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>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>4</top_attach>
-               <bottom_attach>5</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>combo-entry1</name>
-               <can_focus>True</can_focus>
-               <editable>True</editable>
-               <text_visible>True</text_visible>
-               <text_max_length>0</text_max_length>
-               <text>3/4</text>
-             </widget>
-           </widget>
-         </widget>
-       </widget>
-      </widget>
-    </widget>
-  </widget>
-</widget>
-
 </GTK-Interface>
index 25677225599657b0a48a329262edf4cc9caa214f..9c9b362e63414dee77be74665149764107dfd0c4 100644 (file)
@@ -2,7 +2,7 @@
  * gtk_callbacks.c : Callbacks for the Gtk+ plugin.
  *****************************************************************************
  * Copyright (C) 2000, 2001 VideoLAN
- * $Id: gtk_callbacks.c,v 1.47 2002/07/01 17:39:08 sam Exp $
+ * $Id: gtk_callbacks.c,v 1.48 2002/07/11 19:28:13 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *          Stéphane Borel <stef@via.ecp.fr>
 
 #include "netutils.h"
 
+/*****************************************************************************
+ * Useful function to retrieve p_intf
+ ****************************************************************************/
+void * __GtkGetIntf( GtkWidget * widget )
+{
+    void *p_data;
+
+    if( GTK_IS_MENU_ITEM( widget ) )
+    {
+        /* Look for a GTK_MENU */
+        while( widget->parent && !GTK_IS_MENU( widget ) )
+        {
+            widget = widget->parent;
+        }
+
+        /* Maybe this one has the data */
+        p_data = gtk_object_get_data( GTK_OBJECT( widget ), "p_intf" );
+        if( p_data )
+        {
+            return p_data;
+        }
+
+        /* Otherwise, the parent widget has it */
+        widget = gtk_menu_get_attach_widget( GTK_MENU( widget ) );
+    }
+
+    /* We look for the top widget */
+    widget = gtk_widget_get_toplevel( GTK_WIDGET( widget ) );
+
+    p_data = gtk_object_get_data( GTK_OBJECT( widget ), "p_intf" );
+
+    return p_data;
+}
+
 /*****************************************************************************
  * Callbacks
  *****************************************************************************/
@@ -57,7 +91,7 @@
 gboolean GtkExit( GtkWidget       *widget,
                   gpointer         user_data )
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
+    intf_thread_t *p_intf = GtkGetIntf( widget );
 
     vlc_mutex_lock( &p_intf->change_lock );
     p_intf->p_vlc->b_die = 1;
@@ -79,12 +113,11 @@ gboolean GtkWindowDelete( GtkWidget       *widget,
 gboolean GtkWindowToggle( GtkWidget       *widget,
                           gpointer         user_data )
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)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 
     {
@@ -97,7 +130,7 @@ gboolean GtkWindowToggle( GtkWidget       *widget,
 gboolean GtkFullscreen( GtkWidget       *widget,
                         gpointer         user_data)
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
+    intf_thread_t *p_intf = GtkGetIntf( widget );
     vout_thread_t *p_vout;
 
     p_vout = vlc_object_find( p_intf->p_sys->p_input,
@@ -121,7 +154,7 @@ void GtkWindowDrag( GtkWidget       *widget,
                     guint            time,
                     gpointer         user_data)
 {
-    intf_thread_t * p_intf =  GetIntf( GTK_WIDGET(widget), "intf_window" );
+    intf_thread_t * p_intf = GtkGetIntf( widget );
     GtkDropDataReceived( p_intf, data, info, PLAYLIST_END );
 }
 
@@ -134,7 +167,7 @@ gboolean GtkSliderRelease( GtkWidget       *widget,
                            GdkEventButton  *event,
                            gpointer         user_data )
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), "intf_window" );
+    intf_thread_t *p_intf = GtkGetIntf( widget );
 
     vlc_mutex_lock( &p_intf->change_lock );
     p_intf->p_sys->b_slider_free = 1;
@@ -148,7 +181,7 @@ gboolean GtkSliderPress( GtkWidget       *widget,
                          GdkEventButton  *event,
                          gpointer         user_data)
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), "intf_window" );
+    intf_thread_t *p_intf = GtkGetIntf( widget );
 
     vlc_mutex_lock( &p_intf->change_lock );
     p_intf->p_sys->b_slider_free = 0;
@@ -168,7 +201,7 @@ void GtkTitlePrev( GtkButton * button, gpointer user_data )
     input_area_t *   p_area;
     int              i_id;
 
-    p_intf = GetIntf( GTK_WIDGET(button), (char*)user_data );
+    p_intf = GtkGetIntf( button );
 
     i_id = p_intf->p_sys->p_input->stream.p_selected_area->i_id - 1;
 
@@ -194,7 +227,7 @@ void GtkTitleNext( GtkButton * button, gpointer user_data )
     input_area_t *  p_area;
     int             i_id;
 
-    p_intf = GetIntf( GTK_WIDGET(button), (char*)user_data );
+    p_intf = GtkGetIntf( button );
     i_id = p_intf->p_sys->p_input->stream.p_selected_area->i_id + 1;
 
     if( i_id < p_intf->p_sys->p_input->stream.i_area_nb )
@@ -217,7 +250,7 @@ void GtkChapterPrev( GtkButton * button, gpointer user_data )
     intf_thread_t * p_intf;
     input_area_t *  p_area;
 
-    p_intf = GetIntf( GTK_WIDGET(button), (char*)user_data );
+    p_intf = GtkGetIntf( button );
     p_area = p_intf->p_sys->p_input->stream.p_selected_area;
 
     if( p_area->i_part > 0 )
@@ -240,7 +273,7 @@ void GtkChapterNext( GtkButton * button, gpointer user_data )
     intf_thread_t * p_intf;
     input_area_t *  p_area;
 
-    p_intf = GetIntf( GTK_WIDGET(button), (char*)user_data );
+    p_intf = GtkGetIntf( button );
     p_area = p_intf->p_sys->p_input->stream.p_selected_area;
 
     if( p_area->i_part < p_area->i_part_nb )
@@ -276,7 +309,7 @@ void GtkChannelGo( GtkButton * button, gpointer user_data )
     GtkWidget *     spin;
     int             i_channel;
 
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(button), (char*)user_data );
+    intf_thread_t *p_intf = GtkGetIntf( button );
 
     window = gtk_widget_get_toplevel( GTK_WIDGET (button) );
     spin = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( window ),
@@ -300,7 +333,7 @@ void GtkChannelGo( GtkButton * button, gpointer user_data )
 gboolean GtkAboutShow( GtkWidget       *widget,
                        gpointer         user_data)
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
+    intf_thread_t *p_intf = GtkGetIntf( widget );
 
     if( !GTK_IS_WIDGET( p_intf->p_sys->p_about ) )
     {
@@ -316,7 +349,7 @@ gboolean GtkAboutShow( GtkWidget       *widget,
 
 void GtkAboutOk( GtkButton * button, gpointer user_data)
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(button), (char*)user_data );
+    intf_thread_t *p_intf = GtkGetIntf( button );
 
     gtk_widget_hide( p_intf->p_sys->p_about );
 }
@@ -329,7 +362,7 @@ void GtkAboutOk( GtkButton * button, gpointer user_data)
 gboolean GtkJumpShow( GtkWidget       *widget,
                       gpointer         user_data)
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
+    intf_thread_t *p_intf = GtkGetIntf( widget );
 
     if( !GTK_IS_WIDGET( p_intf->p_sys->p_jump ) )
     {
@@ -348,7 +381,7 @@ gboolean GtkJumpShow( GtkWidget       *widget,
 void GtkJumpOk( GtkButton       *button,
                 gpointer         user_data)
 {
-    intf_thread_t * p_intf = GetIntf( GTK_WIDGET( button ), (char*)user_data );
+    intf_thread_t * p_intf = GtkGetIntf( button );
     int i_hours, i_minutes, i_seconds;
 
     if( p_intf->p_sys->p_input == NULL )
@@ -387,7 +420,7 @@ gboolean GtkDiscEject ( GtkWidget *widget, gpointer user_data )
     char *psz_parser;
     char *psz_current;
 
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)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 )
@@ -493,7 +526,7 @@ gboolean GtkMessagesShow( GtkWidget       *widget,
 {
     static GdkColor black = { 0, 0x0000, 0x0000, 0x0000 };
     static GdkColormap *colormap;
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
+    intf_thread_t *p_intf = GtkGetIntf( widget );
 
     gtk_widget_show( p_intf->p_sys->p_messages );
     colormap = gdk_colormap_get_system ();
@@ -514,7 +547,7 @@ void
 GtkMessagesOk                          (GtkButton       *button,
                                         gpointer         user_data)
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(button), (char*)user_data );
+    intf_thread_t *p_intf = GtkGetIntf( button );
     gtk_widget_hide( p_intf->p_sys->p_messages );
 }
 
@@ -524,8 +557,17 @@ GtkMessagesDelete                      (GtkWidget       *widget,
                                         GdkEvent        *event,
                                         gpointer         user_data)
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)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 );
+}
index 5da051ab801416212e744b16c78ef3db4bd9c9c4..1b45d2e0804e551c3fe5caeca1cd5fe118d017b7 100644 (file)
@@ -2,7 +2,7 @@
  * gtk_callbacks.h : Callbacks for the gtk plugin.
  *****************************************************************************
  * Copyright (C) 2000, 2001 VideoLAN
- * $Id: gtk_callbacks.h,v 1.20 2002/06/07 14:30:40 sam Exp $
+ * $Id: gtk_callbacks.h,v 1.21 2002/07/11 19:28:13 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *          Stéphane Borel <stef@via.ecp.fr>
@@ -39,7 +39,7 @@
 /* General glade callbacks */
 
 /*****************************************************************************
- *  main window callbacks: specific prototypes are in headers listed before
+ * main window callbacks: specific prototypes are in headers listed before
  *****************************************************************************/
 
 gboolean GtkExit                ( GtkWidget *, gpointer );
@@ -113,5 +113,35 @@ GtkNetworkOpenChannel                  (GtkToggleButton *togglebutton,
                                         gpointer         user_data);
 
 void
-GtkNetworkOpenChannel                  (GtkToggleButton *togglebutton,
+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);
index 97c18a2792c5006f37af793a8294899cd8458942..b27d9494eabca17097d6a1b69ec204133c017773 100644 (file)
@@ -2,7 +2,7 @@
  * gtk_common.h: private Gtk+ interface description
  *****************************************************************************
  * Copyright (C) 1999, 2000 VideoLAN
- * $Id: gtk_common.h,v 1.10 2002/06/07 14:30:41 sam Exp $
+ * $Id: gtk_common.h,v 1.11 2002/07/11 19:28:13 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
 
 #define MAX_ATEXIT                 10
 
-/*****************************************************************************
- * Useful inline function
- ****************************************************************************/
-static inline intf_thread_t * GetIntf( GtkWidget *item, char * psz_parent )
-{
-    return( gtk_object_get_data( GTK_OBJECT( lookup_widget(item, psz_parent) ),
-                                                     "p_intf" ) );
-}
-
 /*****************************************************************************
  * intf_sys_t: description and status of Gtk+ interface
  *****************************************************************************/
@@ -66,10 +57,7 @@ struct intf_sys_s
     GtkWidget *         p_playwin;                               /* playlist */
     GtkWidget *         p_modules;                         /* module manager */
     GtkWidget *         p_about;                             /* about window */
-    GtkWidget *         p_fileopen;                      /* file open window */
-    GtkWidget *         p_disc;                     /* disc selection window */
-    GtkWidget *         p_sat;                       /* sat selection window */
-    GtkWidget *         p_network;                  /* network stream window */
+    GtkWidget *         p_open;                          /* multiopen window */
     GtkWidget *         p_jump;                               /* jump window */
 
     GtkTooltips *       p_tooltips;                              /* tooltips */
@@ -105,3 +93,9 @@ struct intf_sys_s
 gint GtkModeManage   ( intf_thread_t * p_intf );
 void GtkDisplayDate  ( GtkAdjustment *p_adj );
 
+/*****************************************************************************
+ * Useful macro
+ ****************************************************************************/
+#define  GtkGetIntf( widget ) __GtkGetIntf( GTK_WIDGET( widget ) )
+void * __GtkGetIntf( GtkWidget * );
+
index 2ef7fbe90ea05ac15f539e361c59dcc13a7d0924..c2bc8d6896fa01c8120e7cc78e5088cf7505dfdd 100644 (file)
@@ -2,7 +2,7 @@
  * gtk_control.c : functions to handle stream control buttons.
  *****************************************************************************
  * Copyright (C) 2000, 2001 VideoLAN
- * $Id: gtk_control.c,v 1.12 2002/06/07 14:30:41 sam Exp $
+ * $Id: gtk_control.c,v 1.13 2002/07/11 19:28:13 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *          Stéphane Borel <stef@via.ecp.fr>
@@ -61,7 +61,7 @@ gboolean GtkControlBack( GtkWidget       *widget,
 gboolean GtkControlStop( GtkWidget       *widget,
                          gpointer         user_data )
 {
-    intf_thread_t *  p_intf = GetIntf( GTK_WIDGET(widget), (char*)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 )
@@ -79,7 +79,7 @@ gboolean GtkControlStop( GtkWidget       *widget,
 gboolean GtkControlPlay( GtkWidget       *widget,
                          gpointer         user_data )
 {
-    intf_thread_t *  p_intf = GetIntf( GTK_WIDGET(widget), (char*)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 )
@@ -110,7 +110,7 @@ gboolean GtkControlPlay( GtkWidget       *widget,
 gboolean GtkControlPause( GtkWidget       *widget,
                           gpointer         user_data )
 {
-    intf_thread_t *  p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
+    intf_thread_t *  p_intf = GtkGetIntf( widget );
 
     if( p_intf->p_sys->p_input == NULL )
     {
@@ -126,7 +126,7 @@ gboolean GtkControlPause( GtkWidget       *widget,
 gboolean GtkControlSlow( GtkWidget       *widget,
                          gpointer         user_data )
 {
-    intf_thread_t *  p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
+    intf_thread_t *  p_intf = GtkGetIntf( widget );
 
     if( p_intf->p_sys->p_input == NULL )
     {
@@ -142,7 +142,7 @@ gboolean GtkControlSlow( GtkWidget       *widget,
 gboolean GtkControlFast( GtkWidget       *widget,
                          gpointer         user_data )
 {
-    intf_thread_t *  p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
+    intf_thread_t *  p_intf = GtkGetIntf( widget );
 
     if( p_intf->p_sys->p_input == NULL )
     {
index a013e781222fef28c19a8b0c612176532bf66c82..851a52a8e27439b24f7c5dd365b0b9be0d80ca8a 100644 (file)
@@ -818,112 +818,112 @@ create_intf_window (void)
 
   gtk_signal_connect (GTK_OBJECT (intf_window), "drag_data_received",
                       GTK_SIGNAL_FUNC (GtkWindowDrag),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (intf_window), "delete_event",
                       GTK_SIGNAL_FUNC (GtkWindowDelete),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (menubar_open), "activate",
                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (menubar_disc), "activate",
                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (menubar_network), "activate",
                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (menubar_eject), "activate",
                       GTK_SIGNAL_FUNC (GtkDiscEject),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (menubar_exit), "activate",
                       GTK_SIGNAL_FUNC (GtkExit),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (menubar_interface_hide), "activate",
                       GTK_SIGNAL_FUNC (GtkWindowToggle),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (menubar_fullscreen), "activate",
                       GTK_SIGNAL_FUNC (GtkFullscreen),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (menubar_playlist), "activate",
                       GTK_SIGNAL_FUNC (GtkPlaylistShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (menubar_modules), "activate",
                       GTK_SIGNAL_FUNC (GtkModulesShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (menubar_messages), "activate",
                       GTK_SIGNAL_FUNC (GtkMessagesShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (menubar_preferences), "activate",
                       GTK_SIGNAL_FUNC (GtkPreferencesShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (menubar_about), "activate",
                       GTK_SIGNAL_FUNC (GtkAboutShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_open), "clicked",
                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_disc), "clicked",
                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_network), "clicked",
                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_sat), "clicked",
                       GTK_SIGNAL_FUNC (GtkSatOpenShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_back), "clicked",
                       GTK_SIGNAL_FUNC (GtkControlBack),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_stop), "clicked",
                       GTK_SIGNAL_FUNC (GtkControlStop),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_eject), "clicked",
                       GTK_SIGNAL_FUNC (GtkDiscEject),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_play), "clicked",
                       GTK_SIGNAL_FUNC (GtkControlPlay),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_pause), "clicked",
                       GTK_SIGNAL_FUNC (GtkControlPause),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_slow), "clicked",
                       GTK_SIGNAL_FUNC (GtkControlSlow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_fast), "clicked",
                       GTK_SIGNAL_FUNC (GtkControlFast),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_playlist), "clicked",
                       GTK_SIGNAL_FUNC (GtkPlaylistShow),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_prev), "clicked",
                       GTK_SIGNAL_FUNC (GtkPlaylistPrev),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (toolbar_next), "clicked",
                       GTK_SIGNAL_FUNC (GtkPlaylistNext),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (slider), "button_release_event",
                       GTK_SIGNAL_FUNC (GtkSliderRelease),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (slider), "button_press_event",
                       GTK_SIGNAL_FUNC (GtkSliderPress),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (title_prev_button), "clicked",
                       GTK_SIGNAL_FUNC (GtkTitlePrev),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (title_next_button), "clicked",
                       GTK_SIGNAL_FUNC (GtkTitleNext),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (chapter_prev_button), "clicked",
                       GTK_SIGNAL_FUNC (GtkChapterPrev),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (chapter_next_button), "clicked",
                       GTK_SIGNAL_FUNC (GtkChapterNext),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (network_channel_spinbutton), "activate",
                       GTK_SIGNAL_FUNC (GtkNetworkJoin),
-                      "intf_window");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (network_channel_go_button), "clicked",
                       GTK_SIGNAL_FUNC (GtkChannelGo),
-                      "intf_window");
+                      NULL);
 
   gtk_object_set_data (GTK_OBJECT (intf_window), "tooltips", tooltips);
 
@@ -1244,58 +1244,58 @@ create_intf_popup (void)
 
   gtk_signal_connect (GTK_OBJECT (popup_play), "activate",
                       GTK_SIGNAL_FUNC (GtkControlPlay),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_pause), "activate",
                       GTK_SIGNAL_FUNC (GtkControlPause),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_stop), "activate",
                       GTK_SIGNAL_FUNC (GtkControlStop),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_back), "activate",
                       GTK_SIGNAL_FUNC (GtkControlBack),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_slow), "activate",
                       GTK_SIGNAL_FUNC (GtkControlSlow),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_fast), "activate",
                       GTK_SIGNAL_FUNC (GtkControlFast),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_interface_toggle), "activate",
                       GTK_SIGNAL_FUNC (GtkWindowToggle),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_fullscreen), "activate",
                       GTK_SIGNAL_FUNC (GtkFullscreen),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_next), "activate",
                       GTK_SIGNAL_FUNC (GtkPlaylistNext),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_prev), "activate",
                       GTK_SIGNAL_FUNC (GtkPlaylistPrev),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_jump), "activate",
                       GTK_SIGNAL_FUNC (GtkJumpShow),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_file), "activate",
                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_disc), "activate",
                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_network), "activate",
                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_about), "activate",
                       GTK_SIGNAL_FUNC (GtkAboutShow),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_playlist), "activate",
                       GTK_SIGNAL_FUNC (GtkPlaylistShow),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_preferences), "activate",
                       GTK_SIGNAL_FUNC (GtkPreferencesShow),
-                      "intf_popup");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (popup_exit), "activate",
                       GTK_SIGNAL_FUNC (GtkExit),
-                      "intf_popup");
+                      NULL);
 
   gtk_object_set_data (GTK_OBJECT (intf_popup), "tooltips", tooltips);
 
@@ -1393,324 +1393,338 @@ create_intf_about (void)
 
   gtk_signal_connect (GTK_OBJECT (about_ok), "clicked",
                       GTK_SIGNAL_FUNC (GtkAboutOk),
-                      "intf_about");
+                      NULL);
 
   gtk_widget_grab_default (about_ok);
   return intf_about;
 }
 
 GtkWidget*
-create_intf_fileopen (void)
-{
-  GtkWidget *intf_fileopen;
-  GtkWidget *fileopen_ok;
-  GtkWidget *fileopen_cancel;
-
-  intf_fileopen = gtk_file_selection_new (_("Select File"));
-  gtk_object_set_data (GTK_OBJECT (intf_fileopen), "intf_fileopen", intf_fileopen);
-  gtk_container_set_border_width (GTK_CONTAINER (intf_fileopen), 10);
-  gtk_window_set_modal (GTK_WINDOW (intf_fileopen), TRUE);
-
-  fileopen_ok = GTK_FILE_SELECTION (intf_fileopen)->ok_button;
-  gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_ok", fileopen_ok);
-  gtk_widget_show (fileopen_ok);
-  GTK_WIDGET_SET_FLAGS (fileopen_ok, GTK_CAN_DEFAULT);
-
-  fileopen_cancel = GTK_FILE_SELECTION (intf_fileopen)->cancel_button;
-  gtk_object_set_data (GTK_OBJECT (intf_fileopen), "fileopen_cancel", fileopen_cancel);
-  gtk_widget_show (fileopen_cancel);
-  GTK_WIDGET_SET_FLAGS (fileopen_cancel, GTK_CAN_DEFAULT);
-
-  gtk_signal_connect (GTK_OBJECT (fileopen_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkFileOpenOk),
-                      "intf_fileopen");
-  gtk_signal_connect (GTK_OBJECT (fileopen_cancel), "clicked",
-                      GTK_SIGNAL_FUNC (GtkFileOpenCancel),
-                      "intf_fileopen");
-
-  return intf_fileopen;
-}
-
-GtkWidget*
-create_intf_disc (void)
+create_intf_open (void)
 {
-  GtkWidget *intf_disc;
-  GtkWidget *dialog_vbox2;
-  GtkWidget *vbox4;
-  GtkWidget *hbox3;
-  GtkWidget *frame2;
-  GtkWidget *vbox5;
+  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 *label21;
+  GtkWidget *label20;
+  GtkObject *disc_chapter_adj;
+  GtkWidget *disc_chapter;
+  GtkWidget *label35;
+  GtkWidget *hbox24;
   GSList *disc_group = NULL;
   GtkWidget *disc_dvd;
   GtkWidget *disc_vcd;
-  GtkWidget *frame3;
-  GtkWidget *table1;
+  GtkWidget *label19;
   GtkObject *disc_title_adj;
   GtkWidget *disc_title;
-  GtkObject *disc_chapter_adj;
-  GtkWidget *disc_chapter;
-  GtkWidget *label20;
-  GtkWidget *label21;
-  GtkWidget *hbox2;
-  GtkWidget *label19;
   GtkWidget *disc_name;
-  GtkWidget *dialog_action_area1;
-  GtkWidget *hbox1;
-  GtkWidget *disc_ok;
-  GtkWidget *disc_cancel;
+  GtkWidget *open_disc;
+  GtkWidget *table4;
+  GSList *table4_group = NULL;
+  GtkWidget *network_udp;
+  GtkWidget *network_multicast;
+  GtkWidget *network_channel;
+  GtkWidget *network_http;
+  GtkWidget *network_udp_port_label;
+  GtkWidget *network_multicast_address_label;
+  GtkWidget *network_channel_address_label;
+  GtkWidget *network_http_url_label;
+  GtkWidget *network_multicast_address_combo;
+  GtkWidget *network_multicast_address;
+  GtkWidget *network_channel_address_combo;
+  GtkWidget *network_channel_address;
+  GtkWidget *network_multicast_port_label;
+  GtkWidget *network_channel_port_label;
+  GtkObject *network_multicast_port_adj;
+  GtkWidget *network_multicast_port;
+  GtkObject *network_channel_port_adj;
+  GtkWidget *network_channel_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 *dialog_action_area6;
+  GtkWidget *hbox18;
+  GtkWidget *hbox19;
+  GtkWidget *open_ok;
+  GtkWidget *open_cancel;
+  GtkAccelGroup *accel_group;
 
-  intf_disc = gtk_dialog_new ();
-  gtk_object_set_data (GTK_OBJECT (intf_disc), "intf_disc", intf_disc);
-  gtk_window_set_title (GTK_WINDOW (intf_disc), _("Open Disc"));
-  gtk_window_set_modal (GTK_WINDOW (intf_disc), TRUE);
-  gtk_window_set_policy (GTK_WINDOW (intf_disc), FALSE, FALSE, FALSE);
+  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"));
 
-  dialog_vbox2 = GTK_DIALOG (intf_disc)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_vbox2", dialog_vbox2);
-  gtk_widget_show (dialog_vbox2);
-  gtk_container_set_border_width (GTK_CONTAINER (dialog_vbox2), 5);
+  dialog_vbox7 = GTK_DIALOG (intf_open)->vbox;
+  gtk_object_set_data (GTK_OBJECT (intf_open), "dialog_vbox7", dialog_vbox7);
+  gtk_widget_show (dialog_vbox7);
 
-  vbox4 = gtk_vbox_new (FALSE, 5);
-  gtk_widget_ref (vbox4);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "vbox4", vbox4,
+  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 (vbox4);
-  gtk_box_pack_start (GTK_BOX (dialog_vbox2), vbox4, TRUE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox4), 5);
+  gtk_widget_show (open_vbox);
+  gtk_box_pack_start (GTK_BOX (dialog_vbox7), open_vbox, TRUE, TRUE, 0);
 
-  hbox3 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox3);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox3", hbox3,
+  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 (hbox3);
-  gtk_box_pack_start (GTK_BOX (vbox4), hbox3, TRUE, TRUE, 0);
+  gtk_widget_show (frame10);
+  gtk_box_pack_start (GTK_BOX (open_vbox), frame10, FALSE, TRUE, 0);
 
-  frame2 = gtk_frame_new (_("Disc type"));
-  gtk_widget_ref (frame2);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame2", frame2,
+  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 (frame2);
-  gtk_box_pack_start (GTK_BOX (hbox3), frame2, TRUE, TRUE, 0);
+  gtk_widget_show (hbox21);
+  gtk_container_add (GTK_CONTAINER (frame10), hbox21);
+  gtk_container_set_border_width (GTK_CONTAINER (hbox21), 5);
 
-  vbox5 = gtk_vbox_new (FALSE, 0);
-  gtk_widget_ref (vbox5);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "vbox5", vbox5,
+  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 (vbox5);
-  gtk_container_add (GTK_CONTAINER (frame2), vbox5);
+  gtk_widget_show (hbox22);
+  gtk_box_pack_start (GTK_BOX (hbox21), hbox22, FALSE, TRUE, 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_disc), "disc_dvd", disc_dvd,
+  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 (disc_dvd);
-  gtk_box_pack_start (GTK_BOX (vbox5), disc_dvd, FALSE, FALSE, 0);
+  gtk_widget_show (label34);
+  gtk_box_pack_start (GTK_BOX (hbox22), label34, 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_disc), "disc_vcd", disc_vcd,
+  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 (disc_vcd);
-  gtk_box_pack_start (GTK_BOX (vbox5), disc_vcd, FALSE, FALSE, 0);
+  gtk_widget_show (combo2);
+  gtk_box_pack_start (GTK_BOX (hbox21), combo2, TRUE, TRUE, 0);
 
-  frame3 = gtk_frame_new (_("Starting position"));
-  gtk_widget_ref (frame3);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "frame3", frame3,
+  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 (frame3);
-  gtk_box_pack_start (GTK_BOX (hbox3), frame3, TRUE, TRUE, 0);
+  gtk_widget_show (entry_open);
 
-  table1 = gtk_table_new (2, 2, FALSE);
-  gtk_widget_ref (table1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "table1", table1,
+  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 (table1);
-  gtk_container_add (GTK_CONTAINER (frame3), table1);
-  gtk_container_set_border_width (GTK_CONTAINER (table1), 5);
-  gtk_table_set_row_spacings (GTK_TABLE (table1), 5);
-  gtk_table_set_col_spacings (GTK_TABLE (table1), 5);
+  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);
 
-  disc_title_adj = gtk_adjustment_new (1, 1, 65536, 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_disc), "disc_title", disc_title,
+  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 (disc_title);
-  gtk_table_attach (GTK_TABLE (table1), disc_title, 1, 2, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
+  gtk_widget_show (open_notebook);
+  gtk_box_pack_start (GTK_BOX (open_vbox), open_notebook, TRUE, TRUE, 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_disc), "disc_chapter", disc_chapter,
+  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 (disc_chapter);
-  gtk_table_attach (GTK_TABLE (table1), disc_chapter, 1, 2, 1, 2,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+  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 (4, 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);
+
+  label21 = gtk_label_new (_("Title"));
+  gtk_widget_ref (label21);
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label21", label21,
+                            (GtkDestroyNotify) gtk_widget_unref);
+  gtk_widget_show (label21);
+  gtk_table_attach (GTK_TABLE (table5), label21, 0, 1, 2, 3,
+                    (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
+  gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5);
 
   label20 = gtk_label_new (_("Chapter"));
   gtk_widget_ref (label20);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label20", label20,
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label20", label20,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (label20);
-  gtk_table_attach (GTK_TABLE (table1), label20, 0, 1, 1, 2,
+  gtk_table_attach (GTK_TABLE (table5), label20, 0, 1, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
   gtk_misc_set_alignment (GTK_MISC (label20), 0, 0.5);
 
-  label21 = gtk_label_new (_("Title"));
-  gtk_widget_ref (label21);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label21", label21,
+  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 (label21);
-  gtk_table_attach (GTK_TABLE (table1), label21, 0, 1, 0, 1,
+  gtk_widget_show (disc_chapter);
+  gtk_table_attach (GTK_TABLE (table5), disc_chapter, 1, 2, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label21), 0, 0.5);
 
-  hbox2 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox2);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox2", hbox2,
+  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 (hbox2);
-  gtk_box_pack_start (GTK_BOX (vbox4), hbox2, TRUE, TRUE, 0);
+  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);
 
   label19 = gtk_label_new (_("Device name"));
   gtk_widget_ref (label19);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "label19", label19,
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "label19", label19,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (label19);
-  gtk_box_pack_start (GTK_BOX (hbox2), label19, FALSE, FALSE, 0);
+  gtk_table_attach (GTK_TABLE (table5), label19, 0, 1, 1, 2,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+
+  disc_title_adj = gtk_adjustment_new (1, 1, 65536, 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, 2, 3,
+                    (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_disc), "disc_name", 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_box_pack_start (GTK_BOX (hbox2), disc_name, TRUE, TRUE, 0);
+  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");
 
-  dialog_action_area1 = GTK_DIALOG (intf_disc)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_disc), "dialog_action_area1", dialog_action_area1);
-  gtk_widget_show (dialog_action_area1);
-  gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area1), 5);
-
-  hbox1 = gtk_hbox_new (TRUE, 5);
-  gtk_widget_ref (hbox1);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "hbox1", hbox1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox1);
-  gtk_box_pack_end (GTK_BOX (dialog_action_area1), hbox1, FALSE, TRUE, 0);
-
-  disc_ok = gtk_button_new_with_label (_("OK"));
-  gtk_widget_ref (disc_ok);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_ok", disc_ok,
+  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 (disc_ok);
-  gtk_box_pack_start (GTK_BOX (hbox1), disc_ok, FALSE, TRUE, 0);
-
-  disc_cancel = gtk_button_new_with_label (_("Cancel"));
-  gtk_widget_ref (disc_cancel);
-  gtk_object_set_data_full (GTK_OBJECT (intf_disc), "disc_cancel", disc_cancel,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (disc_cancel);
-  gtk_box_pack_start (GTK_BOX (hbox1), disc_cancel, FALSE, TRUE, 0);
-
-  gtk_signal_connect (GTK_OBJECT (disc_dvd), "toggled",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenDvd),
-                      "intf_disc");
-  gtk_signal_connect (GTK_OBJECT (disc_vcd), "toggled",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenVcd),
-                      "intf_disc");
-  gtk_signal_connect (GTK_OBJECT (disc_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenOk),
-                      "intf_disc");
-  gtk_signal_connect (GTK_OBJECT (disc_cancel), "clicked",
-                      GTK_SIGNAL_FUNC (GtkDiscOpenCancel),
-                      "intf_disc");
-
-  return intf_disc;
-}
-
-GtkWidget*
-create_intf_network (void)
-{
-  GtkWidget *intf_network;
-  GtkWidget *vbox7;
-  GtkWidget *vbox8;
-  GtkWidget *frame9;
-  GtkWidget *table4;
-  GSList *table4_group = NULL;
-  GtkWidget *network_udp;
-  GtkWidget *network_multicast;
-  GtkWidget *network_channel;
-  GtkWidget *network_http;
-  GtkWidget *network_udp_port_label;
-  GtkWidget *network_multicast_address_label;
-  GtkWidget *network_channel_address_label;
-  GtkWidget *network_http_url_label;
-  GtkWidget *network_multicast_address_combo;
-  GtkWidget *network_multicast_address;
-  GtkObject *network_udp_port_adj;
-  GtkWidget *network_udp_port;
-  GtkWidget *network_channel_address_combo;
-  GtkWidget *network_channel_address;
-  GtkWidget *network_multicast_port_label;
-  GtkWidget *network_channel_port_label;
-  GtkObject *network_multicast_port_adj;
-  GtkWidget *network_multicast_port;
-  GtkObject *network_channel_port_adj;
-  GtkWidget *network_channel_port;
-  GtkWidget *network_http_url;
-  GtkWidget *label28;
-  GtkWidget *hbox4;
-  GtkWidget *hbox5;
-  GtkWidget *network_ok;
-  GtkWidget *network_cancel;
-
-  intf_network = gtk_dialog_new ();
-  gtk_object_set_data (GTK_OBJECT (intf_network), "intf_network", intf_network);
-  gtk_window_set_title (GTK_WINDOW (intf_network), _("Open Network"));
-  gtk_window_set_modal (GTK_WINDOW (intf_network), TRUE);
-  gtk_window_set_policy (GTK_WINDOW (intf_network), FALSE, FALSE, FALSE);
-
-  vbox7 = GTK_DIALOG (intf_network)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_network), "vbox7", vbox7);
-  gtk_widget_show (vbox7);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox7), 5);
-
-  vbox8 = gtk_vbox_new (FALSE, 5);
-  gtk_widget_ref (vbox8);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "vbox8", vbox8,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox8);
-  gtk_box_pack_start (GTK_BOX (vbox7), vbox8, TRUE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox8), 5);
-
-  frame9 = gtk_frame_new (_("Network mode"));
-  gtk_widget_ref (frame9);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "frame9", frame9,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame9);
-  gtk_box_pack_start (GTK_BOX (vbox8), frame9, TRUE, TRUE, 0);
+  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 (4, 6, FALSE);
   gtk_widget_ref (table4);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "table4", 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 (frame9), table4);
-  gtk_container_set_border_width (GTK_CONTAINER (table4), 9);
-  gtk_table_set_col_spacings (GTK_TABLE (table4), 6);
+  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"));
   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_udp));
   gtk_widget_ref (network_udp);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_udp", 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,
@@ -1720,7 +1734,7 @@ create_intf_network (void)
   network_multicast = gtk_radio_button_new_with_label (table4_group, _("UDP 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_network), "network_multicast", 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,
@@ -1730,7 +1744,7 @@ create_intf_network (void)
   network_channel = gtk_radio_button_new_with_label (table4_group, _("Channel server "));
   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_channel));
   gtk_widget_ref (network_channel);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel", network_channel,
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel", network_channel,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_channel);
   gtk_table_attach (GTK_TABLE (table4), network_channel, 0, 1, 2, 3,
@@ -1740,7 +1754,7 @@ create_intf_network (void)
   network_http = gtk_radio_button_new_with_label (table4_group, _("HTTP"));
   table4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (network_http));
   gtk_widget_ref (network_http);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_http", 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, 3, 4,
@@ -1749,7 +1763,7 @@ create_intf_network (void)
 
   network_udp_port_label = gtk_label_new (_("Port"));
   gtk_widget_ref (network_udp_port_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_udp_port_label", 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,
@@ -1759,7 +1773,7 @@ create_intf_network (void)
 
   network_multicast_address_label = gtk_label_new (_("Address"));
   gtk_widget_ref (network_multicast_address_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_multicast_address_label", 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,
@@ -1771,7 +1785,7 @@ create_intf_network (void)
 
   network_channel_address_label = gtk_label_new (_("Address"));
   gtk_widget_ref (network_channel_address_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_address_label", network_channel_address_label,
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address_label", network_channel_address_label,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_channel_address_label);
   gtk_table_attach (GTK_TABLE (table4), network_channel_address_label, 1, 2, 2, 3,
@@ -1781,7 +1795,7 @@ create_intf_network (void)
 
   network_http_url_label = gtk_label_new (_("URL"));
   gtk_widget_ref (network_http_url_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_http_url_label", 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, 3, 4,
@@ -1792,7 +1806,7 @@ create_intf_network (void)
 
   network_multicast_address_combo = gtk_combo_new ();
   gtk_widget_ref (network_multicast_address_combo);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_multicast_address_combo", 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,
@@ -1802,24 +1816,13 @@ create_intf_network (void)
 
   network_multicast_address = GTK_COMBO (network_multicast_address_combo)->entry;
   gtk_widget_ref (network_multicast_address);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_multicast_address", 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_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_network), "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);
-
   network_channel_address_combo = gtk_combo_new ();
   gtk_widget_ref (network_channel_address_combo);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_address_combo", network_channel_address_combo,
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address_combo", network_channel_address_combo,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_channel_address_combo);
   gtk_table_attach (GTK_TABLE (table4), network_channel_address_combo, 2, 4, 2, 3,
@@ -1829,25 +1832,24 @@ create_intf_network (void)
 
   network_channel_address = GTK_COMBO (network_channel_address_combo)->entry;
   gtk_widget_ref (network_channel_address);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_address", network_channel_address,
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_address", network_channel_address,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_channel_address);
 
   network_multicast_port_label = gtk_label_new (_("Port"));
   gtk_widget_ref (network_multicast_port_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_multicast_port_label", 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_usize (network_multicast_port_label, 51, -2);
   gtk_widget_set_sensitive (network_multicast_port_label, FALSE);
   gtk_misc_set_alignment (GTK_MISC (network_multicast_port_label), 1, 0.5);
 
   network_channel_port_label = gtk_label_new (_("Port"));
   gtk_widget_ref (network_channel_port_label);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_port_label", network_channel_port_label,
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_port_label", network_channel_port_label,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_channel_port_label);
   gtk_table_attach (GTK_TABLE (table4), network_channel_port_label, 4, 5, 2, 3,
@@ -1859,7 +1861,7 @@ create_intf_network (void)
   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_network), "network_multicast_port", 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,
@@ -1871,7 +1873,7 @@ create_intf_network (void)
   network_channel_port_adj = gtk_adjustment_new (6010, 0, 65535, 1, 10, 10);
   network_channel_port = gtk_spin_button_new (GTK_ADJUSTMENT (network_channel_port_adj), 1, 0);
   gtk_widget_ref (network_channel_port);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_channel_port", network_channel_port,
+  gtk_object_set_data_full (GTK_OBJECT (intf_open), "network_channel_port", network_channel_port,
                             (GtkDestroyNotify) gtk_widget_unref);
   gtk_widget_show (network_channel_port);
   gtk_table_attach (GTK_TABLE (table4), network_channel_port, 5, 6, 2, 3,
@@ -1882,7 +1884,7 @@ create_intf_network (void)
 
   network_http_url = gtk_entry_new ();
   gtk_widget_ref (network_http_url);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_http_url", 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, 3, 4,
@@ -1890,62 +1892,297 @@ create_intf_network (void)
                     (GtkAttachOptions) (0), 0, 0);
   gtk_widget_set_sensitive (network_http_url, FALSE);
 
-  label28 = gtk_label_new ("");
-  gtk_widget_ref (label28);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "label28", label28,
+  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 (label28);
-  gtk_table_attach (GTK_TABLE (table4), label28, 3, 6, 0, 1,
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+  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_misc_set_alignment (GTK_MISC (label28), 0, 0.5);
-
-  hbox4 = GTK_DIALOG (intf_network)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_network), "hbox4", hbox4);
-  gtk_widget_show (hbox4);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox4), 5);
+  gtk_widget_set_usize (network_udp_port, 1, -2);
 
-  hbox5 = gtk_hbox_new (TRUE, 5);
-  gtk_widget_ref (hbox5);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "hbox5", hbox5,
+  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 (hbox5);
-  gtk_box_pack_end (GTK_BOX (hbox4), hbox5, FALSE, TRUE, 0);
+  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);
 
-  network_ok = gtk_button_new_with_label (_("OK"));
-  gtk_widget_ref (network_ok);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_ok", network_ok,
+  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 (network_ok);
-  gtk_box_pack_start (GTK_BOX (hbox5), network_ok, FALSE, TRUE, 0);
+  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);
 
-  network_cancel = gtk_button_new_with_label (_("Cancel"));
-  gtk_widget_ref (network_cancel);
-  gtk_object_set_data_full (GTK_OBJECT (intf_network), "network_cancel", network_cancel,
+  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 (network_cancel);
-  gtk_box_pack_start (GTK_BOX (hbox5), network_cancel, FALSE, TRUE, 0);
+  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);
 
-  gtk_signal_connect (GTK_OBJECT (network_udp), "toggled",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenUDP),
-                      "intf_network");
-  gtk_signal_connect (GTK_OBJECT (network_multicast), "toggled",
+  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);
+
+  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_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),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (disc_chapter), "changed",
+                      GTK_SIGNAL_FUNC (GtkOpenChanged),
+                      NULL);
+  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_title), "changed",
+                      GTK_SIGNAL_FUNC (GtkOpenChanged),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (disc_name), "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),
-                      "intf_network");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (network_channel), "toggled",
                       GTK_SIGNAL_FUNC (GtkNetworkOpenChannel),
-                      "intf_network");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (network_http), "toggled",
                       GTK_SIGNAL_FUNC (GtkNetworkOpenHTTP),
-                      "intf_network");
-  gtk_signal_connect (GTK_OBJECT (network_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenOk),
-                      "intf_network");
-  gtk_signal_connect (GTK_OBJECT (network_cancel), "clicked",
-                      GTK_SIGNAL_FUNC (GtkNetworkOpenCancel),
-                      "intf_network");
-
-  return intf_network;
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (network_multicast_address), "changed",
+                      GTK_SIGNAL_FUNC (GtkOpenChanged),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (network_channel_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_channel_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 (open_ok), "clicked",
+                      GTK_SIGNAL_FUNC (GtkOpenOk),
+                      NULL);
+  gtk_signal_connect (GTK_OBJECT (open_cancel), "clicked",
+                      GTK_SIGNAL_FUNC (GtkOpenCancel),
+                      NULL);
+
+  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*
@@ -2059,10 +2296,10 @@ create_intf_jump (void)
 
   gtk_signal_connect (GTK_OBJECT (jump_ok_button), "clicked",
                       GTK_SIGNAL_FUNC (GtkJumpOk),
-                      "intf_jump");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (jump_cancel_button), "clicked",
                       GTK_SIGNAL_FUNC (GtkJumpCancel),
-                      "intf_jump");
+                      NULL);
 
   return intf_jump;
 }
@@ -2296,46 +2533,46 @@ create_intf_playlist (void)
                       NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_add_disc), "activate",
                       GTK_SIGNAL_FUNC (GtkDiscOpenShow),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_add_file), "activate",
                       GTK_SIGNAL_FUNC (GtkFileOpenShow),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_add_network), "activate",
                       GTK_SIGNAL_FUNC (GtkNetworkOpenShow),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_add_url), "activate",
                       GTK_SIGNAL_FUNC (GtkPlaylistAddUrl),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_delete_all), "activate",
                       GTK_SIGNAL_FUNC (GtkPlaylistDeleteAll),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_delete_selected), "activate",
                       GTK_SIGNAL_FUNC (GtkPlaylistDeleteSelected),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_selection_crop), "activate",
                       GTK_SIGNAL_FUNC (GtkPlaylistCrop),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_selection_invert), "activate",
                       GTK_SIGNAL_FUNC (GtkPlaylistInvert),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_selection_select), "activate",
                       GTK_SIGNAL_FUNC (GtkPlaylistSelect),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_clist), "event",
                       GTK_SIGNAL_FUNC (GtkPlaylistEvent),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_data_received",
                       GTK_SIGNAL_FUNC (GtkPlaylistDragData),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_clist), "drag_motion",
                       GTK_SIGNAL_FUNC (GtkPlaylistDragMotion),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_ok_button), "clicked",
                       GTK_SIGNAL_FUNC (GtkPlaylistOk),
-                      "intf_playlist");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (playlist_cancel_button), "clicked",
                       GTK_SIGNAL_FUNC (GtkPlaylistCancel),
-                      "intf_playlist");
+                      NULL);
 
   return intf_playlist;
 }
@@ -2366,6 +2603,7 @@ create_intf_messages (void)
                             (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);
@@ -2378,7 +2616,7 @@ create_intf_messages (void)
   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), 10);
+  gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area5), 5);
 
   messages_ok = gtk_button_new_with_label (_("OK"));
   gtk_widget_ref (messages_ok);
@@ -2390,223 +2628,12 @@ create_intf_messages (void)
 
   gtk_signal_connect (GTK_OBJECT (intf_messages), "delete_event",
                       GTK_SIGNAL_FUNC (GtkMessagesDelete),
-                      "intf_messages");
+                      NULL);
   gtk_signal_connect (GTK_OBJECT (messages_ok), "clicked",
                       GTK_SIGNAL_FUNC (GtkMessagesOk),
-                      "intf_messages");
+                      NULL);
 
   gtk_widget_grab_default (messages_ok);
   return intf_messages;
 }
 
-GtkWidget*
-create_intf_sat (void)
-{
-  GtkWidget *intf_sat;
-  GtkWidget *vbox10;
-  GtkWidget *vbox11;
-  GtkWidget *hbox17;
-  GtkWidget *frame8;
-  GtkWidget *table3;
-  GtkObject *sat_freq_adj;
-  GtkWidget *sat_freq;
-  GtkObject *sat_srate_adj;
-  GtkWidget *sat_srate;
-  GtkWidget *label24;
-  GtkWidget *label25;
-  GtkWidget *label26;
-  GSList *pol_group = NULL;
-  GtkWidget *sat_pol_vert;
-  GtkWidget *sat_pol_hor;
-  GtkWidget *label27;
-  GtkWidget *sat_fec;
-  GList *sat_fec_items = NULL;
-  GtkWidget *combo_entry1;
-  GtkWidget *hbox15;
-  GtkWidget *hbox16;
-  GtkWidget *sat_ok;
-  GtkWidget *sat_cancel;
-
-  intf_sat = gtk_dialog_new ();
-  gtk_object_set_data (GTK_OBJECT (intf_sat), "intf_sat", intf_sat);
-  gtk_window_set_title (GTK_WINDOW (intf_sat), _("Open Satellite Card"));
-  gtk_window_set_modal (GTK_WINDOW (intf_sat), TRUE);
-  gtk_window_set_policy (GTK_WINDOW (intf_sat), FALSE, FALSE, FALSE);
-
-  vbox10 = GTK_DIALOG (intf_sat)->vbox;
-  gtk_object_set_data (GTK_OBJECT (intf_sat), "vbox10", vbox10);
-  gtk_widget_show (vbox10);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox10), 5);
-
-  vbox11 = gtk_vbox_new (FALSE, 5);
-  gtk_widget_ref (vbox11);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "vbox11", vbox11,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (vbox11);
-  gtk_box_pack_start (GTK_BOX (vbox10), vbox11, TRUE, TRUE, 0);
-  gtk_container_set_border_width (GTK_CONTAINER (vbox11), 5);
-
-  hbox17 = gtk_hbox_new (FALSE, 5);
-  gtk_widget_ref (hbox17);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "hbox17", hbox17,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox17);
-  gtk_box_pack_start (GTK_BOX (vbox11), hbox17, TRUE, TRUE, 0);
-
-  frame8 = gtk_frame_new (_("Transponder settings"));
-  gtk_widget_ref (frame8);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "frame8", frame8,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (frame8);
-  gtk_box_pack_start (GTK_BOX (hbox17), frame8, TRUE, TRUE, 0);
-
-  table3 = gtk_table_new (5, 2, FALSE);
-  gtk_widget_ref (table3);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "table3", table3,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (table3);
-  gtk_container_add (GTK_CONTAINER (frame8), 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);
-
-  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_sat), "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_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 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_sat), "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_EXPAND | GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  label24 = gtk_label_new (_("Symbol Rate"));
-  gtk_widget_ref (label24);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "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_sat), "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_sat), "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_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_sat), "sat_pol_vert", sat_pol_vert,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_pol_vert);
-  gtk_table_attach (GTK_TABLE (table3), sat_pol_vert, 1, 2, 2, 3,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 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_sat), "sat_pol_hor", sat_pol_hor,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_pol_hor);
-  gtk_table_attach (GTK_TABLE (table3), sat_pol_hor, 1, 2, 3, 4,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-
-  label27 = gtk_label_new (_("FEC"));
-  gtk_widget_ref (label27);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "label27", label27,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (label27);
-  gtk_table_attach (GTK_TABLE (table3), label27, 0, 1, 4, 5,
-                    (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (0), 0, 0);
-  gtk_misc_set_alignment (GTK_MISC (label27), 0, 0.5);
-
-  sat_fec = gtk_combo_new ();
-  gtk_widget_ref (sat_fec);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "sat_fec", sat_fec,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_fec);
-  gtk_table_attach (GTK_TABLE (table3), sat_fec, 1, 2, 4, 5,
-                    (GtkAttachOptions) (GTK_EXPAND | 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_sat), "combo_entry1", combo_entry1,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (combo_entry1);
-  gtk_entry_set_text (GTK_ENTRY (combo_entry1), "3/4");
-
-  hbox15 = GTK_DIALOG (intf_sat)->action_area;
-  gtk_object_set_data (GTK_OBJECT (intf_sat), "hbox15", hbox15);
-  gtk_widget_show (hbox15);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox15), 5);
-
-  hbox16 = gtk_hbox_new (TRUE, 5);
-  gtk_widget_ref (hbox16);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "hbox16", hbox16,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (hbox16);
-  gtk_box_pack_end (GTK_BOX (hbox15), hbox16, FALSE, TRUE, 0);
-
-  sat_ok = gtk_button_new_with_label (_("OK"));
-  gtk_widget_ref (sat_ok);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "sat_ok", sat_ok,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_ok);
-  gtk_box_pack_start (GTK_BOX (hbox16), sat_ok, FALSE, TRUE, 0);
-
-  sat_cancel = gtk_button_new_with_label (_("Cancel"));
-  gtk_widget_ref (sat_cancel);
-  gtk_object_set_data_full (GTK_OBJECT (intf_sat), "sat_cancel", sat_cancel,
-                            (GtkDestroyNotify) gtk_widget_unref);
-  gtk_widget_show (sat_cancel);
-  gtk_box_pack_start (GTK_BOX (hbox16), sat_cancel, FALSE, TRUE, 0);
-
-  gtk_signal_connect (GTK_OBJECT (sat_ok), "clicked",
-                      GTK_SIGNAL_FUNC (GtkSatOpenOk),
-                      "intf_disc");
-  gtk_signal_connect (GTK_OBJECT (sat_cancel), "clicked",
-                      GTK_SIGNAL_FUNC (GtkSatOpenCancel),
-                      "intf_disc");
-
-  return intf_sat;
-}
-
index 5166276f343bfb263ea479ff97cc9e9b32d2d5df..8dcbf9b6d4035624ec7333d39da6f0783e4c58ad 100644 (file)
@@ -5,10 +5,8 @@
 GtkWidget* create_intf_window (void);
 GtkWidget* create_intf_popup (void);
 GtkWidget* create_intf_about (void);
-GtkWidget* create_intf_fileopen (void);
-GtkWidget* create_intf_disc (void);
-GtkWidget* create_intf_network (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_sat (void);
index fa01a91615f983168fb96a0a1868ae0ef71c21a2..d294fca5d876a25cc493927a73d421cec231e537 100644 (file)
@@ -2,7 +2,7 @@
  * gtk_menu.c : functions to handle menu items.
  *****************************************************************************
  * Copyright (C) 2000, 2001 VideoLAN
- * $Id: gtk_menu.c,v 1.26 2002/06/01 12:31:59 sam Exp $
+ * $Id: gtk_menu.c,v 1.27 2002/07/11 19:28:13 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *          Stéphane Borel <stef@via.ecp.fr>
@@ -71,12 +71,12 @@ gint GtkSetupMenus( intf_thread_t * p_intf );
  * user_data to transmit intf_* and we need to refresh the other menu.
  ****************************************************************************/
 
-#define GTKLANGTOGGLE( intf, window, menu, type, callback, b_update )   \
+#define GTKLANGTOGGLE( window, menu, type, callback, b_update )         \
     intf_thread_t *         p_intf;                                     \
     GtkWidget *             p_menu;                                     \
     es_descriptor_t *       p_es;                                       \
                                                                         \
-    p_intf = GetIntf( GTK_WIDGET(menuitem), (intf) );                   \
+    p_intf = GtkGetIntf( menuitem );                                    \
                                                                         \
     if( !p_intf->p_sys->b_update )                                      \
     {                                                                   \
@@ -103,13 +103,13 @@ gint GtkSetupMenus( intf_thread_t * p_intf );
 
 void GtkMenubarAudioToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
 {
-    GTKLANGTOGGLE( "intf_window", p_popup, "popup_audio", AUDIO_ES,
+    GTKLANGTOGGLE( p_popup, "popup_audio", AUDIO_ES,
                    GtkPopupAudioToggle, b_audio_update );
 }
 
 void GtkPopupAudioToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
 {
-    GTKLANGTOGGLE( "intf_popup", p_window, "menubar_audio", AUDIO_ES,
+    GTKLANGTOGGLE( p_window, "menubar_audio", AUDIO_ES,
                    GtkMenubarAudioToggle, b_audio_update );
 }
 
@@ -119,13 +119,13 @@ void GtkPopupAudioToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
 
 void GtkMenubarSubtitleToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
 {
-    GTKLANGTOGGLE( "intf_window", p_popup, "popup_subpictures", SPU_ES,
+    GTKLANGTOGGLE( p_popup, "popup_subpictures", SPU_ES,
                    GtkPopupSubtitleToggle, b_spu_update );
 }
 
 void GtkPopupSubtitleToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
 {
-    GTKLANGTOGGLE( "intf_popup", p_window, "menubar_subpictures", SPU_ES,
+    GTKLANGTOGGLE( p_window, "menubar_subpictures", SPU_ES,
                    GtkMenubarSubtitleToggle, b_spu_update );
 }
 
@@ -138,7 +138,7 @@ void GtkPopupSubtitleToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
 void GtkPopupNavigationToggle( GtkCheckMenuItem * menuitem,
                                gpointer user_data )
 {
-    intf_thread_t * p_intf = GetIntf( GTK_WIDGET(menuitem), "intf_popup" );
+    intf_thread_t * p_intf = GtkGetIntf( menuitem );
 
     if( menuitem->active &&
         !p_intf->p_sys->b_title_update &&
@@ -173,8 +173,8 @@ void GtkPopupNavigationToggle( GtkCheckMenuItem * menuitem,
 /*
  * Program
  */
-#define GTKPROGRAMTOGGLE( intf )                                            \
-    intf_thread_t * p_intf = GetIntf( GTK_WIDGET(menuitem), intf );         \
+#define GTKPROGRAMTOGGLE( )                                                 \
+    intf_thread_t * p_intf = GtkGetIntf( menuitem );                        \
                                                                             \
     if( menuitem->active && !p_intf->p_sys->b_program_update )              \
     {                                                                       \
@@ -195,12 +195,12 @@ void GtkPopupNavigationToggle( GtkCheckMenuItem * menuitem,
 
 void GtkMenubarProgramToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
 {
-    GTKPROGRAMTOGGLE( "intf_window" );
+    GTKPROGRAMTOGGLE( );
 }
 
 void GtkPopupProgramToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
 {
-    GTKPROGRAMTOGGLE( "intf_popup" );
+    GTKPROGRAMTOGGLE( );
 }
 
 /*
@@ -209,7 +209,7 @@ void GtkPopupProgramToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
 
 void GtkMenubarTitleToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
 {
-    intf_thread_t * p_intf = GetIntf( GTK_WIDGET(menuitem), "intf_window" );
+    intf_thread_t * p_intf = GtkGetIntf( menuitem );
 
     if( menuitem->active && !p_intf->p_sys->b_title_update )
     {
@@ -239,7 +239,7 @@ void GtkMenubarChapterToggle( GtkCheckMenuItem * menuitem, gpointer user_data )
     gint            i_chapter;
     GtkWidget *     p_popup_menu;
 
-    p_intf    = GetIntf( GTK_WIDGET(menuitem), "intf_window" );
+    p_intf    = GtkGetIntf( menuitem );
     p_area    = p_intf->p_sys->p_input->stream.p_selected_area;
     i_chapter = (gint)((long)user_data);
 
@@ -304,6 +304,7 @@ static gint GtkRadioMenu( intf_thread_t * p_intf,
     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 = 0 ; i_item < i_nb ; i_item++ )
     {
@@ -323,6 +324,7 @@ static gint GtkRadioMenu( intf_thread_t * p_intf,
             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",
@@ -416,6 +418,7 @@ static gint GtkProgramMenu( gpointer            p_data,
 
     /* menu container */
     p_menu = gtk_menu_new();
+    gtk_object_set_data( GTK_OBJECT( p_menu ), "p_intf", p_intf );
 
     p_item_active = NULL;
 
@@ -508,6 +511,7 @@ static gint GtkLanguageMenus( gpointer          p_data,
 
     /* 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") );
@@ -648,6 +652,8 @@ static gint GtkTitleMenu( gpointer       p_data,
     p_item_active = NULL;
     i_title_nb = p_intf->p_sys->p_input->stream.i_area_nb;
 
+    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++ )
     {
@@ -667,6 +673,8 @@ static gint GtkTitleMenu( gpointer       p_data,
             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,
@@ -705,6 +713,8 @@ static gint GtkTitleMenu( gpointer       p_data,
 
 #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;
     
@@ -729,6 +739,8 @@ static gint GtkTitleMenu( gpointer       p_data,
                             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,
index 31f4f621968ff9f8f52cee8986e242843fdf629d..8d1e53035ff1efaaf21a4de55d2471ee8f06e5f3 100644 (file)
@@ -2,7 +2,7 @@
  * gtk_modules.c : functions to build modules configuration boxes.
  *****************************************************************************
  * Copyright (C) 2000, 2001 VideoLAN
- * $Id: gtk_modules.c,v 1.9 2002/06/07 14:30:41 sam Exp $
+ * $Id: gtk_modules.c,v 1.10 2002/07/11 19:28:13 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *          Stéphane Borel <stef@via.ecp.fr>
@@ -48,7 +48,7 @@
 gboolean GtkModulesShow( GtkWidget       *widget,
                          gpointer         user_data )
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), "intf_window" );
+    intf_thread_t *p_intf = GtkGetIntf( widget );
 
     if( !GTK_IS_WIDGET( p_intf->p_sys->p_modules ) )
     {
@@ -64,7 +64,7 @@ gboolean GtkModulesShow( GtkWidget       *widget,
 
 void GtkModulesCancel( GtkButton * button, gpointer user_data )
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(button), "intf_modules" );
+    intf_thread_t *p_intf = GtkGetIntf( button );
 
     gtk_widget_hide( p_intf->p_sys->p_modules );
 }
index 31ac992abd40d0cb009faa326befd2ef59b302ba..4b6fb6e84b972c1df2219405456347cbfdbe5596 100644 (file)
@@ -2,7 +2,7 @@
  * gtk_open.c : functions to handle file/disc/network open widgets.
  *****************************************************************************
  * Copyright (C) 2000, 2001 VideoLAN
- * $Id: gtk_open.c,v 1.28 2002/06/07 14:30:41 sam Exp $
+ * $Id: gtk_open.c,v 1.29 2002/07/11 19:28:13 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *          Stéphane Borel <stef@via.ecp.fr>
 
 #include "netutils.h"
 
+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 );
+
 /*****************************************************************************
- * Fileopen callbacks
+ * File requester callbacks
  *****************************************************************************
  * The following callbacks are related to the file requester.
  *****************************************************************************/
-gboolean GtkFileOpenShow( GtkWidget       *widget,
-                          gpointer         user_data )
+void GtkFileShow( GtkButton * button, gpointer user_data )
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
+    GtkWidget * p_file = create_intf_file();
 
-    /* If we have never used the file selector, open it */
-    if( !GTK_IS_WIDGET( p_intf->p_sys->p_fileopen ) )
-    {
-        char *psz_path;
+    gtk_object_set_data( GTK_OBJECT(p_file), "p_intf", GtkGetIntf( button ) );
 
-        p_intf->p_sys->p_fileopen = create_intf_fileopen();
-        gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_fileopen ),
-                             "p_intf", p_intf );
+    gtk_widget_show( p_file );
+    gdk_window_raise( p_file->window );
+}
 
-        if( (psz_path = config_GetPsz( p_intf, "search-path" )) )
-            gtk_file_selection_set_filename( GTK_FILE_SELECTION(
-                p_intf->p_sys->p_fileopen ), psz_path );
-        if( psz_path ) free( psz_path );
-    }
+void GtkFileOk( GtkButton * button, gpointer user_data )
+{
+    GtkWidget * p_file = gtk_widget_get_toplevel( GTK_WIDGET (button) );
 
-    gtk_widget_show( p_intf->p_sys->p_fileopen );
-    gdk_window_raise( p_intf->p_sys->p_fileopen->window );
+    char *psz_filename;
+    intf_thread_t * p_intf = GtkGetIntf( button );
 
-    return TRUE;
+    /* add the new file to the dialog box */
+    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,
+                                                  "entry_file" ) ),
+                        psz_filename );
+    gtk_widget_destroy( p_file );
 }
 
-
-void GtkFileOpenCancel( GtkButton * button, gpointer user_data )
+void GtkFileCancel( GtkButton * button, gpointer user_data )
 {
-    gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
+    gtk_widget_destroy( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
 }
 
-void GtkFileOpenOk( GtkButton * button, gpointer user_data )
+/*****************************************************************************
+ * Open file callbacks
+ *****************************************************************************
+ * The following callbacks are related to the file tab.
+ *****************************************************************************/
+gboolean GtkFileOpenShow( GtkWidget       *widget,
+                          gpointer         user_data )
 {
-    intf_thread_t * p_intf = GetIntf( GTK_WIDGET(button), "intf_fileopen" );
-    playlist_t *    p_playlist;
-    GtkCList *      p_playlist_clist;
-    GtkWidget *     p_filesel;
-    gchar *         psz_filename;
+    GtkOpenShow( GtkGetIntf( widget ), 0 );
 
-    p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-
-    /* hide the file selector */
-    p_filesel = gtk_widget_get_toplevel( GTK_WIDGET(button) );
-    gtk_widget_hide( p_filesel );
-
-    /* add the new file to the interface playlist */
-    psz_filename =
-        gtk_file_selection_get_filename( GTK_FILE_SELECTION( p_filesel ) );
-    playlist_Add( p_playlist, (char*)psz_filename,
-                  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 );
+    return TRUE;
+}
 
-    vlc_object_release( p_playlist );
+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 );
 }
 
 /*****************************************************************************
@@ -125,131 +125,73 @@ void GtkFileOpenOk( GtkButton * button, gpointer user_data )
 gboolean GtkDiscOpenShow( GtkWidget       *widget,
                           gpointer         user_data)
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
-
-    if( !GTK_IS_WIDGET( p_intf->p_sys->p_disc ) )
-    {
-        p_intf->p_sys->p_disc = create_intf_disc();
-        gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_disc ),
-                             "p_intf", p_intf );
-    }
-
-    gtk_widget_show( p_intf->p_sys->p_disc );
-    gdk_window_raise( p_intf->p_sys->p_disc->window );
+    GtkOpenShow( GtkGetIntf( widget ), 1 );
 
     return TRUE;
 }
 
-
 void GtkDiscOpenDvd( GtkToggleButton * togglebutton, gpointer user_data )
 {
-    intf_thread_t * p_intf = GetIntf( GTK_WIDGET(togglebutton), "intf_disc" );
+    intf_thread_t * p_intf = GtkGetIntf( togglebutton );
+    char *psz_device;
 
-    if( togglebutton->active )
+    if( togglebutton->active
+         && (psz_device = config_GetPsz( p_intf, "dvd" )) )
     {
-        char *psz_dvd_device;
-
-        if( (psz_dvd_device = config_GetPsz( p_intf, "dvd" )) )
-            gtk_entry_set_text(
-                GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
-                                          "disc_name" ) ), psz_dvd_device );
-        if( psz_dvd_device ) free( psz_dvd_device );
+        gtk_entry_set_text(
+            GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
+                                      "disc_name" ) ), psz_device );
+        free( psz_device );
     }
 }
 
 void GtkDiscOpenVcd( GtkToggleButton * togglebutton, gpointer user_data )
 {
-    intf_thread_t * p_intf = GetIntf( GTK_WIDGET(togglebutton), "intf_disc" );
+    intf_thread_t * p_intf = GtkGetIntf( togglebutton );
+    char *psz_device;
 
-    if( togglebutton->active )
+    if( togglebutton->active
+         && (psz_device = config_GetPsz( p_intf, "vcd" )) )
     {
-        char *psz_vcd_device;
-
-        if( (psz_vcd_device = config_GetPsz( p_intf, "vcd" )) )
-            gtk_entry_set_text(
-                GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
-                                          "disc_name" ) ), psz_vcd_device );
-        if( psz_vcd_device ) free( psz_vcd_device );
+        gtk_entry_set_text(
+            GTK_ENTRY( lookup_widget( GTK_WIDGET(togglebutton),
+                                      "disc_name" ) ), psz_device );
+        free( psz_device );
     }
 }
 
-void GtkDiscOpenOk( GtkButton * button, gpointer user_data )
+static void GtkDiscOpenChanged( GtkWidget * button, gpointer user_data )
 {
-    intf_thread_t * p_intf = GetIntf( GTK_WIDGET(button), "intf_disc" );
-    playlist_t *    p_playlist;
-    GtkCList *      p_playlist_clist;
-    char *          psz_device, *psz_source, *psz_method;
-    int             i_title, i_chapter;
-
-    p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-
-    gtk_widget_hide( p_intf->p_sys->p_disc );
-    psz_device = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
-                                         GTK_WIDGET(button), "disc_name" ) ) );
+    GString * p_target = g_string_new( "" );
 
-    /* Check which method was activated */
-    if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
+    if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button), 
                                           "disc_dvd" ) )->active )
     {
-        psz_method = "dvd";
+        g_string_append( p_target, "dvd://" );
     }
     else if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
                                                "disc_vcd" ) )->active )
     {
-        psz_method = "vcd";
-    }
-    else
-    {
-        msg_Err( p_intf, "unknown disc type toggle button position" );
-        return;
-    }
-    
-    /* Select title and chapter */
-    i_title = gtk_spin_button_get_value_as_int(
+        g_string_append( p_target, "vcd://" );
+    }       
+
+    g_string_append( p_target,
+                     gtk_entry_get_text( GTK_ENTRY( lookup_widget(
+                                     GTK_WIDGET(button), "disc_name" ) ) ) );
+    g_string_sprintfa( p_target, "@%i,%i",
+                       gtk_spin_button_get_value_as_int(
                               GTK_SPIN_BUTTON( lookup_widget(
-                                  GTK_WIDGET(button), "disc_title" ) ) );
-
-    i_chapter = gtk_spin_button_get_value_as_int(
+                                  GTK_WIDGET(button), "disc_title" ) ) ),
+                       gtk_spin_button_get_value_as_int(
                               GTK_SPIN_BUTTON( lookup_widget(
-                                  GTK_WIDGET(button), "disc_chapter" ) ) );
-    
-    /* "dvd:foo" has size 5 + strlen(foo) */
-    psz_source = malloc( 3 /* "dvd" */ + 1 /* ":" */
-                           + strlen( psz_device ) + 2 /* @, */
-                           + 4 /* i_title & i_chapter < 100 */ + 1 /* "\0" */ );
-    if( psz_source == NULL )
-    {
-        return;
-    }
-
-    /* Build source name and add it to playlist */
-    sprintf( psz_source, "%s:%s@%d,%d",
-             psz_method, psz_device, i_title, i_chapter );
-    playlist_Add( p_playlist, psz_source,
-                  PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
-    free( psz_source );
-
-    /* catch the GTK CList */
-    p_playlist_clist = GTK_CLIST( gtk_object_get_data(
-        GTK_OBJECT( p_intf->p_sys->p_playwin ), "playlist_clist" ) );
+                                  GTK_WIDGET(button), "disc_chapter" ) ) ) );
 
-    /* update the display */
-    GtkRebuildCList( p_playlist_clist, p_playlist );
-
-    vlc_object_release( p_playlist );
-}
-
-
-void GtkDiscOpenCancel( GtkButton * button, gpointer user_data )
-{
-    gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
+    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
  *****************************************************************************
@@ -258,155 +200,53 @@ void GtkDiscOpenCancel( GtkButton * button, gpointer user_data )
 gboolean GtkNetworkOpenShow( GtkWidget       *widget,
                              gpointer         user_data )
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
-
-    if( !GTK_IS_WIDGET( p_intf->p_sys->p_network ) )
-    {
-        char *psz_channel_server;
-
-        p_intf->p_sys->p_network = create_intf_network();
-        gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_network ),
-                             "p_intf", p_intf );
-
-        gtk_spin_button_set_value( GTK_SPIN_BUTTON( gtk_object_get_data(
-            GTK_OBJECT( p_intf->p_sys->p_network ), "network_udp_port" ) ),
-            config_GetInt( p_intf, "server-port" ) );
-
-        psz_channel_server = config_GetPsz( p_intf, "channel-server" );
-        if( psz_channel_server )
-            gtk_entry_set_text( GTK_ENTRY( gtk_object_get_data(
-                GTK_OBJECT( p_intf->p_sys->p_network ), "network_channel_address" ) ),
-                psz_channel_server );
-        if( psz_channel_server ) free( psz_channel_server );
-
-        gtk_spin_button_set_value( GTK_SPIN_BUTTON( gtk_object_get_data(
-            GTK_OBJECT( p_intf->p_sys->p_network ), "network_channel_port" ) ),
-            config_GetInt( p_intf, "channel-port" ) );
-
-        gtk_toggle_button_set_active( gtk_object_get_data( GTK_OBJECT(
-            p_intf->p_sys->p_network ), "network_channel" ),
-            config_GetInt( p_intf, "network-channel" ) );
-    }
-
-    gtk_widget_show( p_intf->p_sys->p_network );
-    gdk_window_raise( p_intf->p_sys->p_network->window );
+    GtkOpenShow( GtkGetIntf( widget ), 2 );
 
     return TRUE;
 }
 
-
-void GtkNetworkOpenOk( GtkButton *button, gpointer user_data )
+static void GtkNetworkOpenChanged( GtkWidget *button, gpointer user_data )
 {
-    intf_thread_t * p_intf = GetIntf( GTK_WIDGET(button), "intf_network" );
-    playlist_t *    p_playlist;
-    GtkCList *      p_playlist_clist;
-    char *          psz_source, *psz_address;
+    intf_thread_t * p_intf = GtkGetIntf( button );
+    GString *       p_target = g_string_new( "" );
+
     unsigned int    i_port;
     vlc_bool_t      b_channel;
 
-    p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-    if( p_playlist == NULL )
-    {
-        return;
-    }
-
-    gtk_widget_hide( p_intf->p_sys->p_network );
-//    psz_server = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
-//                                 GTK_WIDGET(button), "network_server" ) ) );
-
-    /* select added item */
-#if 0
-    if( p_intf->p_vlc->p_input_bank->pp_input[0] != NULL )
-    {
-        p_intf->p_vlc->p_input_bank->pp_input[0]->b_eof = 1;
-    }
-#endif
-
     /* Manage channel server */
     b_channel = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON(
             lookup_widget( GTK_WIDGET(button), "network_channel" ) ) );
     config_PutInt( p_intf, "network-channel", b_channel );
 
+#define SELECTED( s ) GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button), \
+                       (s) ) )->active
     /* Check which option was chosen */
-    /* UDP */
-    if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
-                                          "network_udp" ) )->active )
+    if( SELECTED( "network_udp" ) )
     {
-        /* No address in UDP mode */
-        psz_address = "";
-
-        /* Get the port number and make sure it will not
-         * overflow 5 characters */
+        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 > 65535 )
-        {
-            msg_Err( p_intf, "invalid port %i", i_port );
-        }
-        /* Allocate room for "protocol:@:port" */
-        psz_source = malloc( 5 /* "udp:@" */ + 1 /* ":" */
-                             + 5 /* 0-65535 */ + 1 /* "\0" */ );
-        if( psz_source == NULL )
+                               lookup_widget( GTK_WIDGET(button),
+                                              "network_udp_port" ) ) );
+        if( i_port != 1234 )
         {
-            return;
+            g_string_sprintfa( p_target, "@:%i", i_port );
         }
-
-        /* Build source name and add it to playlist */
-        sprintf( psz_source, "udp:@:%i", i_port );
-        playlist_Add( p_playlist, psz_source,
-                      PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
-        free( psz_source );
-
-        /* 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 display */
-        GtkRebuildCList( p_playlist_clist, p_playlist );
     }
-
-    /* UDP Multicast */
-    else if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
-                                               "network_multicast" ) )->active )
+    else if( SELECTED( "network_multicast" ) )
     {
-        /* get the address */
-        psz_address = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
-                        GTK_WIDGET(button), "network_multicast_address" ) ) );
-        /* Get the port number and make sure it will not
-         * overflow 5 characters */
+        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 > 65535 )
+                               lookup_widget( GTK_WIDGET(button),
+                                              "network_multicast_port" ) ) );
+        if( i_port != 1234 )
         {
-            msg_Err( p_intf, "invalid port %i", i_port );
+            g_string_sprintfa( p_target, ":%i", i_port );
         }
-        /* Allocate room for "protocol:@address:port" */
-        psz_source = malloc( 5 /* "udp:@" */
-                             + strlen( psz_address ) + 1 /* ":" */
-                             + 5 /* 0-65535 */ + 1 /* "\0" */ );
-        if( psz_source == NULL )
-        {
-            return;
-        }
-
-        /* Build source name and add it to playlist */
-        sprintf( psz_source, "udp:@%s:%i", psz_address, i_port );
-        playlist_Add( p_playlist, psz_source,
-                      PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
-        free( psz_source );
-
-        /* 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 display */
-        GtkRebuildCList( p_playlist_clist, p_playlist );
     }
-    
-    /* Channel server */
-    else if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
-                                               "network_channel" ) )->active )
+    else if( SELECTED( "network_channel" ) )
     {
         char *          psz_channel;
         unsigned int    i_channel_port;
@@ -427,133 +267,101 @@ void GtkNetworkOpenOk( GtkButton *button, gpointer user_data )
             config_PutInt( p_intf, "channel-port", i_channel_port );
         }
 
-        p_intf->p_sys->b_playing = 1;
+        /* FIXME: we should use a playlist server instead */
+        g_string_append( p_target, "udp://" );
     }
-    
-    /* HTTP */
-    else if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET(button),
-                                               "network_http" ) )->active )
+    else if( SELECTED( "network_http" ) )
     {
-        /* get the url */
-        psz_address = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
-                        GTK_WIDGET(button), "network_http_url" ) ) );
-
-        /* Allocate room for "protocol://url" */
-        psz_source = malloc( 7 /* "http://" */
-                             + strlen( psz_address ) + 1 /* "\0" */ );
-        if( psz_source == NULL )
-        {
-            return;
-        }
-
-        /* Build source name and add it to playlist */
-        sprintf( psz_source, "http://%s", psz_address );
-        playlist_Add( p_playlist, psz_source,
-                      PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
-        free( psz_source );
-
-        /* 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 display */
-        GtkRebuildCList( p_playlist_clist, p_playlist );
+        g_string_sprintfa( p_target, "http://%s",
+                           gtk_entry_get_text( GTK_ENTRY( lookup_widget(
+                               GTK_WIDGET(button), "network_http_url" ) ) ) );
     }
 
-    /* This shouldn't occur */
-    else
-    {
-        msg_Err( p_intf, "unknown protocol toggle button position" );
-        return;
-    }
-
-    /* add the item to the playlist if the channel server wasn't chosen */
-    if( !b_channel )
-    {
-    }
-
-    vlc_object_release( p_playlist );
-}
-
-void GtkNetworkOpenCancel( GtkButton * button, gpointer user_data)
-{
-    gtk_widget_hide( gtk_widget_get_toplevel( GTK_WIDGET (button) ) );
+    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_network;
+    GtkWidget *     p_open;
 
-    p_network = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
+    p_open = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
 
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
+    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_network ),
+    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_network;
+    GtkWidget *     p_open;
 
-    p_network = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
+    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_network ),
+    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_network ),
+    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_network ),
+    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 GtkNetworkOpenChannel( GtkToggleButton *togglebutton,
                                        gpointer user_data )
 {
-    GtkWidget *     p_network;
+    GtkWidget *     p_open;
 
-    p_network = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
+    p_open = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
+    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
                     "network_channel_address_label" ),
                     gtk_toggle_button_get_active( togglebutton ) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
+    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
                     "network_channel_address_combo" ),
                     gtk_toggle_button_get_active( togglebutton ) );
 
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
+    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
                     "network_channel_port_label" ),
                     gtk_toggle_button_get_active( togglebutton ) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
+    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_open ),
                     "network_channel_port" ),
                     gtk_toggle_button_get_active( togglebutton ) );
-}
 
+    GtkNetworkOpenChanged( GTK_WIDGET( togglebutton ), user_data );
+}
 
 void GtkNetworkOpenHTTP( GtkToggleButton *togglebutton,
                                          gpointer user_data )
 {   
-    GtkWidget *     p_network;
+    GtkWidget *     p_open;
 
-    p_network = gtk_widget_get_toplevel( GTK_WIDGET (togglebutton) );
-    gtk_widget_set_sensitive( gtk_object_get_data( GTK_OBJECT( p_network ),
+    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_network ),
+    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
@@ -563,89 +371,164 @@ void GtkNetworkOpenHTTP( GtkToggleButton *togglebutton,
 gboolean GtkSatOpenShow( GtkWidget       *widget,
                          gpointer         user_data)
 {
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
+    GtkOpenShow( GtkGetIntf( widget ), 3 );
 
-    if( !GTK_IS_WIDGET( p_intf->p_sys->p_sat ) )
-    {
-        p_intf->p_sys->p_sat = create_intf_sat();
-        gtk_object_set_data( GTK_OBJECT( p_intf->p_sys->p_sat ),
-                             "p_intf", p_intf );
-    }
+    return TRUE;
+}
 
-    gtk_widget_show( p_intf->p_sys->p_sat );
-    gdk_window_raise( p_intf->p_sys->p_sat->window );
+static void GtkSatOpenChanged( GtkWidget * button, gpointer user_data )
+{
+    GString *       p_target = g_string_new( "" );
 
-    return TRUE;
+    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 GtkSatOpenOk( GtkButton * button, gpointer user_data )
+void
+GtkSatOpenToggle                       (GtkToggleButton *togglebutton,
+                                        gpointer         user_data)
 {
-    intf_thread_t * p_intf = GetIntf( GTK_WIDGET(button), "intf_sat" );
-    playlist_t *    p_playlist;
-    GtkCList *      p_playlist_clist;
-    char *          psz_source;
-    int             i_freq, i_srate;
-    int             i_fec;
-    vlc_bool_t      b_pol;
+    if( togglebutton->active )
+    {
+        GtkSatOpenChanged( GTK_WIDGET( togglebutton ), user_data );
+    }
+}
 
-    p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
-    if( p_playlist == NULL )
+/******************************
+  ******************************/
+
+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 ) )
     {
-        return;
+        goto setpage;
     }
 
-    gtk_widget_hide( p_intf->p_sys->p_sat );
+    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 );
 
-    /* Check which polarization was activated */
-    if( GTK_TOGGLE_BUTTON( lookup_widget( GTK_WIDGET( button ),
-                                        "sat_pol_vert" ) )->active )
+    /* FileOpen stuff */
+    psz_var = config_GetPsz( p_intf, "search-path" );
+    if( psz_var )
     {
-        b_pol = 0;
+        gtk_file_selection_set_filename( GTK_FILE_SELECTION(
+            p_intf->p_sys->p_open ), psz_var );
+        free( psz_var );
     }
-    else
+
+    /* 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" ) );
+
+    psz_var = config_GetPsz( p_intf, "channel-server" );
+    if( psz_var )
     {
-        b_pol = 1;
+        gtk_entry_set_text( GTK_ENTRY( gtk_object_get_data(
+            GTK_OBJECT( p_intf->p_sys->p_open ), "network_channel_address" ) ),
+            psz_var );
+        free( psz_var );
     }
 
-    i_fec = strtol( gtk_entry_get_text( GTK_ENTRY( GTK_COMBO( 
-                lookup_widget( GTK_WIDGET( button ), "sat_fec" )
-                )->entry ) ), NULL, 10 );
+    gtk_spin_button_set_value( GTK_SPIN_BUTTON( gtk_object_get_data(
+        GTK_OBJECT( p_intf->p_sys->p_open ), "network_channel_port" ) ),
+        config_GetInt( p_intf, "channel-port" ) );
 
-    /* Select frequency and symbol rate */
-    i_freq = gtk_spin_button_get_value_as_int(
-                              GTK_SPIN_BUTTON( lookup_widget(
-                                  GTK_WIDGET(button), "sat_freq" ) ) );
+    gtk_toggle_button_set_active( gtk_object_get_data(
+        GTK_OBJECT( p_intf->p_sys->p_open ), "network_channel" ),
+        config_GetInt( p_intf, "network-channel" ) );
 
-    i_srate = gtk_spin_button_get_value_as_int(
-                              GTK_SPIN_BUTTON( lookup_widget(
-                                  GTK_WIDGET(button), "sat_srate" ) ) );
-    
-    psz_source = malloc( 22 );
-    if( psz_source == NULL )
+    /* 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;
     }
 
-    /* Build source name and add it to playlist */
-    sprintf( psz_source, "%s:%d,%d,%d,%d",
-             "satellite", i_freq, b_pol, i_fec, i_srate );
-    playlist_Add( p_playlist, psz_source,
+    psz_target = gtk_entry_get_text( GTK_ENTRY( lookup_widget(
+                                       GTK_WIDGET(button), "entry_open" ) ) );
+    playlist_Add( p_playlist, (char*)psz_target,
                   PLAYLIST_APPEND | PLAYLIST_GO, PLAYLIST_END );
-    free( psz_source );
 
     /* 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 display */
+    /* update the plugin display */
     GtkRebuildCList( p_playlist_clist, p_playlist );
 
     vlc_object_release( p_playlist );
 }
 
-
-void GtkSatOpenCancel( GtkButton * button, gpointer user_data )
+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;
+    }
+}
+
index 2a3fb2aa124e1b1c4448e766747b161a71addd85..6838ab310f454a30899efb78b915f8e2df843965 100644 (file)
@@ -2,7 +2,7 @@
  * gtk_playlist.c : Interface for the playlist dialog
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
- * $Id: gtk_playlist.c,v 1.35 2002/06/07 19:54:37 sam Exp $
+ * $Id: gtk_playlist.c,v 1.36 2002/07/11 19:28:13 sam Exp $
  *
  * Authors: Pierre Baillet <oct@zoy.org>
  *          Stéphane Borel <stef@via.ecp.fr>
@@ -65,7 +65,7 @@ static GList * GtkReadFiles ( intf_thread_t *, gchar * );
 gboolean GtkPlaylistShow( GtkWidget       *widget,
                           gpointer         user_data )
 {
-    intf_thread_t *  p_intf = GetIntf( GTK_WIDGET(widget), (char*)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 )
@@ -110,7 +110,7 @@ void GtkPlaylistCancel( GtkButton * button, gpointer user_data )
 gboolean GtkPlaylistPrev( GtkWidget       *widget,
                           gpointer         user_data )
 {
-    intf_thread_t *  p_intf = GetIntf( GTK_WIDGET(widget), (char*)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 )
@@ -128,7 +128,7 @@ gboolean GtkPlaylistPrev( GtkWidget       *widget,
 gboolean GtkPlaylistNext( GtkWidget       *widget,
                           gpointer         user_data)
 {
-    intf_thread_t *  p_intf = GetIntf( GTK_WIDGET(widget), (char*)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 )
@@ -163,7 +163,7 @@ void GtkPlaylistDeleteSelected( GtkMenuItem * menuitem, gpointer user_data )
     GList *     p_selection;
     GtkCList *  p_clist;
 
-    intf_thread_t *  p_intf = GetIntf( GTK_WIDGET(menuitem), user_data );
+    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 )
@@ -211,7 +211,7 @@ void GtkPlaylistInvert( GtkMenuItem * menuitem, gpointer user_data )
     int         i_dummy;
 
     /* catch the thread back */
-    intf_thread_t *p_intf = GetIntf( GTK_WIDGET(menuitem), (char*)user_data );
+    intf_thread_t *p_intf = GtkGetIntf( menuitem );
 
     /* lock the struct */
     vlc_mutex_lock( &p_intf->change_lock );
@@ -257,7 +257,7 @@ gboolean GtkPlaylistEvent( GtkWidget * widget,
                            GdkEvent  * event,
                            gpointer    user_data)
 {
-    intf_thread_t *  p_intf = GetIntf( GTK_WIDGET(widget), (char*)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 )
@@ -297,7 +297,7 @@ void GtkPlaylistDragData( GtkWidget       *widget,
                           guint            time,
                           gpointer         user_data )
 {
-    intf_thread_t * p_intf = GetIntf( GTK_WIDGET(widget), (char*)user_data );
+    intf_thread_t * p_intf = GtkGetIntf( widget );
     GtkCList *      p_clist;
     gint            i_row;
     gint            i_col;
@@ -331,7 +331,7 @@ gboolean GtkPlaylistDragMotion( GtkWidget       *widget,
     int         i_dummy;
     GdkColor    color;
 
-    intf_thread_t *  p_intf = GetIntf( GTK_WIDGET(widget), (char*)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 )
index 17987a01211ae7d1ba709faf1c28b84960ab2f7d..b6fd1644e91d4f2c3a49710f2c842a15a782c65f 100644 (file)
@@ -2,7 +2,7 @@
  * gtk_preferences.c: functions to handle the preferences dialog box.
  *****************************************************************************
  * Copyright (C) 2000, 2001 VideoLAN
- * $Id: gtk_preferences.c,v 1.33 2002/06/11 09:44:21 gbazin Exp $
+ * $Id: gtk_preferences.c,v 1.34 2002/07/11 19:28:13 sam Exp $
  *
  * Authors: Gildas Bazin <gbazin@netcourrier.com>
  *          Loïc Minier <lool@via.ecp.fr>
@@ -80,7 +80,7 @@ void GtkPreferencesShow( GtkMenuItem * menuitem, gpointer user_data )
 {
     intf_thread_t * p_intf;
 
-    p_intf = GetIntf( GTK_WIDGET(menuitem), (char*)user_data );
+    p_intf = GtkGetIntf( menuitem );
 
     GtkCreateConfigDialog( "main", p_intf );
 }