diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2013-11-20 11:57:25 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2013-11-20 11:57:25 +0000 |
| commit | 7b5e9960a11f35b3792d3417557fef5abc1ca876 (patch) | |
| tree | 69ee9a72fabbcf169d1b4b2eb7f3051d6c0d3e81 /src/plugins/Ui | |
| parent | 025f0783a5bdc1fffb6dbf6149ca0bb68f12f12f (diff) | |
| download | qmmp-7b5e9960a11f35b3792d3417557fef5abc1ca876.tar.gz qmmp-7b5e9960a11f35b3792d3417557fef5abc1ca876.tar.bz2 qmmp-7b5e9960a11f35b3792d3417557fef5abc1ca876.zip | |
prepare for insert functions impelementation
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3918 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui')
| -rw-r--r-- | src/plugins/Ui/skinned/listwidget.cpp | 26 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/listwidget.h | 3 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp index 6aa9792eb..8acd31783 100644 --- a/src/plugins/Ui/skinned/listwidget.cpp +++ b/src/plugins/Ui/skinned/listwidget.cpp @@ -46,6 +46,7 @@ ListWidget::ListWidget(QWidget *parent) m_popupWidget = 0; m_metrics = 0; m_extra_metrics = 0; + m_drop_row = -1; loadColors(); m_menu = new QMenu(this); m_scroll_direction = NONE; @@ -264,6 +265,14 @@ void ListWidget::paintEvent(QPaintEvent *) } sx = rtl ? 9 : width() - 7 - m_metrics->width(m_rows[i]->length); painter.drawText(sx, sy, m_rows[i]->length); + + //draw drop line + if(m_drop_row == (m_first + i)) + { + painter.setPen(m_current); + painter.drawLine (6, i * (m_metrics->lineSpacing() + 2), + width() - 4 , i * (m_metrics->lineSpacing() + 2)); + } } //draw line if(m_number_width) @@ -548,6 +557,23 @@ void ListWidget::dropEvent(QDropEvent *event) m_model->add(u.toString()); } } + m_drop_row = -1; +} + +void ListWidget::dragLeaveEvent(QDragLeaveEvent *) +{ + m_drop_row = -1; + update(); +} + +void ListWidget::dragMoveEvent(QDragMoveEvent *event) +{ + int row = rowAt(event->pos().y()); + if(row != m_drop_row) + { + m_drop_row = row; + update(); + } } const QString ListWidget::getExtraString(int i) diff --git a/src/plugins/Ui/skinned/listwidget.h b/src/plugins/Ui/skinned/listwidget.h index b7e902203..57f5f4d1a 100644 --- a/src/plugins/Ui/skinned/listwidget.h +++ b/src/plugins/Ui/skinned/listwidget.h @@ -98,6 +98,8 @@ protected: int rowAt(int)const; void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); + void dragLeaveEvent(QDragLeaveEvent *); + void dragMoveEvent(QDragMoveEvent *event); void contextMenuEvent (QContextMenuEvent * event); bool event (QEvent *e); @@ -140,6 +142,7 @@ private: bool m_show_anchor; bool m_align_numbres; int m_number_width; + int m_drop_row; QList<ListWidgetRow *> m_rows; MediaPlayer *m_player; PlayListPopup::PopupWidget *m_popupWidget; |
