chiark / gitweb /
Grey out edit playlists menu item if server does not appear to support
authorRichard Kettlewell <rjk@greenend.org.uk>
Sat, 6 Dec 2008 17:00:35 +0000 (17:00 +0000)
committerRichard Kettlewell <rjk@greenend.org.uk>
Sat, 6 Dec 2008 17:00:35 +0000 (17:00 +0000)
playlists.

disobedience/disobedience.h
disobedience/menu.c
disobedience/playlists.c

index 3d9d1d276ecfc7d2067302b0a5960ea6d6abcf70..547cfc8113832760207a615ec334b5836f387356 100644 (file)
@@ -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 */
 
index d2f190d178c4c61873a186eb8389d008ddd5ba9d..b8ba4399a1272cfc5a71247a6f0f143267059ef8 100644 (file)
@@ -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) {
                                                "<GdisorderMain>/Control/Activate playlist");
   playlists_menu = gtk_item_factory_get_widget(mainmenufactory,
                                                "<GdisorderMain>/Control/Activate playlist");
+  editplaylists_widget = gtk_item_factory_get_widget(mainmenufactory,
+                                                     "<GdisorderMain>/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,
                                                        "<GdisorderMain>/Edit");
index fa15a29a80d12e2c8cda54f0a8ba9b32b666042f..add990d65d2f6ef41dc8be560054d0970c276dc3 100644 (file)
@@ -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,