Compare commits
2 Commits
65f2f4f351
...
c0ae9eba9f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c0ae9eba9f | ||
|
|
e3ad7787af |
@ -233,6 +233,7 @@ class PlaylistTab(QTableWidget):
|
|||||||
if not event.source() == self:
|
if not event.source() == self:
|
||||||
return # We don't accept external drops
|
return # We don't accept external drops
|
||||||
|
|
||||||
|
top_row = self.rowAt(0)
|
||||||
row_set = set([mi.row() for mi in self.selectedIndexes()])
|
row_set = set([mi.row() for mi in self.selectedIndexes()])
|
||||||
targetRow = self.indexAt(event.position().toPoint()).row()
|
targetRow = self.indexAt(event.position().toPoint()).row()
|
||||||
row_set.discard(targetRow)
|
row_set.discard(targetRow)
|
||||||
@ -251,15 +252,21 @@ class PlaylistTab(QTableWidget):
|
|||||||
rowMapping[row + len(rows)] = targetRow + idx
|
rowMapping[row + len(rows)] = targetRow + idx
|
||||||
colCount = self.columnCount()
|
colCount = self.columnCount()
|
||||||
for srcRow, tgtRow in sorted(rowMapping.items()):
|
for srcRow, tgtRow in sorted(rowMapping.items()):
|
||||||
for col in range(0, colCount):
|
if self._get_row_track_id(srcRow):
|
||||||
self.setItem(tgtRow, col, self.takeItem(srcRow, col))
|
# This is a track row
|
||||||
|
for col in range(0, colCount):
|
||||||
|
self.setItem(tgtRow, col, self.takeItem(srcRow, col))
|
||||||
|
else:
|
||||||
|
self.setItem(tgtRow, HEADER_NOTES_COLUMN,
|
||||||
|
self.takeItem(srcRow, HEADER_NOTES_COLUMN))
|
||||||
|
self.setSpan(tgtRow, HEADER_NOTES_COLUMN, 1, len(columns) - 1)
|
||||||
for row in reversed(sorted(rowMapping.keys())):
|
for row in reversed(sorted(rowMapping.keys())):
|
||||||
self.removeRow(row)
|
self.removeRow(row)
|
||||||
event.accept()
|
self.resizeRowsToContents()
|
||||||
|
|
||||||
# Scroll to drop zone
|
# Scroll to drop zone
|
||||||
self.scrollToItem(self.item(targetRow, 1),
|
self.scrollToItem(self.item(top_row, 1),
|
||||||
QAbstractItemView.ScrollHint.PositionAtCenter)
|
QAbstractItemView.ScrollHint.PositionAtTop)
|
||||||
|
event.accept()
|
||||||
|
|
||||||
# Reset drag mode to allow row selection by dragging
|
# Reset drag mode to allow row selection by dragging
|
||||||
self.setDragEnabled(False)
|
self.setDragEnabled(False)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user