g_free(gselected);
} else
selected = 0;
- if(playlists_selected)
+ /* Set button sensitivity according to the new state */
+ if(selected)
gtk_widget_set_sensitive(playlists_delete_button, 1);
else
gtk_widget_set_sensitive(playlists_delete_button, 0);
return;
if(selected && playlists_selected && !strcmp(selected, playlists_selected))
return;
- /* There's been a change */
+ /* Record the new state */
+ playlists_selected = selected;
}
/** @brief Called when the 'add' button is pressed */
playlist_new();
}
+/** @brief Called when playlist deletion completes */
+static void playlists_delete_completed(void attribute((unused)) *v,
+ const char *err) {
+ if(err)
+ popup_protocol_error(0, err);
+}
+
/** @brief Called when the 'Delete' button is pressed */
static void playlists_delete(GtkButton attribute((unused)) *button,
gpointer attribute((unused)) userdata) {
gtk_widget_destroy(yesno);
if(res == GTK_RESPONSE_YES) {
disorder_eclient_playlist_delete(client,
- NULL/*playlists_delete_completed*/,
+ playlists_delete_completed,
playlists_selected,
NULL);
}
event_register("playlists-updated", menu_playlists_changed, 0);
/* Update the new-playlist OK button when the set of playlists changes */
event_register("playlists-updated", playlist_new_changed, 0);
+ /* Update the list of playlists in the edit window when the set changes */
+ event_register("playlists-updated", playlists_fill, 0);
playlists_update(0, 0, 0);
}