mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-04-01 14:42:25 +02:00
* Properly drag Artists / Albums from QueryLabel.
This commit is contained in:
parent
6ec80761eb
commit
b25b611685
@ -697,37 +697,40 @@ QueryLabel::startDrag()
|
||||
if ( m_query.isNull() )
|
||||
return;
|
||||
|
||||
QByteArray queryData;
|
||||
QDataStream queryStream( &queryData, QIODevice::WriteOnly );
|
||||
QDrag *drag = new QDrag( this );
|
||||
QByteArray data;
|
||||
QDataStream dataStream( &data, QIODevice::WriteOnly );
|
||||
QMimeData* mimeData = new QMimeData();
|
||||
mimeData->setText( text() );
|
||||
|
||||
queryStream << qlonglong( &m_query );
|
||||
|
||||
mimeData->setData( "application/tomahawk.query.list", queryData );
|
||||
|
||||
if ( m_hoverType != None )
|
||||
switch( m_hoverType )
|
||||
{
|
||||
QString extra;
|
||||
switch( m_hoverType )
|
||||
{
|
||||
case Artist:
|
||||
extra = "artist";
|
||||
{
|
||||
dataStream << m_query->artist();
|
||||
mimeData->setData( "application/tomahawk.metadata.artist", data );
|
||||
drag->setPixmap( TomahawkUtils::createDragPixmap( TomahawkUtils::MediaTypeArtist ) );
|
||||
break;
|
||||
}
|
||||
case Album:
|
||||
extra = "album";
|
||||
break;
|
||||
case Track:
|
||||
extra = "track";
|
||||
{
|
||||
dataStream << m_query->artist();
|
||||
dataStream << m_query->album();
|
||||
mimeData->setData( "application/tomahawk.metadata.album", data );
|
||||
drag->setPixmap( TomahawkUtils::createDragPixmap( TomahawkUtils::MediaTypeAlbum ) );
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
dataStream << qlonglong( &m_query );
|
||||
mimeData->setData( "application/tomahawk.query.list", data );
|
||||
drag->setPixmap( TomahawkUtils::createDragPixmap( TomahawkUtils::MediaTypeTrack ) );
|
||||
break;
|
||||
}
|
||||
mimeData->setData( "application/tomahawk.dragsource.type", extra.toUtf8() );
|
||||
}
|
||||
}
|
||||
QDrag *drag = new QDrag( this );
|
||||
|
||||
drag->setMimeData( mimeData );
|
||||
drag->setPixmap( TomahawkUtils::createDragPixmap( TomahawkUtils::MediaTypeTrack ) );
|
||||
|
||||
// QPoint hotSpot = event->pos() - child->pos();
|
||||
// drag->setHotSpot( hotSpot );
|
||||
|
Loading…
x
Reference in New Issue
Block a user