Dim played tracks

This commit is contained in:
Keith Edmunds 2021-04-04 13:25:55 +01:00
parent dadd251587
commit ba9b9cc936

View File

@ -1,4 +1,5 @@
from PyQt5.QtCore import Qt from PyQt5.QtCore import Qt
from PyQt5.Qt import QFont
from PyQt5.QtGui import QColor, QDropEvent from PyQt5.QtGui import QColor, QDropEvent
from PyQt5.QtWidgets import ( from PyQt5.QtWidgets import (
QTableWidget, QTableWidget,
@ -424,6 +425,8 @@ class Playlist(QTableWidget):
return False return False
def update_playlist_colours(self): def update_playlist_colours(self):
"Set row colours, fonts, etc"
self.clearSelection() self.clearSelection()
current = self.meta_get_current() current = self.meta_get_current()
next = self.meta_get_next() next = self.meta_get_next()
@ -432,25 +435,52 @@ class Playlist(QTableWidget):
for row in range(self.rowCount()): for row in range(self.rowCount()):
if row == current: if row == current:
self.set_row_colour( self.set_row_colour(
row, QColor(Config.COLOUR_CURRENT_PLAYLIST)) row, QColor(Config.COLOUR_CURRENT_PLAYLIST)
)
self.set_row_bold(row)
elif row == next: elif row == next:
self.set_row_colour( self.set_row_colour(
row, QColor(Config.COLOUR_NEXT_PLAYLIST)) row, QColor(Config.COLOUR_NEXT_PLAYLIST)
)
self.set_row_bold(row)
elif row in notes: elif row in notes:
self.set_row_colour( self.set_row_colour(
row, QColor(Config.COLOUR_NOTES_PLAYLIST)) row, QColor(Config.COLOUR_NOTES_PLAYLIST)
)
self.set_row_bold(row)
else: else:
if row % 2: if row % 2:
colour = QColor(Config.COLOUR_ODD_PLAYLIST) colour = QColor(Config.COLOUR_ODD_PLAYLIST)
else: else:
colour = QColor(Config.COLOUR_EVEN_PLAYLIST) colour = QColor(Config.COLOUR_EVEN_PLAYLIST)
self.set_row_colour(row, colour) self.set_row_colour(row, colour)
if self.item(row, self.COL_INDEX):
if int(self.item(row, self.COL_INDEX).text()) > 0:
track_id = int(self.item(row, self.COL_INDEX).text())
if track_id in self.played_tracks:
self.set_row_not_bold(row)
else:
self.set_row_bold(row)
def set_row_bold(self, row):
bold = QFont()
bold.setBold(True)
for j in range(self.columnCount()):
if self.item(row, j):
self.item(row, j).setFont(bold)
def set_row_colour(self, row, colour): def set_row_colour(self, row, colour):
for j in range(self.columnCount()): for j in range(self.columnCount()):
if self.item(row, j): if self.item(row, j):
self.item(row, j).setBackground(colour) self.item(row, j).setBackground(colour)
def set_row_not_bold(self, row):
normal = QFont()
normal.setBold(False)
for j in range(self.columnCount()):
if self.item(row, j):
self.item(row, j).setFont(normal)
class Window(QWidget): class Window(QWidget):
def __init__(self): def __init__(self):