Compare commits

..

No commits in common. "889d32cc90eefcccd1a66a3b5e39309683919cfc" and "dda74782b601e042832e2723e06418e702f90b01" have entirely different histories.

3 changed files with 22 additions and 53 deletions

View File

@ -46,10 +46,7 @@ def Session() -> Generator[scoped_session, None, None]:
lineno = frame.lineno
Session = scoped_session(sessionmaker(bind=engine, future=True))
log.debug(f"SqlA: session acquired [{hex(id(Session))}]")
log.debug(
f"Session acquisition: {file}:{function}:{lineno} "
f"[{hex(id(Session))}]"
)
log.debug(f"Session acquisition: {function}:{lineno} [{hex(id(Session))}]")
yield Session
log.debug(f" SqlA: session released [{hex(id(Session))}]")
Session.commit()

View File

@ -258,7 +258,6 @@ class MusicMusterSignals(QObject):
"""
save_playlist_signal = pyqtSignal()
update_row_note_signal = pyqtSignal(int)
class Window(QMainWindow, Ui_MainWindow):

View File

@ -197,7 +197,6 @@ class PlaylistTab(QTableWidget):
# Connect signals
self.horizontalHeader().sectionResized.connect(self._column_resize)
self.signals.save_playlist_signal.connect(self._deferred_save)
self.signals.update_row_note_signal.connect(self._update_row_note)
# Load playlist rows
self.populate_display(session, self.playlist_id)
@ -334,8 +333,24 @@ class PlaylistTab(QTableWidget):
if self.edit_cell_type == ROW_NOTES:
plr_item.note = new_text
session.flush()
self.signals.update_row_note_signal.emit(row)
# Set/clear row start time accordingly
start_time = self._get_note_text_time(new_text)
if start_time:
self._set_row_start_time(row, start_time)
else:
self._set_row_start_time(row, None)
self._set_row_note_colour(session, row, new_text,
section_header=not bool(track_id))
# Update note display
# If this is a header row, also calcuate track times in case
# note added a start time
if track_id:
self._set_row_note_colour(session, row, new_text,
section_header=False)
else:
self._set_row_note_colour(session, row, new_text,
section_header=True)
self._update_start_end_times()
else:
track = None
if track_id:
@ -374,9 +389,6 @@ class PlaylistTab(QTableWidget):
super(PlaylistTab, self).closeEditor(editor, hint)
# Optimise row heights after increasing row height for editing
self.resizeRowsToContents()
# Update start times in case a start time in a note has been
# edited
self._update_start_end_times()
@ -1675,21 +1687,6 @@ class PlaylistTab(QTableWidget):
else:
self.musicmuster.lblSumPlaytime.setText("")
def _set_cell_colour(self, row: int, column: int,
colour: Optional[QColor] = None) -> None:
"""
Set or reset a cell background colour
"""
if colour:
brush = QBrush(colour)
else:
brush = QBrush()
item = self.item(row, column)
if item:
item.setBackground(brush)
def _set_column_widths(self, session: scoped_session) -> None:
"""Column widths from settings"""
@ -1935,16 +1932,12 @@ class PlaylistTab(QTableWidget):
notes_item = self._set_item_text(row, column, note_text)
note_colour = NoteColours.get_colour(session, note_text)
if section_header and not note_colour:
note_colour = Config.COLOUR_NOTES_PLAYLIST
if note_colour:
new_colour = QColor(note_colour)
else:
new_colour = None
if section_header:
self._set_row_colour(row, new_colour)
else:
self._set_cell_colour(row, column, new_colour)
notes_item.setBackground(QColor(note_colour))
return notes_item
@ -2098,26 +2091,6 @@ class PlaylistTab(QTableWidget):
if not file_is_readable(track.path):
self._set_row_colour_unreadable(row)
def _update_row_note(self, row_number: int) -> None:
"""
Called by signal when row note is updated
"""
# Set/clear row start time accordingly
note_text = self._get_row_note(row_number)
start_time = self._get_note_text_time(note_text)
if start_time:
self._set_row_start_time(row_number, start_time)
else:
self._set_row_start_time(row_number, None)
is_section_header = not bool(self._get_row_track_id(row_number))
with Session() as session:
self._set_row_note_colour(session, row_number, note_text,
section_header=is_section_header)
self._update_start_end_times()
def _update_section_headers(self, session: scoped_session) -> None:
"""
Update section headers with run time of section