aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-11-20 11:57:25 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-11-20 11:57:25 +0000
commit7b5e9960a11f35b3792d3417557fef5abc1ca876 (patch)
tree69ee9a72fabbcf169d1b4b2eb7f3051d6c0d3e81 /src/plugins/Ui
parent025f0783a5bdc1fffb6dbf6149ca0bb68f12f12f (diff)
downloadqmmp-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.cpp26
-rw-r--r--src/plugins/Ui/skinned/listwidget.h3
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;