* pda.c : PDA Gtk2 plugin for vlc
*****************************************************************************
* Copyright (C) 2002 VideoLAN
- * $Id: pda.c,v 1.8 2003/11/07 13:01:51 jpsaman Exp $
+ * $Id: pda.c,v 1.9 2003/11/18 20:36:40 jpsaman Exp $
*
* Authors: Jean-Paul Saman <jpsaman@wxs.nl>
* Marc Ariberti <marcari@videolan.org>
GtkCellRenderer *renderer = NULL;
GtkTreeViewColumn *column = NULL;
GtkListStore *filelist = NULL;
+ GtkListStore *playlist = NULL;
#ifndef NEED_GTK2_MAIN
gtk_set_locale ();
G_TYPE_UINT64, /* File size */
G_TYPE_STRING, /* Owner */
G_TYPE_STRING);/* Group */
- ReadDirectory(filelist, ".");
+ ReadDirectory(p_intf, filelist, ".");
msg_Dbg(p_intf, "Showing GtkTreeView FileList" );
gtk_tree_view_set_model(GTK_TREE_VIEW(p_intf->p_sys->p_tvfile), GTK_TREE_MODEL(filelist));
g_object_unref(filelist); /* Model will be released by GtkTreeView */
/* BEGIN OF PLAYLIST GTK_TREE_VIEW */
msg_Dbg(p_intf, "Getting GtkTreeView PlayList" );
p_intf->p_sys->p_tvplaylist = NULL;
- p_intf->p_sys->p_tvplaylist = (GtkTreeView *) lookup_widget( p_intf->p_sys->p_window,
- "tvPlaylist");
+ p_intf->p_sys->p_tvplaylist = (GtkTreeView *) lookup_widget( p_intf->p_sys->p_window, "tvPlaylist");
if (NULL == p_intf->p_sys->p_tvplaylist)
msg_Err(p_intf, "Error obtaining pointer to Play List");
/* update the playlist */
msg_Dbg(p_intf, "Populating GtkTreeView Playlist" );
- p_intf->p_sys->p_playlist = gtk_list_store_new (2,
- G_TYPE_STRING, /* Filename */
- G_TYPE_STRING);/* Time */
- PlaylistRebuildListStore( p_intf->p_sys->p_playlist, vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ));
+ playlist = gtk_list_store_new (2,
+ G_TYPE_STRING, /* Filename */
+ G_TYPE_STRING);/* Time */
+ PlaylistRebuildListStore( playlist, vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE ));
msg_Dbg(p_intf, "Showing GtkTreeView Playlist" );
- gtk_tree_view_set_model(GTK_TREE_VIEW(p_intf->p_sys->p_tvplaylist), GTK_TREE_MODEL(p_intf->p_sys->p_playlist));
- g_object_unref(p_intf->p_sys->p_playlist);
+ gtk_tree_view_set_model(GTK_TREE_VIEW(p_intf->p_sys->p_tvplaylist), GTK_TREE_MODEL(playlist));
+ g_object_unref(playlist);
gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(p_intf->p_sys->p_tvplaylist)),GTK_SELECTION_MULTIPLE);
/* Column properties */
gtk_tree_view_set_headers_clickable(p_intf->p_sys->p_tvplaylist, TRUE);
/* END OF PLAYLIST GTK_TREE_VIEW */
- /* Save MRL entry object */
- p_intf->p_sys->p_mrlentry = GTK_ENTRY( gtk_object_get_data(
- GTK_OBJECT( p_intf->p_sys->p_window ), "mrl_entry" ) );
-
/* Store p_intf to keep an eye on it */
msg_Dbg( p_intf, "trying to store p_intf pointer ... " );
gtk_object_set_data( GTK_OBJECT(p_intf->p_sys->p_window),
<packing>
<property name="padding">4</property>
<property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="fill">True</property>
</packing>
</child>
<property name="reorderable">False</property>
<property name="enable_search">True</property>
<signal name="row_activated" handler="onFileListRow" last_modification_time="Fri, 26 Sep 2003 13:30:40 GMT"/>
- <signal name="select_cursor_row" handler="onFileListRowSelected" last_modification_time="Fri, 26 Sep 2003 13:31:20 GMT"/>
</widget>
</child>
</widget>
<property name="case_sensitive">False</property>
<property name="enable_arrow_keys">True</property>
<property name="enable_arrows_always">False</property>
- <signal name="add" handler="onNetworkMRLAdd" last_modification_time="Fri, 07 Nov 2003 14:35:58 GMT"/>
<child internal-child="entry">
<widget class="GtkEntry" id="entryMRL">
<property name="update_policy">GTK_UPDATE_ALWAYS</property>
<property name="snap_to_ticks">False</property>
<property name="wrap">False</property>
- <property name="adjustment">1233 0 65535 1 10 10</property>
+ <property name="adjustment">1234 0 65535 1 10 10</property>
<signal name="changed" handler="NetworkBuildMRL" last_modification_time="Sat, 08 Nov 2003 13:34:10 GMT"/>
</widget>
<packing>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
- <property name="text" translatable="yes">unicast</property>
+ <property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
- <property name="text" translatable="yes">udp</property>
+ <property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">False</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
- <property name="text" translatable="yes">/dev/video</property>
+ <property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
- <property name="text" translatable="yes">/dev/dsp</property>
+ <property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
- <property name="text" translatable="yes">pal</property>
+ <property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
- <property name="text" translatable="yes">240x192</property>
+ <property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
- <property name="text" translatable="yes">mono</property>
+ <property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
- <property name="text" translatable="yes">huffyuv</property>
+ <property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
- <property name="text" translatable="yes">127.0.0.1</property>
+ <property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
- <property name="text" translatable="yes">udp</property>
+ <property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
- <property name="text" translatable="yes">ts</property>
+ <property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">True</property>
<property name="editable">True</property>
<property name="visibility">True</property>
<property name="max_length">0</property>
- <property name="text" translatable="yes">alaw</property>
+ <property name="text" translatable="yes"></property>
<property name="has_frame">True</property>
<property name="invisible_char" translatable="yes">*</property>
<property name="activates_default">True</property>
<property name="spacing">0</property>
<child>
- <placeholder/>
+ <widget class="GtkScrolledWindow" id="scrolledwindowPreference">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
+ <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView" id="tvPreferences">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">False</property>
+ <property name="rules_hint">False</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">True</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
</child>
<child>
</child>
<child>
- <widget class="GtkLabel" id="labelProgramName">
- <property name="width_request">152</property>
+ <widget class="GtkLabel" id="labelCopyright">
+ <property name="width_request">208</property>
<property name="height_request">16</property>
<property name="visible">True</property>
- <property name="label" translatable="yes">VLC media player</property>
+ <property name="label" translatable="yes">(C) 1996-2003 the VideoLAN team</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">True</property>
+ <property name="wrap">False</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="ypad">0</property>
</widget>
<packing>
- <property name="x">48</property>
- <property name="y">16</property>
+ <property name="x">16</property>
+ <property name="y">48</property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelCopyright">
- <property name="width_request">208</property>
+ <widget class="GtkLabel" id="labelProgramName">
+ <property name="width_request">152</property>
<property name="height_request">16</property>
<property name="visible">True</property>
- <property name="label" translatable="yes">(C) 1996-2003 the VideoLAN team</property>
+ <property name="label" translatable="yes">VLC media player</property>
<property name="use_underline">False</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_CENTER</property>
- <property name="wrap">False</property>
+ <property name="wrap">True</property>
<property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="ypad">0</property>
</widget>
<packing>
- <property name="x">16</property>
- <property name="y">48</property>
+ <property name="x">48</property>
+ <property name="y">16</property>
</packing>
</child>
</widget>
* pda.h: private Gtk+ interface description
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: pda.h,v 1.4 2003/11/07 13:01:51 jpsaman Exp $
+ * $Id: pda.h,v 1.5 2003/11/18 20:36:40 jpsaman Exp $
*
* Authors: Jean-Paul Saman <jpsaman@wxs.nl>
*
/* windows and widgets */
GtkWidget *p_window; /* main window */
- GtkEntry *p_mrlentry;
GtkNotebook *p_notebook;
GtkHScale *p_slider;
GtkTreeView *p_tvfile;
GtkTreeView *p_tvplaylist;
- GtkListStore *p_playlist; /* Playlist widget */
/* slider */
GtkLabel * p_slider_label;
* pda_callbacks.c : Callbacks for the pda Linux Gtk+ plugin.
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
- * $Id: pda_callbacks.c,v 1.13 2003/11/09 21:29:52 jpsaman Exp $
+ * $Id: pda_callbacks.c,v 1.14 2003/11/18 20:36:40 jpsaman Exp $
*
* Authors: Jean-Paul Saman <jpsaman@wxs.nl>
*
#include <dirent.h>
#include <sys/stat.h>
#include <unistd.h>
+#include <pwd.h>
+#include <grp.h>
#ifdef HAVE_CONFIG_H
# include <config.h>
#define VLC_MAX_MRL 256
-static char* get_file_stat(const char *path, uid_t *uid, gid_t *gid, off_t *size);
+static char *get_file_stat(const char *path, off_t *size);
/*****************************************************************************
* Useful function to retrieve p_intf
return p_data;
}
-void PlaylistAddItem( GtkWidget *widget, gchar *name)
+void PlaylistAddItem(GtkWidget *widget, gchar *name)
{
GtkTreeView *p_tvplaylist = NULL;
{
intf_thread_t *p_intf = GtkGetIntf( widget );
playlist_t *p_playlist;
- GtkTreeView *p_tvplaylist;
p_playlist = (playlist_t *)
vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
}
vlc_object_release( p_playlist );
- p_tvplaylist = (GtkTreeView*) lookup_widget( GTK_WIDGET(widget), "tvPlaylist" );
- if (p_tvplaylist)
- {
- GtkListStore *p_liststore;
- p_liststore = (GtkListStore *) gtk_tree_view_get_model(p_tvplaylist);
- PlaylistRebuildListStore(p_liststore, p_playlist);
- }
+ PlaylistAddItem(GTK_WIDGET(widget), psz_url);
}
}
#endif
/*****************************************************************
* Read directory helper function.
****************************************************************/
-void ReadDirectory(GtkListStore *p_list, char *psz_dir )
+void ReadDirectory(intf_thread_t *p_intf, GtkListStore *p_list, char *psz_dir )
{
GtkTreeIter iter;
struct dirent **namelist;
int n=-1, status=-1;
- g_print("changing to dir %s\n", psz_dir);
+ msg_Dbg(p_intf, "Changing to dir %s", psz_dir);
if (psz_dir)
{
status = chdir(psz_dir);
if (status<0)
- g_print( "permision denied\n" );
+ msg_Dbg(p_intf, "permision denied" );
}
n = scandir(".", &namelist, 0, alphasort);
else
{
int i;
- uint32_t uid;
- uint32_t gid;
off_t size;
- gchar *ppsz_text[5];
+ gchar *ppsz_text[4];
/* XXX : kludge temporaire pour yopy */
- ppsz_text[0]="..";
- ppsz_text[1] = get_file_stat("..", &uid, &gid, &size);
- ppsz_text[2] = "";
- ppsz_text[3] = "";
- ppsz_text[4] = "";
+ ppsz_text[0] = "..";
+ ppsz_text[1] = get_file_stat("..", &size);
+ ppsz_text[2] = "?";
+ ppsz_text[3] = "?";
/* Add a new row to the model */
gtk_list_store_append (p_list, &iter);
0, ppsz_text[0],
1, ppsz_text[1],
2, size,
- 3, ppsz_text[3],
- 4, ppsz_text[4],
+ 3, ppsz_text[2],
+ 4, ppsz_text[3],
-1);
if (ppsz_text[1]) free(ppsz_text[1]);
{
/* This is a list of strings. */
ppsz_text[0] = namelist[i]->d_name;
- ppsz_text[1] = get_file_stat(namelist[i]->d_name, &uid, &gid, &size);
- ppsz_text[2] = "";
- ppsz_text[3] = "";
- ppsz_text[4] = "";
-#if 0
- g_print( "(%d) file: %s permission: %s user: %ull group: %ull size: %ull\n", i, ppsz_text[0], ppsz_text[1], uid, gid, size );
+ ppsz_text[1] = get_file_stat(namelist[i]->d_name, &size);
+ ppsz_text[2] = "?";
+ ppsz_text[3] = "?";
+#if 1
+ msg_Dbg(p_intf, "(%d) file: %s permission: %s user: %s group: %s size: %ull", i, ppsz_text[0], ppsz_text[1], ppsz_text[2], ppsz_text[3], (unsigned long long) size );
#endif
gtk_list_store_append (p_list, &iter);
gtk_list_store_set (p_list, &iter,
0, ppsz_text[0],
1, ppsz_text[1],
2, size,
- 3, ppsz_text[3],
- 4, ppsz_text[4],
+ 3, ppsz_text[2],
+ 4, ppsz_text[3],
-1);
if (ppsz_text[1]) free(ppsz_text[1]);
}
}
-static char* get_file_stat(const char *path, uid_t *uid, gid_t *gid, off_t *size)
+static char *get_file_stat(const char *path, off_t *size)
{
- struct stat st;
- char *perm;
+ struct passwd *pw = NULL;
+ struct group *grp = NULL;
+ struct stat st;
+ char *perm;
+ int ret = -1;
perm = (char *) malloc(sizeof(char)*10);
strncpy( perm, "----------", sizeof("----------"));
if (lstat(path, &st)==0)
{
- /* user, group, filesize */
- *uid = st.st_uid;
- *gid = st.st_gid;
- *size = st.st_size;
/* determine permission modes */
if (S_ISLNK(st.st_mode))
perm[0]= 'l';
}
else if (st.st_mode &S_ISVTX)
perm[9]= 'T';
+
+#if 0
+ *permission = perm;
+
+ /* user, group, filesize */
+ pw = getpwuid(st.st_uid);
+ grp = getgrgid(st.st_gid);
+ if (NULL == pw)
+ return -1;
+ *uid = (char*) malloc( sizeof(char) * strlen(pw->pw_name) );
+ strcpy(path[2],pw->pw_name);
+ if (NULL == grp)
+ return -1;
+ *gid = (char*) malloc( sizeof(char) * strlen(grp->gr_name) );
+ strcpy(path[3], grp->gr_name);
+#endif
+ *size = st.st_size;
+ ret = 0;
}
return perm;
}
gtk_tree_model_get(model, iter, 0, &filename, -1);
- /* Add to playlist object. */
PlaylistAddItem(GTK_WIDGET(userdata), filename);
}
GtkTreeViewColumn *column,
gpointer user_data)
{
+ intf_thread_t *p_intf = GtkGetIntf( GTK_WIDGET(treeview) );
GtkTreeSelection *selection = gtk_tree_view_get_selection(treeview);
if (gtk_tree_selection_count_selected_rows(selection) == 1)
{
- struct stat st;
+ struct stat st;
GtkTreeModel *model;
GtkTreeIter iter;
gchar *filename;
/* This might be a directory selection */
model = gtk_tree_view_get_model(treeview);
if (!model)
- g_print( "Error: model is a null pointer\n" );
- if (!gtk_tree_model_get_iter(model, &iter, path))
- g_print( "Error: could not get iter from model\n" );
+ msg_Err(p_intf, "PDA: Filelist model contains a NULL pointer\n" );
- gtk_tree_model_get(model, &iter, 0, &filename, -1);
-
- if (stat((char*)filename, &st)==0)
+ if (path == NULL )
{
- if (S_ISDIR(st.st_mode))
+#if 0
+ GList* list;
+
+ list = gtk_tree_selection_get_selected_rows(selection,model);
+ if (g_list_length(list) == 1)
{
- GtkListStore *p_model = NULL;
-
- /* Get new directory listing */
- p_model = gtk_list_store_new (5,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_UINT64,
- G_TYPE_STRING,
- G_TYPE_STRING);
- if (p_model)
- {
- ReadDirectory(p_model, filename);
-
- /* Update TreeView with new model */
- gtk_tree_view_set_model(treeview, (GtkTreeModel*) p_model);
- g_object_unref(p_model);
- }
+ filename = (gchar *) g_list_nth_data(list,0);
+ msg_Dbg(p_intf, "PDA: filename = %s", (gchar*) filename );
+ PlaylistAddItem(GTK_WIDGET(treeview), filename);
}
- else
+ g_list_foreach (list, gtk_tree_path_free, NULL);
+ g_list_free (list);
+#endif
+ }
+ else
+ {
+ if (!gtk_tree_model_get_iter(model, &iter, path))
+ msg_Err( p_intf, "PDA: Could not get iter from model" );
+
+ gtk_tree_model_get(model, &iter, 0, &filename, -1);
+
+ if (stat((char*)filename, &st)==0)
{
- gtk_tree_selection_selected_foreach(selection, (GtkTreeSelectionForeachFunc) &addSelectedToPlaylist, (gpointer) treeview);
+ if (S_ISDIR(st.st_mode))
+ {
+ GtkListStore *p_model = NULL;
+
+ /* Get new directory listing */
+ p_model = gtk_list_store_new (5,
+ G_TYPE_STRING,
+ G_TYPE_STRING,
+ G_TYPE_UINT64,
+ G_TYPE_STRING,
+ G_TYPE_STRING);
+ if (p_model)
+ {
+ ReadDirectory(p_intf, p_model, filename);
+
+ /* Update TreeView with new model */
+ gtk_tree_view_set_model(treeview, (GtkTreeModel*) p_model);
+ g_object_unref(p_model);
+ }
+ }
+ else
+ {
+ gtk_tree_selection_selected_foreach(selection, (GtkTreeSelectionForeachFunc) &addSelectedToPlaylist, (gpointer) treeview);
+ }
}
}
}
}
}
-
-void
-onFileListColumns (GtkTreeView *treeview,
- gpointer user_data)
-{
- g_print("onFileListColumn\n");
-}
-
-
-gboolean
-onFileListRowSelected (GtkTreeView *treeview,
- gboolean start_editing,
- gpointer user_data)
-{
- g_print("onFileListRowSelected\n");
- return FALSE;
-}
-
-
void
onAddFileToPlaylist (GtkButton *button,
gpointer user_data)
{
mrl_name = gtk_entry_get_text(p_mrl);
- PlaylistAddItem(GTK_WIDGET(button), (gchar *)p_mrl);
+ PlaylistAddItem(GTK_WIDGET(button), (gchar *)mrl_name);
}
}
onAddCameraToPlaylist (GtkButton *button,
gpointer user_data)
{
+ intf_thread_t *p_intf = GtkGetIntf( button );
+
GtkSpinButton *entryV4LChannel = NULL;
GtkSpinButton *entryV4LFrequency = NULL;
GtkSpinButton *entryV4LSampleRate = NULL;
/* end MJPEG only */
if (pos >= VLC_MAX_MRL)
+ {
v4l_mrl[VLC_MAX_MRL-1]='\0';
-
- g_print( "%s\n", v4l_mrl );
+ msg_Err(p_intf, "Media Resource Locator is truncated to: %s", v4l_mrl);
+ }
PlaylistAddItem(GTK_WIDGET(button), (gchar*) &v4l_mrl);
}
GdkEvent *event,
gpointer user_data)
{
- g_print("onPlaylistEvent\n");
return FALSE;
}
onPlaylistColumnsChanged (GtkTreeView *treeview,
gpointer user_data)
{
- g_print("onPlaylistColumnsChanged\n");
}
gboolean start_editing,
gpointer user_data)
{
- g_print("onPlaylistRowSelected\n");
- return FALSE;
+ return FALSE;
}
GtkTreeViewColumn *column,
gpointer user_data)
{
- g_print("onPlaylistRow\n");
}
onClearPlaylist (GtkButton *button,
gpointer user_data)
{
+ intf_thread_t *p_intf = GtkGetIntf( button );
+ msg_Dbg(p_intf, "Clear playlist" );
}
onPreferenceSave (GtkButton *button,
gpointer user_data)
{
+ intf_thread_t *p_intf = GtkGetIntf( button );
+ msg_Dbg(p_intf, "Preferences Save" );
}
onPreferenceApply (GtkButton *button,
gpointer user_data)
{
+ intf_thread_t *p_intf = GtkGetIntf( button );
+ msg_Dbg(p_intf, "Preferences Apply" );
}
onPreferenceCancel (GtkButton *button,
gpointer user_data)
{
+ intf_thread_t *p_intf = GtkGetIntf( button );
+ msg_Dbg(p_intf, "Preferences Cancel" );
}
-
-void
-onNetworkMRLAdd (GtkContainer *container,
- GtkWidget *widget,
- gpointer user_data)
-{
-
-}
-
void
onAddTranscodeToPlaylist (GtkButton *button,
gpointer user_data)
{
+ intf_thread_t *p_intf = GtkGetIntf( button );
+
GtkEntry *entryVideoCodec = NULL;
GtkSpinButton *entryVideoBitrate = NULL;
GtkSpinButton *entryVideoBitrateTolerance = NULL;
pos += snprintf( &mrl[pos], VLC_MAX_MRL - pos, " --ttl=%d", (int)i_std_ttl);
-
if (pos >= VLC_MAX_MRL)
- _mrl[VLC_MAX_MRL-1]='\0';
-
- g_print( "%s\n", mrl );
+ {
+ mrl[VLC_MAX_MRL-1]='\0';
+ msg_Err(p_intf, "Media Resource Locator is truncated to: %s", mrl );
+ }
PlaylistAddItem(GTK_WIDGET(button), (gchar*) &mrl);
}
* callbacks.h : pda plugin for vlc
*****************************************************************************
* Copyright (C) 2003 VideoLAN
- * $Id: pda_callbacks.h,v 1.8 2003/11/09 21:29:52 jpsaman Exp $
+ * $Id: pda_callbacks.h,v 1.9 2003/11/18 20:36:40 jpsaman Exp $
*
* Authors: Jean-Paul Saman <jpsaman@wxs.nl>
*
#include <vlc/vlc.h>
#include <vlc/intf.h>
-void ReadDirectory( GtkListStore *p_list, char *psz_dir );
+void ReadDirectory( intf_thread_t *p_intf, GtkListStore *p_list, char *psz_dir );
#if 0
void MediaURLOpenChanged( GtkWidget *widget, gchar *psz_url );
#endif
GtkTreeViewColumn *column,
gpointer user_data);
-void
-onFileListColumns (GtkTreeView *treeview,
- gpointer user_data);
-
-gboolean
-onFileListRowSelected (GtkTreeView *treeview,
- gboolean start_editing,
- gpointer user_data);
-
void
onAddFileToPlaylist (GtkButton *button,
gpointer user_data);
gpointer user_data);
-void
-onNetworkMRLAdd (GtkContainer *container,
- GtkWidget *widget,
- gpointer user_data);
-
void
NetworkBuildMRL (GtkEditable *editable,
gpointer user_data);
GtkWidget *ClearPlaylist;
GtkWidget *playlist;
GtkWidget *vbox2;
+ GtkWidget *scrolledwindowPreference;
+ GtkWidget *tvPreferences;
GtkWidget *hbox2;
GtkWidget *PreferenceSave;
GtkWidget *PreferenceApply;
GtkWidget *aboutImage;
GtkWidget *labelDescription;
GtkWidget *labelAuthors;
- GtkWidget *labelProgramName;
GtkWidget *labelCopyright;
+ GtkWidget *labelProgramName;
GtkWidget *about;
GtkTooltips *tooltips;
timeSlider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (3, 0, 100, 1, 6.25, 0)));
gtk_widget_set_name (timeSlider, "timeSlider");
gtk_widget_show (timeSlider);
- gtk_box_pack_start (GTK_BOX (vbox), timeSlider, FALSE, FALSE, 4);
+ gtk_box_pack_start (GTK_BOX (vbox), timeSlider, FALSE, TRUE, 4);
gtk_scale_set_draw_value (GTK_SCALE (timeSlider), FALSE);
gtk_scale_set_value_pos (GTK_SCALE (timeSlider), GTK_POS_RIGHT);
gtk_scale_set_digits (GTK_SCALE (timeSlider), 3);
gtk_label_set_justify (GTK_LABEL (labelNetworkAddress), GTK_JUSTIFY_LEFT);
gtk_misc_set_alignment (GTK_MISC (labelNetworkAddress), 0, 0.5);
- entryNetworkPort_adj = gtk_adjustment_new (1233, 0, 65535, 1, 10, 10);
+ entryNetworkPort_adj = gtk_adjustment_new (1234, 0, 65535, 1, 10, 10);
entryNetworkPort = gtk_spin_button_new (GTK_ADJUSTMENT (entryNetworkPort_adj), 1, 0);
gtk_widget_set_name (entryNetworkPort, "entryNetworkPort");
gtk_widget_show (entryNetworkPort);
entryNetworkType = GTK_COMBO (comboNetworkType)->entry;
gtk_widget_set_name (entryNetworkType, "entryNetworkType");
gtk_widget_show (entryNetworkType);
- gtk_entry_set_text (GTK_ENTRY (entryNetworkType), _("unicast"));
gtk_entry_set_activates_default (GTK_ENTRY (entryNetworkType), TRUE);
labelNetworkType = gtk_label_new (_("Network: "));
entryNetworkProtocolType = GTK_COMBO (comboNetworkProtocolType)->entry;
gtk_widget_set_name (entryNetworkProtocolType, "entryNetworkProtocolType");
gtk_widget_show (entryNetworkProtocolType);
- gtk_entry_set_text (GTK_ENTRY (entryNetworkProtocolType), _("udp"));
labelNetworkProtocol = gtk_label_new (_("Protocol:"));
gtk_widget_set_name (labelNetworkProtocol, "labelNetworkProtocol");
entryV4LVideoDevice = GTK_COMBO (comboV4lVideoDevice)->entry;
gtk_widget_set_name (entryV4LVideoDevice, "entryV4LVideoDevice");
gtk_widget_show (entryV4LVideoDevice);
- gtk_entry_set_text (GTK_ENTRY (entryV4LVideoDevice), _("/dev/video"));
gtk_entry_set_activates_default (GTK_ENTRY (entryV4LVideoDevice), TRUE);
comboV4lAudioDevice = gtk_combo_new ();
entryV4LAudioDevice = GTK_COMBO (comboV4lAudioDevice)->entry;
gtk_widget_set_name (entryV4LAudioDevice, "entryV4LAudioDevice");
gtk_widget_show (entryV4LAudioDevice);
- gtk_entry_set_text (GTK_ENTRY (entryV4LAudioDevice), _("/dev/dsp"));
gtk_entry_set_activates_default (GTK_ENTRY (entryV4LAudioDevice), TRUE);
entryV4LChannel_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10);
entryV4LNorm = GTK_COMBO (comboV4LNorm)->entry;
gtk_widget_set_name (entryV4LNorm, "entryV4LNorm");
gtk_widget_show (entryV4LNorm);
- gtk_entry_set_text (GTK_ENTRY (entryV4LNorm), _("pal"));
gtk_entry_set_activates_default (GTK_ENTRY (entryV4LNorm), TRUE);
comboV4LSize = gtk_combo_new ();
entryV4LSize = GTK_COMBO (comboV4LSize)->entry;
gtk_widget_set_name (entryV4LSize, "entryV4LSize");
gtk_widget_show (entryV4LSize);
- gtk_entry_set_text (GTK_ENTRY (entryV4LSize), _("240x192"));
gtk_entry_set_activates_default (GTK_ENTRY (entryV4LSize), TRUE);
entryV4LFrequency_adj = gtk_adjustment_new (8692, 0, 65535, 1, 10, 10);
entryV4LSoundDirection = GTK_COMBO (comboV4LSoundDirection)->entry;
gtk_widget_set_name (entryV4LSoundDirection, "entryV4LSoundDirection");
gtk_widget_show (entryV4LSoundDirection);
- gtk_entry_set_text (GTK_ENTRY (entryV4LSoundDirection), _("mono"));
gtk_entry_set_activates_default (GTK_ENTRY (entryV4LSoundDirection), TRUE);
entryV4LTuner_adj = gtk_adjustment_new (0, -1, 100, 1, 10, 10);
entryVideoCodec = GTK_COMBO (comboVideoCodec)->entry;
gtk_widget_set_name (entryVideoCodec, "entryVideoCodec");
gtk_widget_show (entryVideoCodec);
- gtk_entry_set_text (GTK_ENTRY (entryVideoCodec), _("huffyuv"));
gtk_entry_set_activates_default (GTK_ENTRY (entryVideoCodec), TRUE);
labelVideoBitrate = gtk_label_new (_("Video Bitrate:"));
entryStdURL = GTK_COMBO (comboStdURL)->entry;
gtk_widget_set_name (entryStdURL, "entryStdURL");
gtk_widget_show (entryStdURL);
- gtk_entry_set_text (GTK_ENTRY (entryStdURL), _("127.0.0.1"));
gtk_entry_set_activates_default (GTK_ENTRY (entryStdURL), TRUE);
comboStdMuxer = gtk_combo_new ();
entryStdMuxer = GTK_COMBO (comboStdMuxer)->entry;
gtk_widget_set_name (entryStdMuxer, "entryStdMuxer");
gtk_widget_show (entryStdMuxer);
- gtk_entry_set_text (GTK_ENTRY (entryStdMuxer), _("udp"));
gtk_entry_set_activates_default (GTK_ENTRY (entryStdMuxer), TRUE);
comboStdAccess = gtk_combo_new ();
entryStdAccess = GTK_COMBO (comboStdAccess)->entry;
gtk_widget_set_name (entryStdAccess, "entryStdAccess");
gtk_widget_show (entryStdAccess);
- gtk_entry_set_text (GTK_ENTRY (entryStdAccess), _("ts"));
gtk_entry_set_activates_default (GTK_ENTRY (entryStdAccess), TRUE);
entryAudioBitrate_adj = gtk_adjustment_new (256, 0, 65535, 1, 10, 10);
entryAudioCodec = GTK_COMBO (comboAudioCodec)->entry;
gtk_widget_set_name (entryAudioCodec, "entryAudioCodec");
gtk_widget_show (entryAudioCodec);
- gtk_entry_set_text (GTK_ENTRY (entryAudioCodec), _("alaw"));
gtk_entry_set_activates_default (GTK_ENTRY (entryAudioCodec), TRUE);
checkVideoDeinterlace = gtk_check_button_new_with_mnemonic (_("enable"));
gtk_widget_show (vbox2);
gtk_container_add (GTK_CONTAINER (notebook), vbox2);
+ scrolledwindowPreference = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_set_name (scrolledwindowPreference, "scrolledwindowPreference");
+ gtk_widget_show (scrolledwindowPreference);
+ gtk_box_pack_start (GTK_BOX (vbox2), scrolledwindowPreference, TRUE, TRUE, 0);
+
+ tvPreferences = gtk_tree_view_new ();
+ gtk_widget_set_name (tvPreferences, "tvPreferences");
+ gtk_widget_show (tvPreferences);
+ gtk_container_add (GTK_CONTAINER (scrolledwindowPreference), tvPreferences);
+ gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tvPreferences), FALSE);
+
hbox2 = gtk_hbox_new (TRUE, 0);
gtk_widget_set_name (hbox2, "hbox2");
gtk_widget_show (hbox2);
gtk_label_set_justify (GTK_LABEL (labelAuthors), GTK_JUSTIFY_LEFT);
gtk_label_set_line_wrap (GTK_LABEL (labelAuthors), TRUE);
+ labelCopyright = gtk_label_new (_("(C) 1996-2003 the VideoLAN team"));
+ gtk_widget_set_name (labelCopyright, "labelCopyright");
+ gtk_widget_show (labelCopyright);
+ gtk_fixed_put (GTK_FIXED (fixed2), labelCopyright, 16, 48);
+ gtk_widget_set_size_request (labelCopyright, 208, 16);
+
labelProgramName = gtk_label_new (_("VLC media player"));
gtk_widget_set_name (labelProgramName, "labelProgramName");
gtk_widget_show (labelProgramName);
gtk_widget_set_size_request (labelProgramName, 152, 16);
gtk_label_set_line_wrap (GTK_LABEL (labelProgramName), TRUE);
- labelCopyright = gtk_label_new (_("(C) 1996-2003 the VideoLAN team"));
- gtk_widget_set_name (labelCopyright, "labelCopyright");
- gtk_widget_show (labelCopyright);
- gtk_fixed_put (GTK_FIXED (fixed2), labelCopyright, 16, 48);
- gtk_widget_set_size_request (labelCopyright, 208, 16);
-
about = gtk_label_new (_("About"));
gtk_widget_set_name (about, "about");
gtk_widget_show (about);
g_signal_connect ((gpointer) tvFileList, "row_activated",
G_CALLBACK (onFileListRow),
NULL);
- g_signal_connect ((gpointer) tvFileList, "select_cursor_row",
- G_CALLBACK (onFileListRowSelected),
- NULL);
g_signal_connect ((gpointer) AddFileToPlaylist, "pressed",
G_CALLBACK (onAddFileToPlaylist),
NULL);
- g_signal_connect ((gpointer) comboMRL, "add",
- G_CALLBACK (onNetworkMRLAdd),
- NULL);
g_signal_connect ((gpointer) entryNetworkPort, "changed",
G_CALLBACK (NetworkBuildMRL),
NULL);
GLADE_HOOKUP_OBJECT (pda, ClearPlaylist, "ClearPlaylist");
GLADE_HOOKUP_OBJECT (pda, playlist, "playlist");
GLADE_HOOKUP_OBJECT (pda, vbox2, "vbox2");
+ GLADE_HOOKUP_OBJECT (pda, scrolledwindowPreference, "scrolledwindowPreference");
+ GLADE_HOOKUP_OBJECT (pda, tvPreferences, "tvPreferences");
GLADE_HOOKUP_OBJECT (pda, hbox2, "hbox2");
GLADE_HOOKUP_OBJECT (pda, PreferenceSave, "PreferenceSave");
GLADE_HOOKUP_OBJECT (pda, PreferenceApply, "PreferenceApply");
GLADE_HOOKUP_OBJECT (pda, aboutImage, "aboutImage");
GLADE_HOOKUP_OBJECT (pda, labelDescription, "labelDescription");
GLADE_HOOKUP_OBJECT (pda, labelAuthors, "labelAuthors");
- GLADE_HOOKUP_OBJECT (pda, labelProgramName, "labelProgramName");
GLADE_HOOKUP_OBJECT (pda, labelCopyright, "labelCopyright");
+ GLADE_HOOKUP_OBJECT (pda, labelProgramName, "labelProgramName");
GLADE_HOOKUP_OBJECT (pda, about, "about");
GLADE_HOOKUP_OBJECT_NO_REF (pda, tooltips, "tooltips");