From c0ae9eba9f3521c28450f39561fb1663a6962d71 Mon Sep 17 00:00:00 2001 From: Keith Edmunds Date: Mon, 1 May 2023 18:04:03 +0100 Subject: [PATCH] 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. --- app/playlists.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/playlists.py b/app/playlists.py index 4b25ab9..48424e1 100644 --- a/app/playlists.py +++ b/app/playlists.py @@ -233,6 +233,7 @@ class PlaylistTab(QTableWidget): if not event.source() == self: return # We don't accept external drops + top_row = self.rowAt(0) row_set = set([mi.row() for mi in self.selectedIndexes()]) targetRow = self.indexAt(event.position().toPoint()).row() row_set.discard(targetRow) @@ -262,11 +263,10 @@ class PlaylistTab(QTableWidget): for row in reversed(sorted(rowMapping.keys())): self.removeRow(row) self.resizeRowsToContents() - event.accept() - # Scroll to drop zone - self.scrollToItem(self.item(targetRow, 1), - QAbstractItemView.ScrollHint.PositionAtCenter) + self.scrollToItem(self.item(top_row, 1), + QAbstractItemView.ScrollHint.PositionAtTop) + event.accept() # Reset drag mode to allow row selection by dragging self.setDragEnabled(False)