mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-06 14:16:32 +02:00
* Don't accept drag & drop events while the underlying PlayableModel is still in loading state.
This commit is contained in:
@@ -512,6 +512,12 @@ TrackView::dragEnterEvent( QDragEnterEvent* event )
|
|||||||
tDebug() << Q_FUNC_INFO;
|
tDebug() << Q_FUNC_INFO;
|
||||||
QTreeView::dragEnterEvent( event );
|
QTreeView::dragEnterEvent( event );
|
||||||
|
|
||||||
|
if ( !model() || model()->isReadOnly() || model()->isLoading() )
|
||||||
|
{
|
||||||
|
event->ignore();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if ( DropJob::acceptsMimeData( event->mimeData() ) )
|
if ( DropJob::acceptsMimeData( event->mimeData() ) )
|
||||||
{
|
{
|
||||||
m_dragging = true;
|
m_dragging = true;
|
||||||
@@ -527,7 +533,7 @@ TrackView::dragMoveEvent( QDragMoveEvent* event )
|
|||||||
{
|
{
|
||||||
QTreeView::dragMoveEvent( event );
|
QTreeView::dragMoveEvent( event );
|
||||||
|
|
||||||
if ( model()->isReadOnly() )
|
if ( !model() || model()->isReadOnly() || model()->isLoading() )
|
||||||
{
|
{
|
||||||
event->ignore();
|
event->ignore();
|
||||||
return;
|
return;
|
||||||
@@ -593,11 +599,10 @@ TrackView::dropEvent( QDropEvent* event )
|
|||||||
const QPoint pos = event->pos();
|
const QPoint pos = event->pos();
|
||||||
const QModelIndex index = indexAt( pos );
|
const QModelIndex index = indexAt( pos );
|
||||||
|
|
||||||
tDebug() << Q_FUNC_INFO << "Drop Event accepted at row:" << index.row();
|
if ( !model()->isReadOnly() && !model()->isLoading() )
|
||||||
event->acceptProposedAction();
|
|
||||||
|
|
||||||
if ( !model()->isReadOnly() )
|
|
||||||
{
|
{
|
||||||
|
tDebug() << Q_FUNC_INFO << "Drop Event accepted at row:" << index.row();
|
||||||
|
event->acceptProposedAction();
|
||||||
model()->dropMimeData( event->mimeData(), event->proposedAction(), index.row(), 0, index.parent() );
|
model()->dropMimeData( event->mimeData(), event->proposedAction(), index.row(), 0, index.parent() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user