Compare commits

...

3 Commits

Author SHA1 Message Date
Keith Edmunds
c0ae9eba9f 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.
2023-05-01 18:04:03 +01:00
Keith Edmunds
e3ad7787af Make header row span columns after drag and drop 2023-05-01 17:27:30 +01:00
Keith Edmunds
65f2f4f351 Ensure volume is set to VOLUME_VLC_DEFAULT on play 2023-04-21 14:37:48 +01:00
2 changed files with 14 additions and 7 deletions

View File

@ -1241,7 +1241,7 @@ class Window(QMainWindow, Ui_MainWindow):
for _ in range(3):
if self.music.player:
volume = self.music.player.audio_get_volume()
if volume < 10:
if volume < Config.VOLUME_VLC_DEFAULT:
self.music.set_volume()
log.error(f"Reset from {volume=}")
break

View File

@ -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)
@ -251,15 +252,21 @@ class PlaylistTab(QTableWidget):
rowMapping[row + len(rows)] = targetRow + idx
colCount = self.columnCount()
for srcRow, tgtRow in sorted(rowMapping.items()):
if self._get_row_track_id(srcRow):
# 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())):
self.removeRow(row)
event.accept()
self.resizeRowsToContents()
# 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)