ResourceBrowser: stop preview when drag operation starts
Make sure preview is stopped as soon as a drag operation starts. This is done by overloading QAbstractItemView::startDrag() and emit a signal from there which is connected to an according slot in ResourceBrowser. Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
This commit is contained in:
@@ -110,6 +110,11 @@ ResourceBrowser::ResourceBrowser( QWidget * _parent ) :
|
||||
connect( m_treeView,
|
||||
SIGNAL( clicked( const QModelIndex & ) ),
|
||||
this, SLOT( stopItemPreview( const QModelIndex & ) ) );
|
||||
// setup a direct connection so preview is instantly stopped when
|
||||
// drag operation begins
|
||||
connect( m_treeView,
|
||||
SIGNAL( dragStarted() ),
|
||||
this, SLOT( stopPreview() ), Qt::DirectConnection );
|
||||
connect( m_treeView,
|
||||
SIGNAL( doubleClicked( const QModelIndex & ) ),
|
||||
this,
|
||||
@@ -240,7 +245,15 @@ void ResourceBrowser::startItemPreview( const QModelIndex & _idx )
|
||||
|
||||
|
||||
|
||||
void ResourceBrowser::stopItemPreview( const QModelIndex & _idx )
|
||||
void ResourceBrowser::stopItemPreview( const QModelIndex & )
|
||||
{
|
||||
stopPreview();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void ResourceBrowser::stopPreview()
|
||||
{
|
||||
m_previewer.stopPreview();
|
||||
}
|
||||
|
||||
@@ -72,4 +72,13 @@ void ResourceTreeView::updateFilter( void )
|
||||
|
||||
|
||||
|
||||
void ResourceTreeView::startDrag( Qt::DropActions supportedActions )
|
||||
{
|
||||
emit dragStarted();
|
||||
|
||||
QTreeView::startDrag( supportedActions );
|
||||
}
|
||||
|
||||
|
||||
|
||||
#include "moc_ResourceTreeView.cxx"
|
||||
|
||||
Reference in New Issue
Block a user