summaryrefslogtreecommitdiffstats
path: root/Gui/mplayer/gtk/sb.c
diff options
context:
space:
mode:
Diffstat (limited to 'Gui/mplayer/gtk/sb.c')
-rw-r--r--Gui/mplayer/gtk/sb.c35
1 files changed, 17 insertions, 18 deletions
diff --git a/Gui/mplayer/gtk/sb.c b/Gui/mplayer/gtk/sb.c
index fcf6b037fd..ac991eff44 100644
--- a/Gui/mplayer/gtk/sb.c
+++ b/Gui/mplayer/gtk/sb.c
@@ -4,6 +4,7 @@
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
+#include <stdio.h>
#include "sb.h"
#include "../../events.h"
@@ -18,16 +19,7 @@ char * sbSelectedSkin=NULL;
char * sbMPlayerDirInHome=NULL;
char * sbMPlayerPrefixDir=NULL;
-void HideSkinBrowser( void )
-{
- gtk_widget_hide( SkinBrowser );
- gtkVisibleSkinBrowser=0;
- gtkShMem->vs.window=evSkinBrowser;
- gtkSendMessage( evHideWindow );
- gtkSendMessage( evSkinBrowser );
-}
-
-char gtkOldSkin[128];
+char * gtkOldSkin;
int gtkFillSkinList( gchar * mdir )
{
@@ -37,7 +29,7 @@ int gtkFillSkinList( gchar * mdir )
glob_t gg;
struct stat fs;
- strcpy( gtkOldSkin,gtkShMem->sb.name );
+ gtkOldSkin=strdup( skinName );
if ( ( str[0]=(char *)calloc( 1,7 ) ) == NULL )
{
gtkMessageBox( GTK_MB_FATAL,MSGTR_SKINBROWSER_NotEnoughMemory );
@@ -68,21 +60,28 @@ int gtkFillSkinList( gchar * mdir )
}
void on_SkinBrowser_destroy( GtkObject * object,gpointer user_data )
-{ HideSkinBrowser(); }
+{ gtk_widget_hide( SkinBrowser ); }
void on_SkinBrowser_Cancel( GtkObject * object,gpointer user_data )
{
- strcpy( gtkShMem->sb.name,gtkOldSkin );
- HideSkinBrowser();
+ ChangeSkin( skinName );
+ gtk_widget_hide( SkinBrowser );
+}
+
+void on_SkinBrowser_Ok( GtkObject * object,gpointer user_data )
+{
+ ChangeSkin( sbSelectedSkin );
+ if ( skinName ) free( skinName );
+ skinName=strdup( sbSelectedSkin );
+ gtk_widget_hide( SkinBrowser );
}
void on_SkinList_select_row( GtkCList * clist,gint row,gint column,GdkEvent * bevent,gpointer user_data )
{
gtk_clist_get_text( clist,row,0,&sbSelectedSkin );
- strcpy( gtkShMem->sb.name,sbSelectedSkin );
- gtkSendMessage( evSkinBrowser );
+ ChangeSkin( sbSelectedSkin );
if( !bevent ) return;
- if( bevent->type == GDK_2BUTTON_PRESS ) HideSkinBrowser();
+ if( bevent->type == GDK_2BUTTON_PRESS ) gtk_widget_hide( SkinBrowser );
}
GtkWidget * create_SkinBrowser( void )
@@ -248,7 +247,7 @@ GtkWidget * create_SkinBrowser( void )
gtk_signal_connect( GTK_OBJECT( SkinBrowser ),"destroy",GTK_SIGNAL_FUNC( on_SkinBrowser_destroy ),NULL );
gtk_signal_connect( GTK_OBJECT( SkinList ),"select_row",GTK_SIGNAL_FUNC( on_SkinList_select_row ),NULL );
- gtk_signal_connect( GTK_OBJECT( Ok ),"released",GTK_SIGNAL_FUNC( on_SkinBrowser_destroy ),NULL );
+ gtk_signal_connect( GTK_OBJECT( Ok ),"released",GTK_SIGNAL_FUNC( on_SkinBrowser_Ok ),NULL );
gtk_signal_connect( GTK_OBJECT( Cancel ),"released",GTK_SIGNAL_FUNC( on_SkinBrowser_Cancel ),NULL );
if ( ( sbMPlayerDirInHome=(char *)calloc( 1,strlen( skinDirInHome ) + 4 ) ) != NULL )