# HG changeset patch # User Tomasz Mon # Date 1197207670 -3600 # Node ID 05140463a43e123eb3805918bec9dde38a424529 # Parent 1e754514065dbb01b1ea1e79b9832786e1cac95e install skin if user drag'n'drops it on mainwin diff -r 1e754514065d -r 05140463a43e src/audacious/ui_main.c --- a/src/audacious/ui_main.c Sun Dec 09 13:56:34 2007 +0100 +++ b/src/audacious/ui_main.c Sun Dec 09 14:41:10 2007 +0100 @@ -1164,6 +1164,15 @@ return; } + /* perhaps make suffix check case-insensitive -- desowin */ + if (str_has_prefix_nocase((char*)selection_data->data, "file:///")) { + if (str_has_suffix_nocase((char*)selection_data->data, ".wsz\r\n") || + str_has_suffix_nocase((char*)selection_data->data, ".zip\r\n")) { + on_skin_view_drag_data_received(GTK_WIDGET(user_data), context, x, y, selection_data, info, time, NULL); + return; + } + } + playlist_clear(playlist); playlist_add_url(playlist, (gchar *) selection_data->data); playback_initiate(); diff -r 1e754514065d -r 05140463a43e src/audacious/ui_preferences.c --- a/src/audacious/ui_preferences.c Sun Dec 09 13:56:34 2007 +0100 +++ b/src/audacious/ui_preferences.c Sun Dec 09 14:41:10 2007 +0100 @@ -1000,7 +1000,7 @@ } } -static void +void on_skin_view_drag_data_received(GtkWidget * widget, GdkDragContext * context, gint x, gint y, @@ -1039,7 +1039,6 @@ cfg_db_set_string(db, NULL, "skin", path); cfg_db_close(db); } - } static void diff -r 1e754514065d -r 05140463a43e src/audacious/ui_preferences.h --- a/src/audacious/ui_preferences.h Sun Dec 09 13:56:34 2007 +0100 +++ b/src/audacious/ui_preferences.h Sun Dec 09 14:41:10 2007 +0100 @@ -26,5 +26,10 @@ gint prefswin_page_new(GtkWidget *container, gchar *name, gchar *imgurl); void prefswin_page_destroy(GtkWidget *container); - +void on_skin_view_drag_data_received(GtkWidget * widget, + GdkDragContext * context, + gint x, gint y, + GtkSelectionData * selection_data, + guint info, guint time, + gpointer user_data); #endif