Compare commits

...

4 Commits

Author SHA1 Message Date
Keith Edmunds
1502b10701 Fix (innocuous) mypy warning 2023-11-29 22:01:38 +00:00
Keith Edmunds
9cbdccb98b V3 polish 2023-11-29 15:04:50 +00:00
Keith Edmunds
3af9bef3f6 V3: fix preview button behaviour
Was asking user to select a track when next track selected.
2023-11-29 08:02:14 +00:00
Keith Edmunds
1db3990cd6 V3: add note colouring 2023-11-29 07:57:36 +00:00
2 changed files with 26 additions and 6 deletions

View File

@ -34,7 +34,7 @@ from helpers import (
set_track_metadata, set_track_metadata,
) )
from log import log from log import log
from models import Playdates, PlaylistRows, Tracks from models import NoteColours, Playdates, PlaylistRows, Tracks
HEADER_NOTES_COLUMN = 1 HEADER_NOTES_COLUMN = 1
@ -213,6 +213,13 @@ class PlaylistModel(QAbstractTableModel):
return QBrush(QColor(Config.COLOUR_BITRATE_MEDIUM)) return QBrush(QColor(Config.COLOUR_BITRATE_MEDIUM))
else: else:
return QBrush(QColor(Config.COLOUR_BITRATE_OK)) return QBrush(QColor(Config.COLOUR_BITRATE_OK))
if column == Col.NOTE.value:
with Session() as session:
note_colour = NoteColours.get_colour(session, prd.note)
if note_colour:
return QBrush(QColor(note_colour))
else:
return QBrush()
return QBrush() return QBrush()

View File

@ -1,5 +1,5 @@
from pprint import pprint from pprint import pprint
from typing import Callable, cast, List, Optional, TYPE_CHECKING from typing import Callable, cast, List, Optional, overload, TYPE_CHECKING
from PyQt6.QtCore import ( from PyQt6.QtCore import (
QEvent, QEvent,
@ -225,6 +225,9 @@ class PlaylistTab(QTableView):
# edited # edited
self.data_model.update_track_times() self.data_model.update_track_times()
# Deselect edited line
self.clear_selection()
def dropEvent(self, event): def dropEvent(self, event):
if event.source() is not self or ( if event.source() is not self or (
event.dropAction() != Qt.DropAction.MoveAction event.dropAction() != Qt.DropAction.MoveAction
@ -248,16 +251,24 @@ class PlaylistTab(QTableView):
self.clear_selection() self.clear_selection()
# Resize rows # Resize rows
self.signals.resize_rows_signal.emit(self.playlist_id) self.resizeRowsToContents()
event.accept() event.accept()
@overload
def edit(self, index: QModelIndex) -> None:
...
@overload
def edit( def edit(
self, self,
index: QModelIndex, index: QModelIndex,
trigger: QAbstractItemView.EditTrigger, trigger: QAbstractItemView.EditTrigger,
event: Optional[QEvent], event: Optional[QEvent]
) -> bool: ) -> bool:
...
def edit(self, index, trigger, event):
""" """
Override QAbstractItemView.edit to catch when editing starts Override QAbstractItemView.edit to catch when editing starts
@ -633,11 +644,13 @@ class PlaylistTab(QTableView):
row_indexes = self._selected_row_indexes() row_indexes = self._selected_row_indexes()
if len(row_indexes) != 1: if len(row_indexes) > 1:
show_warning( show_warning(
self.musicmuster, "No or multiple rows selected", "Select only one row" self.musicmuster, "Multiple rows selected", "Select only one row"
) )
return None return None
elif not row_indexes:
return None
return row_indexes[0] return row_indexes[0]