X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/a49c2c0fd00383f4191e63d869b813adb2b00d25..b78709940eae7782a365f158d4a89b2f2d6bfea6:/disobedience/queue-generic.h diff --git a/disobedience/queue-generic.h b/disobedience/queue-generic.h index 4b31fe9..fdf37a9 100644 --- a/disobedience/queue-generic.h +++ b/disobedience/queue-generic.h @@ -55,7 +55,7 @@ struct queuelike { const char *name; /** @brief Initialization function */ - void (*init)(void); + void (*init)(struct queuelike *ql); /** @brief Columns */ const struct queue_column *columns; @@ -90,6 +90,18 @@ struct queuelike { /** @brief Menu callbacks */ struct tabtype tabtype; + + /** @brief Drag-drop callback, or NULL for no drag+drop + * @param src Row to move + * @param dst Destination position + * + * If the rearrangement is impossible then the displayed queue must be put + * back. + */ + void (*drop)(struct queuelike *ql, int src, int dst); + + /** @brief Stashed drag target row */ + GtkTreePath *drag_target; }; enum {