1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-20 07:49:42 +01:00

* OverlayWidget uses PlaylistView as an event-filter for Drag-n-Drop events.

This commit is contained in:
Christian Muehlhaeuser 2012-06-07 11:24:20 +02:00
parent f89f119078
commit f5aeeeb9c8
3 changed files with 36 additions and 0 deletions

View File

@ -97,6 +97,38 @@ PlaylistView::keyPressEvent( QKeyEvent* event )
}
bool
PlaylistView::eventFilter( QObject* obj, QEvent* event )
{
if ( event->type() == QEvent::DragEnter )
{
QDragEnterEvent* e = static_cast<QDragEnterEvent*>(event);
dragEnterEvent( e );
return true;
}
if ( event->type() == QEvent::DragMove )
{
QDragMoveEvent* e = static_cast<QDragMoveEvent*>(event);
dragMoveEvent( e );
return true;
}
if ( event->type() == QEvent::DragLeave )
{
QDragLeaveEvent* e = static_cast<QDragLeaveEvent*>(event);
dragLeaveEvent( e );
return true;
}
if ( event->type() == QEvent::Drop )
{
QDropEvent* e = static_cast<QDropEvent*>(event);
dropEvent( e );
return true;
}
return QObject::eventFilter( obj, event );
}
void
PlaylistView::deleteItems()
{

View File

@ -50,6 +50,7 @@ signals:
protected:
void keyPressEvent( QKeyEvent* event );
bool eventFilter( QObject* obj, QEvent* event );
private slots:
void onMenuTriggered( int action );

View File

@ -66,6 +66,9 @@ OverlayWidget::~OverlayWidget()
void
OverlayWidget::init()
{
installEventFilter( m_parent );
setAcceptDrops( true );
setAttribute( Qt::WA_TranslucentBackground, true );
m_opacity = 0.00;
setOpacity( m_opacity );