CVS: main/Gui app.c,1.13,1.14 cfg.c,1.8,1.9 interface.c,1.38,1.39 interface.h,1.21,1.22
Update of /cvsroot/mplayer/main/Gui In directory mail:/var/tmp.root/cvs-serv864/Gui Modified Files: app.c cfg.c interface.c interface.h Log Message: - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org> - wsXDNDProcessSelection return Truae fix - add url list saving support from Morten Volden <mvolden@tdcadsl.dk> - fix bug's in this patches - fix some memleak and bug Index: app.c =================================================================== RCS file: /cvsroot/mplayer/main/Gui/app.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- app.c 28 May 2002 11:55:15 -0000 1.13 +++ app.c 26 Aug 2002 22:20:43 -0000 1.14 @@ -13,6 +13,8 @@ #include "mplayer/mplayer.h" #include "interface.h" +extern char *get_path(char *); + listItems appMPlayer; char * skinDirInHome=NULL; Index: cfg.c =================================================================== RCS file: /cvsroot/mplayer/main/Gui/cfg.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- cfg.c 15 Aug 2002 22:52:51 -0000 1.8 +++ cfg.c 26 Aug 2002 22:20:43 -0000 1.9 @@ -106,9 +106,22 @@ { NULL, NULL, 0, 0, 0, 0, NULL } }; +char * gfgets( char * str, int size, FILE * f ) +{ + char * s = fgets( str,size,f ); + char c; + if ( s ) + { + c=s[ strlen( s ) - 1 ]; if ( c == '\n' || c == '\r' ) s[ strlen( s ) - 1 ]=0; + c=s[ strlen( s ) - 1 ]; if ( c == '\n' || c == '\r' ) s[ strlen( s ) - 1 ]=0; + } + return s; +} + int cfg_read( void ) { char * cfg = get_path( "gui.conf" ); + FILE * f; // -- read configuration mp_msg( MSGT_GPLAYER,MSGL_STATUS,"[cfg] read config file: %s\n",cfg ); @@ -122,26 +135,39 @@ free( cfg ); // -- read pl - { - FILE * f; - cfg=get_path( "gui.pl" ); - if ( (f=fopen( cfg,"rt" )) == NULL ) return 1; - while ( !feof( f ) ) - { - char tmp[512]; plItem * item = calloc( 1,sizeof( plItem ) ); char c; - if ( fgets( tmp,512,f ) == NULL ) continue; - c=tmp[ strlen( tmp ) - 1 ]; if ( c == '\n' || c == '\r' ) tmp[ strlen( tmp ) - 1 ]=0; - c=tmp[ strlen( tmp ) - 1 ]; if ( c == '\n' || c == '\r' ) tmp[ strlen( tmp ) - 1 ]=0; - item->path=strdup( tmp ); - fgets( tmp,512,f ); - c=tmp[ strlen( tmp ) - 1 ]; if ( c == '\n' || c == '\r' ) tmp[ strlen( tmp ) - 1 ]=0; - c=tmp[ strlen( tmp ) - 1 ]; if ( c == '\n' || c == '\r' ) tmp[ strlen( tmp ) - 1 ]=0; - item->name=strdup( tmp ); - gtkSet( gtkAddPlItem,0,(void*)item ); - } - fclose( f ); - free( cfg ); - } + cfg=get_path( "gui.pl" ); + if ( (f=fopen( cfg,"rt" )) ) + { + while ( !feof( f ) ) + { + char tmp[512]; plItem * item; + if ( gfgets( tmp,512,f ) == NULL ) continue; + item=calloc( 1,sizeof( plItem ) ); + item->path=strdup( tmp ); + gfgets( tmp,512,f ); + item->name=strdup( tmp ); + gtkSet( gtkAddPlItem,0,(void*)item ); + } + fclose( f ); + } + free( cfg ); + + //-- read previously visited urls + cfg=get_path( "gui.url" ); + if ( (f=fopen( cfg,"rt" )) ) + { + while ( !feof( f ) ) + { + char tmp[512]; URLItem * item; + if ( gfgets( tmp,512,f ) == NULL ) continue; + item=calloc( 1,sizeof( URLItem ) ); + item->url=strdup( tmp ); + gtkSet( gtkAddURLItem,0,(void*)item ); + } + fclose( f ); + } + free( cfg ); + return 0; } @@ -190,6 +216,19 @@ fprintf( f,"%s\n",plCurrent->name ); } plCurrent=plCurrent->next; + } + fclose( f ); + } + free( cfg ); + +// -- save URL's + cfg=get_path( "gui.url" ); + if ( (f=fopen( cfg,"wt+" )) ) + { + while ( URLList ) + { + if ( URLList->url ) fprintf( f,"%s\n",URLList->url ); + URLList=URLList->next; } fclose( f ); } Index: interface.c =================================================================== RCS file: /cvsroot/mplayer/main/Gui/interface.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- interface.c 15 Aug 2002 22:52:51 -0000 1.38 +++ interface.c 26 Aug 2002 22:20:43 -0000 1.39 @@ -555,6 +555,8 @@ plItem * plList = NULL; plItem * plLastPlayed = NULL; +URLItem *URLList = NULL; + #if defined( MP_DEBUG ) && 0 void list( void ) { @@ -577,6 +579,9 @@ equalizer_t * eq = (equalizer_t *)vparam; plItem * item = (plItem *)vparam; + URLItem * url_item = (URLItem *)vparam; + int is_added = True; + switch ( cmd ) { // --- handle playlist @@ -586,8 +591,7 @@ plItem * next = plList; while ( next->next ) { /*printf( "%s\n",next->name );*/ next=next->next; } next->next=item; item->prev=next; - } - else { item->prev=item->next=NULL; plCurrent=plList=item; } + } else { item->prev=item->next=NULL; plCurrent=plList=item; } list(); return NULL; case gtkGetNextPlItem: // get current item from playlist @@ -637,6 +641,24 @@ } plList=NULL; plCurrent=NULL; } + return NULL; + // ----- Handle url + case gtkAddURLItem: + if ( URLList ) + { + URLItem * next_url = URLList; + is_added = False; + while ( next_url->next ) + { + if ( !gstrcmp( next_url->url,url_item->url ) ) + { + is_added=True; + break; + } + next_url=next_url->next; + } + if ( ( !is_added )&&( gstrcmp( next_url->url,url_item->url ) ) ) next_url->next=url_item; + } else { url_item->next=NULL; URLList=url_item; } return NULL; // --- subtitle case gtkSetSubAuto: Index: interface.h =================================================================== RCS file: /cvsroot/mplayer/main/Gui/interface.h,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- interface.h 15 Aug 2002 22:52:51 -0000 1.21 +++ interface.h 26 Aug 2002 22:20:43 -0000 1.22 @@ -144,10 +144,18 @@ char * name; } plItem; +typedef struct _urlItem +{ + struct _urlItem *next; + char * url; +} URLItem; + extern plItem * plList; extern plItem * plCurrent; extern plItem * plLastPlayed; +extern URLItem * URLList; + #define gtkSetContrast 0 #define gtkSetBrightness 1 #define gtkSetHue 2 @@ -168,6 +176,7 @@ #define gtkSetFontFactor 17 #define gtkSetAutoq 18 #define gtkClearStruct 19 +#define gtkAddURLItem 20 extern float gtkEquChannels[6][10];
participants (1)
-
Zoltan Ponekker