From 62f2226007101cdec58eacec4d0e8a81bfd8ac69 Mon Sep 17 00:00:00 2001 Message-Id: <62f2226007101cdec58eacec4d0e8a81bfd8ac69.1714805333.git.mdw@distorted.org.uk> From: Mark Wooding Date: Sun, 30 Sep 2007 15:18:37 +0100 Subject: [PATCH] desensitive queue context menu options when disconnected Organization: Straylight/Edgeware From: rjk@greenend.org.uk <> --- disobedience/queue.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/disobedience/queue.c b/disobedience/queue.c index 9423252..e4c3862 100644 --- a/disobedience/queue.c +++ b/disobedience/queue.c @@ -1096,7 +1096,9 @@ static int scratch_sensitive(struct queuelike attribute((unused)) *ql, struct menuitem attribute((unused)) *m, struct queue_entry attribute((unused)) *q) { /* We can scratch if the playing track is selected */ - return playing_track && selection_selected(ql->selection, playing_track->id); + return (playing_track + && disorder_eclient_connected(client) + && selection_selected(ql->selection, playing_track->id)); } static void scratch_activate(GtkMenuItem attribute((unused)) *menuitem, @@ -1110,7 +1112,10 @@ static int remove_sensitive(struct queuelike *ql, struct queue_entry *q) { /* We can remove if we're hovering over a particular track or any non-playing * tracks are selected */ - return (q && q != playing_track) || count_selected_nonplaying(ql); + return (disorder_eclient_connected(client) + && ((q + && q != playing_track) + || count_selected_nonplaying(ql))); } static void remove_activate(GtkMenuItem attribute((unused)) *menuitem, @@ -1133,7 +1138,8 @@ static int properties_sensitive(struct queuelike *ql, struct menuitem attribute((unused)) *m, struct queue_entry attribute((unused)) *q) { /* "Properties" is sensitive if at least something is selected */ - return hash_count(ql->selection) > 0; + return (hash_count(ql->selection) > 0 + && disorder_eclient_connected(client)); } static void properties_activate(GtkMenuItem attribute((unused)) *menuitem, -- [mdw]