Don't scroll on drag and drop

Fixes #152
This commit is contained in:
Keith Edmunds 2022-12-19 18:14:59 +00:00
parent 57f038c704
commit 0d4b306fc4
2 changed files with 9 additions and 5 deletions

View File

@ -920,7 +920,8 @@ class Window(QMainWindow, Ui_MainWindow):
session.commit()
# Update display
self.visible_playlist_tab().populate(session, dst_playlist_id)
self.visible_playlist_tab().populate(session, dst_playlist_id,
scroll_to_top=False)
# If source playlist is not destination playlist, fixup row
# numbers and update display
@ -935,7 +936,8 @@ class Window(QMainWindow, Ui_MainWindow):
source_playlist_tab = self.tabPlaylist.widget(tab)
break
if source_playlist_tab:
source_playlist_tab.populate(session, src_playlist_id)
source_playlist_tab.populate(session, src_playlist_id,
scroll_to_top=False)
# Reset so rows can't be repasted
self.selected_plrs = None

View File

@ -771,7 +771,8 @@ class PlaylistTab(QTableWidget):
self._clear_current_track_row()
self.current_track_start_time = None
def populate(self, session: Session, playlist_id: int) -> None:
def populate(self, session: Session, playlist_id: int,
scroll_to_top: bool = True) -> None:
"""
Populate from the associated playlist ID
"""
@ -788,8 +789,9 @@ class PlaylistTab(QTableWidget):
self.insert_row(session, row, repaint=False)
# Scroll to top
scroll_to: QTableWidgetItem = self.item(0, 0)
self.scrollToItem(scroll_to, QAbstractItemView.PositionAtTop)
if scroll_to_top:
scroll_to: QTableWidgetItem = self.item(0, 0)
self.scrollToItem(scroll_to, QAbstractItemView.PositionAtTop)
# Set widths
self._set_column_widths(session)