This commit is contained in:
Peter Hartmann 2025-06-05 15:58:42 +02:00 committed by GitHub
commit 5747d04f99
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 26 additions and 1 deletions

View File

@ -315,9 +315,15 @@ void QskListView::keyReleaseEvent( QKeyEvent* 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 )
{
const int row = qskRowAt( this, qskMousePosition( event ) );
if ( row >= 0 )
{
m_data->setRowState( this, row, Pressed );
@ -331,6 +337,23 @@ void QskListView::mousePressEvent( 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 );
Inherited::mouseReleaseEvent( event );
}

View File

@ -70,6 +70,8 @@ class QSK_EXPORT QskListView : public QskScrollView
void setSelectedRow( int row );
Q_SIGNALS:
void pressed( int row );
void clicked( int row );
void selectedRowChanged( int row );
void selectionModeChanged();