X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/591bec8587c71a025bcc83092145b0ef9ffbe944..c764e832cef2e0828e46762b66ca97cc5541686b:/disobedience/queue-generic.h diff --git a/disobedience/queue-generic.h b/disobedience/queue-generic.h index c15b383..b774f22 100644 --- a/disobedience/queue-generic.h +++ b/disobedience/queue-generic.h @@ -1,6 +1,6 @@ /* * This file is part of DisOrder - * Copyright (C) 2006-2008 Richard Kettlewell + * Copyright (C) 2006-2009 Richard Kettlewell * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -104,10 +104,30 @@ struct queuelike { void (*drop)(struct queuelike *ql, int ntracks, char **tracks, char **ids, struct queue_entry *after_me); - /** @brief Stashed drag target row */ - GtkTreePath *drag_target; + /** @brief Source target list */ + const GtkTargetEntry *drag_source_targets; + + /** @brief Drag source actions */ + GdkDragAction drag_source_actions; + + /** @brief Destination target list */ + const GtkTargetEntry *drag_dest_targets; + + /** @brief Drag destination actions */ + GdkDragAction drag_dest_actions; + }; +enum { + PLAYABLE_TRACKS_ID, + QUEUED_TRACKS_ID, + PLAYLIST_TRACKS_ID +}; + +#define PLAYABLE_TRACKS (char *)"text/x-disorder-playable-tracks" +#define QUEUED_TRACKS (char *)"text/x-disorder-queued-tracks" +#define PLAYLIST_TRACKS (char *)"text/x-disorder-playlist-tracks" + enum { QUEUEPOINTER_COLUMN, FOREGROUND_COLUMN, @@ -116,15 +136,8 @@ enum { EXTRA_COLUMNS }; -/* TODO probably need to set "horizontal-separator" to 0, but can't find any - * coherent description of how to set style properties in isolation. */ -#define BG_PLAYING 0 -#define FG_PLAYING 0 - -#ifndef BG_PLAYING -# define BG_PLAYING "#e0ffe0" -# define FG_PLAYING "black" -#endif +#define BG_PLAYING "#e0ffe0" +#define FG_PLAYING "black" extern struct queuelike ql_queue; extern struct queuelike ql_recent; @@ -157,6 +170,7 @@ gboolean ql_button_release(GtkWidget *widget, GdkEventButton *event, gpointer user_data); GtkWidget *init_queuelike(struct queuelike *ql); +void destroy_queuelike(struct queuelike *ql); void ql_update_list_store(struct queuelike *ql) ; void ql_update_row(struct queue_entry *q, GtkTreeIter *iter);