Don't scroll display after drop
With no code, display scroll back to where the source rows came from. With code we had, we ensured dropped rows were visible, but display would still scroll. Now freeze display as it is when rows are dropped.
This commit is contained in:
parent
e3ad7787af
commit
c0ae9eba9f
@ -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)
|
||||||
@ -262,11 +263,10 @@ class PlaylistTab(QTableWidget):
|
|||||||
for row in reversed(sorted(rowMapping.keys())):
|
for row in reversed(sorted(rowMapping.keys())):
|
||||||
self.removeRow(row)
|
self.removeRow(row)
|
||||||
self.resizeRowsToContents()
|
self.resizeRowsToContents()
|
||||||
event.accept()
|
|
||||||
|
|
||||||
# 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