diff options
Diffstat (limited to 'src/ui/playlistselector.cpp')
| -rw-r--r-- | src/ui/playlistselector.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/ui/playlistselector.cpp b/src/ui/playlistselector.cpp index 22cc967ce..eaa75b82e 100644 --- a/src/ui/playlistselector.cpp +++ b/src/ui/playlistselector.cpp @@ -185,6 +185,8 @@ void PlayListSelector::mousePressEvent (QMouseEvent *e) update(); if(e->button() == Qt::RightButton) m_menu->exec(e->globalPos()); + else + QWidget::mousePressEvent(e); } void PlayListSelector::mouseReleaseEvent (QMouseEvent *e) @@ -204,6 +206,27 @@ void PlayListSelector::mouseDoubleClickEvent (QMouseEvent *e) QWidget::mouseDoubleClickEvent(e); } +void PlayListSelector::mouseMoveEvent(QMouseEvent *e) +{ + QPoint mp = e->pos(); + mp.rx() += m_offset; + int dest = -1; + for(int i = 0; i < m_rects.count(); ++i) + { + if(m_rects.at(i).contains(mp)) + { + dest = i; + break; + } + } + if(dest == -1 || dest == m_pl_manager->selectedPlayListIndex()) + { + QWidget::mouseMoveEvent(e); + return; + } + m_pl_manager->move(m_pl_manager->selectedPlayListIndex(), dest); +} + void PlayListSelector::resizeEvent (QResizeEvent *) { updateScrollers(); |
