* points to the queue entry the pointer is over.
*/
int (*sensitive)(struct queuelike *ql,
* points to the queue entry the pointer is over.
*/
int (*sensitive)(struct queuelike *ql,
GtkWidget *titlecells[NCOLUMNS + 1]; /**< @brief title cells */
GtkWidget **cells; /**< @brief all the cells */
GtkWidget *menu; /**< @brief popup menu */
GtkWidget *titlecells[NCOLUMNS + 1]; /**< @brief title cells */
GtkWidget **cells; /**< @brief all the cells */
GtkWidget *menu; /**< @brief popup menu */
GtkWidget *dragmark; /**< @brief drag destination marker */
GtkWidget **dropzones; /**< @brief drag targets */
GtkWidget *dragmark; /**< @brief drag destination marker */
GtkWidget **dropzones; /**< @brief drag targets */
static GtkWidget *queuelike(struct queuelike *ql,
struct queue_entry *(*fixup)(struct queue_entry *),
void (*notify)(void),
static GtkWidget *queuelike(struct queuelike *ql,
struct queue_entry *(*fixup)(struct queue_entry *),
void (*notify)(void),
const char *name) {
GtkWidget *vbox, *mainscroll, *titlescroll, *label;
GtkAdjustment *mainadj, *titleadj;
const char *name) {
GtkWidget *vbox, *mainscroll, *titlescroll, *label;
GtkAdjustment *mainadj, *titleadj;
/** @brief Determine whether the scratch option should be sensitive */
static int scratch_sensitive(struct queuelike attribute((unused)) *ql,
/** @brief Determine whether the scratch option should be sensitive */
static int scratch_sensitive(struct queuelike attribute((unused)) *ql,
/** @brief Determine whether the remove option should be sensitive */
static int remove_sensitive(struct queuelike *ql,
/** @brief Determine whether the remove option should be sensitive */
static int remove_sensitive(struct queuelike *ql,
/** @brief Determine whether the properties menu option should be sensitive */
static int properties_sensitive(struct queuelike *ql,
/** @brief Determine whether the properties menu option should be sensitive */
static int properties_sensitive(struct queuelike *ql,
struct queue_entry attribute((unused)) *q) {
/* "Properties" is sensitive if at least something is selected */
return (hash_count(ql->selection) > 0
struct queue_entry attribute((unused)) *q) {
/* "Properties" is sensitive if at least something is selected */
return (hash_count(ql->selection) > 0
/** @brief Determine whether the select all menu option should be sensitive */
static int selectall_sensitive(struct queuelike *ql,
/** @brief Determine whether the select all menu option should be sensitive */
static int selectall_sensitive(struct queuelike *ql,
{ "Track properties", properties_activate, properties_sensitive, 0, 0 },
{ "Select all tracks", selectall_activate, selectall_sensitive, 0, 0 },
{ "Scratch track", scratch_activate, scratch_sensitive, 0, 0 },
{ "Track properties", properties_activate, properties_sensitive, 0, 0 },
{ "Select all tracks", selectall_activate, selectall_sensitive, 0, 0 },
{ "Scratch track", scratch_activate, scratch_sensitive, 0, 0 },
{ "Track properties", properties_activate, properties_sensitive,0, 0 },
{ "Select all tracks", selectall_activate, selectall_sensitive, 0, 0 },
{ 0, 0, 0, 0, 0 }
{ "Track properties", properties_activate, properties_sensitive,0, 0 },
{ "Select all tracks", selectall_activate, selectall_sensitive, 0, 0 },
{ 0, 0, 0, 0, 0 }