class PLItem;
class PLSelector;
+class PlMimeData;
class PLModel : public QAbstractItemModel
{
void updateChildren( playlist_item_t *, PLItem * );
/* Deep actions (affect core playlist) */
- static void recursiveAppendCopy( playlist_t *, playlist_item_t *, playlist_item_t *, bool );
- void dropAppendCopy( QByteArray& data, PLItem *target );
- void dropMove( QByteArray& data, PLItem *target, int new_pos );
+ void dropAppendCopy( const PlMimeData * data, PLItem *target, int pos );
+ void dropMove( const PlMimeData * data, PLItem *target, int new_pos );
/* Popup */
int i_popup_item, i_popup_parent, i_popup_column;
PLItem *p_cached_item_bi;
int i_cached_id;
int i_cached_input_id;
+ QModelIndex current_index;
private slots:
void popupPlay();
void processInputItemUpdate( input_thread_t* p_input );
void processItemRemoval( int i_id );
void processItemAppend( int item, int parent );
+ void cacheCurrent( const QModelIndex & );
+};
+
+class PlMimeData : public QMimeData
+{
+ Q_OBJECT
+
+public:
+ PlMimeData();
+ ~PlMimeData();
+ void appendItem( input_item_t *p_item );
+ QList<input_item_t*> inputItems() const;
+ QStringList formats () const;
+
+private:
+ QList<input_item_t*> _inputItems;
+ QMimeData *_mimeData;
};
#endif