From: Richard Kettlewell Date: Sat, 6 Dec 2008 17:00:35 +0000 (+0000) Subject: Grey out edit playlists menu item if server does not appear to support X-Git-Tag: 5.0~86^2~4^2~1^2 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/commitdiff_plain/6acdbba4d904b8ee764f0d564675357a46d43fa8 Grey out edit playlists menu item if server does not appear to support playlists. --- diff --git a/disobedience/disobedience.h b/disobedience/disobedience.h index 3d9d1d2..547cfc8 100644 --- a/disobedience/disobedience.h +++ b/disobedience/disobedience.h @@ -262,6 +262,7 @@ extern char **playlists; extern int nplaylists; extern GtkWidget *playlists_widget; extern GtkWidget *playlists_menu; +extern GtkWidget *editplaylists_widget; #endif /* DISOBEDIENCE_H */ diff --git a/disobedience/menu.c b/disobedience/menu.c index d2f190d..b8ba439 100644 --- a/disobedience/menu.c +++ b/disobedience/menu.c @@ -28,6 +28,7 @@ static GtkWidget *selectnone_widget; static GtkWidget *properties_widget; GtkWidget *playlists_widget; GtkWidget *playlists_menu; +GtkWidget *editplaylists_widget; /** @brief Main menu widgets */ GtkItemFactory *mainmenufactory; @@ -403,11 +404,14 @@ GtkWidget *menubar(GtkWidget *w) { "/Control/Activate playlist"); playlists_menu = gtk_item_factory_get_widget(mainmenufactory, "/Control/Activate playlist"); + editplaylists_widget = gtk_item_factory_get_widget(mainmenufactory, + "/Edit/Edit playlists"); assert(selectall_widget != 0); assert(selectnone_widget != 0); assert(properties_widget != 0); assert(playlists_widget != 0); assert(playlists_menu != 0); + assert(editplaylists_widget != 0); GtkWidget *edit_widget = gtk_item_factory_get_widget(mainmenufactory, "/Edit"); diff --git a/disobedience/playlists.c b/disobedience/playlists.c index fa15a29..add990d 100644 --- a/disobedience/playlists.c +++ b/disobedience/playlists.c @@ -112,6 +112,8 @@ static void menu_playlists_changed(const char attribute((unused)) *event, } gtk_widget_set_sensitive(playlists_widget, nplaylists > 0); + gtk_widget_set_sensitive(editplaylists_widget, + nplaylists >= 0); } void edit_playlists(gpointer attribute((unused)) callback_data,