};
/* instantiate the node vector type */
-VECTOR_TYPE(nodevector, struct choosenode *, xrealloc)
+
+VECTOR_TYPE(nodevector, struct choosenode *, xrealloc);
struct choosenode {
struct choosenode *parent; /* parent node */
}
static gboolean sensitive_play(struct choosenode attribute((unused)) *cn) {
- return !!files_selected;
+ return (!!files_selected
+ && (disorder_eclient_state(client) & DISORDER_CONNECTED));
}
#if 0
#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) {
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);