Merge 28c8c408c5
into 7acd0f9c63
This commit is contained in:
commit
5747d04f99
|
@ -315,9 +315,15 @@ void QskListView::keyReleaseEvent( QKeyEvent* event )
|
||||||
|
|
||||||
void QskListView::mousePressEvent( QMouseEvent* event )
|
void QskListView::mousePressEvent( QMouseEvent* event )
|
||||||
{
|
{
|
||||||
|
const int row = qskRowAt( this, qskMousePosition( event ) );
|
||||||
|
|
||||||
|
if( row >= 0 )
|
||||||
|
{
|
||||||
|
Q_EMIT pressed( row );
|
||||||
|
}
|
||||||
|
|
||||||
if ( m_data->selectionMode != NoSelection )
|
if ( m_data->selectionMode != NoSelection )
|
||||||
{
|
{
|
||||||
const int row = qskRowAt( this, qskMousePosition( event ) );
|
|
||||||
if ( row >= 0 )
|
if ( row >= 0 )
|
||||||
{
|
{
|
||||||
m_data->setRowState( this, row, Pressed );
|
m_data->setRowState( this, row, Pressed );
|
||||||
|
@ -331,6 +337,23 @@ void QskListView::mousePressEvent( QMouseEvent* event )
|
||||||
|
|
||||||
void QskListView::mouseReleaseEvent( QMouseEvent* event )
|
void QskListView::mouseReleaseEvent( QMouseEvent* event )
|
||||||
{
|
{
|
||||||
|
const int row = qskRowAt( this, qskMousePosition( event ) );
|
||||||
|
|
||||||
|
if( row == m_data->selectedRow )
|
||||||
|
{
|
||||||
|
Q_EMIT clicked( row );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( m_data->selectionMode != NoSelection )
|
||||||
|
{
|
||||||
|
if ( row >= 0 )
|
||||||
|
{
|
||||||
|
m_data->setRowState( this, row, Pressed );
|
||||||
|
setSelectedRow( row );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
m_data->setRowState( this, -1, Pressed );
|
m_data->setRowState( this, -1, Pressed );
|
||||||
Inherited::mouseReleaseEvent( event );
|
Inherited::mouseReleaseEvent( event );
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,6 +70,8 @@ class QSK_EXPORT QskListView : public QskScrollView
|
||||||
void setSelectedRow( int row );
|
void setSelectedRow( int row );
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
|
void pressed( int row );
|
||||||
|
void clicked( int row );
|
||||||
void selectedRowChanged( int row );
|
void selectedRowChanged( int row );
|
||||||
|
|
||||||
void selectionModeChanged();
|
void selectionModeChanged();
|
||||||
|
|
Loading…
Reference in New Issue