# HG changeset patch # User Cristi Magherusan # Date 1186844211 -10800 # Node ID 355f8e284c94c82c77693e525d56c0a499fbaf1a # Parent 08364e03c91822396edf1c0938377e481af36f37 the menu item is now disabled during upload diff -r 08364e03c918 -r 355f8e284c94 src/mtp_up/mtp.c --- a/src/mtp_up/mtp.c Sat Aug 11 15:57:05 2007 +0300 +++ b/src/mtp_up/mtp.c Sat Aug 11 17:56:51 2007 +0300 @@ -23,6 +23,10 @@ #include #define DEBUG 1 +#define DEFAULT_LABEL "Upload to MTP device" +#define DISABLED_LABEL "MTP upload in progress..." + + GMutex * mutex = NULL; gboolean mtp_initialised = FALSE; LIBMTP_mtpdevice_t *mtp_device = NULL; @@ -126,7 +130,10 @@ return NULL; g_mutex_lock(mutex); if(!mtp_device) - return NULL; + { + g_mutex_unlock(mutex); + return NULL; + } gchar* from_path; GList *up_list=NULL,*node; node=up_list=get_upload_list(); @@ -138,6 +145,10 @@ } g_list_free(up_list); g_mutex_unlock(mutex); + + gtk_label_set_text(GTK_LABEL(gtk_bin_get_child(GTK_BIN(menuitem))),DEFAULT_LABEL); + gtk_widget_set_sensitive(menuitem, TRUE); + return NULL; } @@ -177,12 +188,14 @@ return; } + gtk_label_set_text(GTK_LABEL(gtk_bin_get_child(GTK_BIN(menuitem))),DISABLED_LABEL); + gtk_widget_set_sensitive(menuitem, FALSE); g_thread_create(upload,NULL,FALSE,NULL); } void mtp_init(void) { - menuitem=gtk_menu_item_new_with_label("Upload to MTP"); + menuitem=gtk_menu_item_new_with_label(DEFAULT_LABEL); gtk_widget_show (menuitem); audacious_menu_plugin_item_add(AUDACIOUS_MENU_PLAYLIST_RCLICK, menuitem); g_signal_connect (G_OBJECT (menuitem), "button_press_event",G_CALLBACK (mtp_press), NULL);