tooltips for search widgets
[disorder] / disobedience / choose.c
index 24aa9f6..834309e 100644 (file)
@@ -48,7 +48,8 @@ struct displaydata {
 };
 
 /* instantiate the node vector type */
-VECTOR_TYPE(nodevector, struct choosenode *, xrealloc)
+
+VECTOR_TYPE(nodevector, struct choosenode *, xrealloc);
 
 struct choosenode {
   struct choosenode *parent;            /* parent node */
@@ -936,7 +937,8 @@ static void activate_properties(GtkMenuItem attribute((unused)) *menuitem,
 }
 
 static gboolean sensitive_play(struct choosenode attribute((unused)) *cn) {
-  return !!files_selected;
+  return (!!files_selected
+          && (disorder_eclient_state(client) & DISORDER_CONNECTED));
 }
 
 #if 0
@@ -946,13 +948,13 @@ static gboolean sensitive_remove(struct choosenode attribute((unused)) *cn) {
 #endif
 
 static gboolean sensitive_properties(struct choosenode attribute((unused)) *cn) {
-  return !!files_selected;
+  return !!files_selected && (disorder_eclient_state(client) & DISORDER_CONNECTED);
 }
 
 /* Main menu plumbing ------------------------------------------------------ */
 
 static int choose_properties_sensitive(GtkWidget attribute((unused)) *w) {
-  return !!files_selected;
+  return !!files_selected && (disorder_eclient_state(client) & DISORDER_CONNECTED);
 }
 
 static int choose_selectall_sensitive(GtkWidget attribute((unused)) *w) {
@@ -1006,12 +1008,15 @@ GtkWidget *choose_widget(void) {
   NW(entry);
   searchentry = gtk_entry_new();
   g_signal_connect(searchentry, "changed", G_CALLBACK(searchentry_changed), 0);
+  gtk_tooltips_set_tip(tips, searchentry, "Enter search terms here; search is automatic", "");
 
   /* Cancel button to clear the search */
   NW(button);
   clearsearch = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
   g_signal_connect(G_OBJECT(clearsearch), "clicked",
                    G_CALLBACK(clearsearch_clicked), 0);
+  gtk_tooltips_set_tip(tips, clearsearch, "Clear search terms", "");
+
 
   /* hbox packs the search box and the cancel button together on a line */
   NW(hbox);