1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-04-21 00:12:06 +02:00

* eventFilter needs to be put in TrackView, so its OverlayWidget can redirect its drag & drop events to it.

This commit is contained in:
Christian Muehlhaeuser 2014-09-20 06:49:20 +02:00
parent 0237d41d4a
commit 85e997322c
4 changed files with 33 additions and 33 deletions

View File

@ -77,38 +77,6 @@ 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 );
}
QList<PlaylistUpdaterInterface*>
PlaylistView::updaters() const
{

View File

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

View File

@ -474,6 +474,38 @@ TrackView::resizeEvent( QResizeEvent* event )
}
bool
TrackView::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
TrackView::dragEnterEvent( QDragEnterEvent* event )
{

View File

@ -106,6 +106,7 @@ signals:
protected:
virtual void resizeEvent( QResizeEvent* event );
virtual bool eventFilter( QObject* obj, QEvent* event );
virtual void startDrag( Qt::DropActions supportedActions );
virtual void dragEnterEvent( QDragEnterEvent* event );