diff options
Diffstat (limited to 'src/plugins/Ui')
| -rw-r--r-- | src/plugins/Ui/skinned/listwidget.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp index 63972759f..6aa9792eb 100644 --- a/src/plugins/Ui/skinned/listwidget.cpp +++ b/src/plugins/Ui/skinned/listwidget.cpp @@ -298,12 +298,15 @@ void ListWidget::mousePressEvent(QMouseEvent *e) if (INVALID_ROW != row && m_model->count() > row) { m_pressed_row = row; - if(e->button() == Qt::RightButton && !m_model->isSelected(row)) + if(e->button() == Qt::RightButton) { - m_model->clearSelection(); - m_model->setSelected(row, true); + if(!m_model->isSelected(row)) + { + m_model->clearSelection(); + m_model->setSelected(row, true); + } m_anchor_row = m_pressed_row; - if(m_model->isGroup(row)) + if(m_model->isGroup(row) && m_model->selectedTracks().isEmpty()) { PlayListGroup *group = m_model->group(row); m_model->setSelected(group->tracks()); |
