Compare commits
No commits in common. "199dada24660cf98482e04742b91015085749ac9" and "019e9f6cf360bcd3243b3583f79db8550a9ed476" have entirely different histories.
199dada246
...
019e9f6cf3
@ -124,8 +124,6 @@ class Window(QMainWindow, Ui_MainWindow):
|
|||||||
if record.f_int != self.y():
|
if record.f_int != self.y():
|
||||||
record.update(session, {'f_int': self.y()})
|
record.update(session, {'f_int': self.y()})
|
||||||
|
|
||||||
self.visible_playlist_tab().close(session)
|
|
||||||
|
|
||||||
event.accept()
|
event.accept()
|
||||||
|
|
||||||
def connect_signals_slots(self):
|
def connect_signals_slots(self):
|
||||||
@ -633,7 +631,6 @@ class Window(QMainWindow, Ui_MainWindow):
|
|||||||
self.enable_play_next_controls()
|
self.enable_play_next_controls()
|
||||||
else:
|
else:
|
||||||
self.frame_silent.setStyleSheet("")
|
self.frame_silent.setStyleSheet("")
|
||||||
self.frame_fade.setStyleSheet("")
|
|
||||||
|
|
||||||
self.label_silent_timer.setText(
|
self.label_silent_timer.setText(
|
||||||
helpers.ms_to_mmss(time_to_silence)
|
helpers.ms_to_mmss(time_to_silence)
|
||||||
|
|||||||
@ -29,10 +29,9 @@ class PlaylistTab(QTableWidget):
|
|||||||
COL_ARTIST = 3
|
COL_ARTIST = 3
|
||||||
COL_DURATION = 4
|
COL_DURATION = 4
|
||||||
COL_START_TIME = 5
|
COL_START_TIME = 5
|
||||||
COL_END_TIME = 6
|
COL_PATH = 6
|
||||||
COL_PATH = 7
|
|
||||||
|
|
||||||
NOTE_COL_SPAN = 4
|
NOTE_COL_SPAN = 3
|
||||||
NOTE_ROW_SPAN = 1
|
NOTE_ROW_SPAN = 1
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
@ -45,7 +44,7 @@ class PlaylistTab(QTableWidget):
|
|||||||
self.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
|
self.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
|
||||||
self.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)
|
self.setVerticalScrollMode(QtWidgets.QAbstractItemView.ScrollPerPixel)
|
||||||
self.setRowCount(0)
|
self.setRowCount(0)
|
||||||
self.setColumnCount(8)
|
self.setColumnCount(7)
|
||||||
item = QtWidgets.QTableWidgetItem()
|
item = QtWidgets.QTableWidgetItem()
|
||||||
self.setHorizontalHeaderItem(0, item)
|
self.setHorizontalHeaderItem(0, item)
|
||||||
item = QtWidgets.QTableWidgetItem()
|
item = QtWidgets.QTableWidgetItem()
|
||||||
@ -60,13 +59,11 @@ class PlaylistTab(QTableWidget):
|
|||||||
self.setHorizontalHeaderItem(5, item)
|
self.setHorizontalHeaderItem(5, item)
|
||||||
item = QtWidgets.QTableWidgetItem()
|
item = QtWidgets.QTableWidgetItem()
|
||||||
self.setHorizontalHeaderItem(6, item)
|
self.setHorizontalHeaderItem(6, item)
|
||||||
item = QtWidgets.QTableWidgetItem()
|
|
||||||
self.setHorizontalHeaderItem(7, item)
|
|
||||||
self.horizontalHeader().setMinimumSectionSize(0)
|
self.horizontalHeader().setMinimumSectionSize(0)
|
||||||
|
|
||||||
self._set_column_widths()
|
self._set_column_widths()
|
||||||
self.setHorizontalHeaderLabels(["ID", "Lead", "Title", "Artist",
|
self.setHorizontalHeaderLabels(["ID", "Lead", "Title", "Artist",
|
||||||
"Len", "Start", "End", "Path"])
|
"Len", "Start", "Path"])
|
||||||
|
|
||||||
self.setDragEnabled(True)
|
self.setDragEnabled(True)
|
||||||
self.setAcceptDrops(True)
|
self.setAcceptDrops(True)
|
||||||
@ -91,6 +88,19 @@ class PlaylistTab(QTableWidget):
|
|||||||
|
|
||||||
# ########## Events ##########
|
# ########## Events ##########
|
||||||
|
|
||||||
|
def closeEvent(self, event):
|
||||||
|
"Save column widths"
|
||||||
|
|
||||||
|
for column in range(self.columnCount()):
|
||||||
|
width = self.columnWidth(column)
|
||||||
|
name = f"playlist_col_{str(column)}_width"
|
||||||
|
with Session() as session:
|
||||||
|
record = Settings.get_int(session, name)
|
||||||
|
if record.f_int != self.columnWidth(column):
|
||||||
|
record.update(session, {'f_int': width})
|
||||||
|
|
||||||
|
event.accept()
|
||||||
|
|
||||||
def dropEvent(self, event: QDropEvent):
|
def dropEvent(self, event: QDropEvent):
|
||||||
if not event.isAccepted() and event.source() == self:
|
if not event.isAccepted() and event.source() == self:
|
||||||
drop_row = self._drop_on(event)
|
drop_row = self._drop_on(event)
|
||||||
@ -157,16 +167,6 @@ class PlaylistTab(QTableWidget):
|
|||||||
|
|
||||||
# ########## Externally called functions ##########
|
# ########## Externally called functions ##########
|
||||||
|
|
||||||
def close(self, session):
|
|
||||||
"Save column widths"
|
|
||||||
|
|
||||||
for column in range(self.columnCount()):
|
|
||||||
width = self.columnWidth(column)
|
|
||||||
name = f"playlist_col_{str(column)}_width"
|
|
||||||
record = Settings.get_int(session, name)
|
|
||||||
if record.f_int != self.columnWidth(column):
|
|
||||||
record.update(session, {'f_int': width})
|
|
||||||
|
|
||||||
def insert_note(self, session, note, repaint=True):
|
def insert_note(self, session, note, repaint=True):
|
||||||
"""
|
"""
|
||||||
Add note to playlist
|
Add note to playlist
|
||||||
@ -203,11 +203,9 @@ class PlaylistTab(QTableWidget):
|
|||||||
self.setSpan(row, self.COL_NOTE, self.NOTE_ROW_SPAN,
|
self.setSpan(row, self.COL_NOTE, self.NOTE_ROW_SPAN,
|
||||||
self.NOTE_COL_SPAN)
|
self.NOTE_COL_SPAN)
|
||||||
|
|
||||||
# Add start/end times or empty items as background
|
# Add start times or empty items as background
|
||||||
# colour won't be set for columns without items
|
# colour won't be set for columns without items
|
||||||
self._set_row_start_time(row, start_time)
|
self._set_row_time(row, start_time)
|
||||||
item = QTableWidgetItem()
|
|
||||||
self.setItem(row, self.COL_END_TIME, item)
|
|
||||||
item = QTableWidgetItem()
|
item = QTableWidgetItem()
|
||||||
self.setItem(row, self.COL_PATH, item)
|
self.setItem(row, self.COL_PATH, item)
|
||||||
|
|
||||||
@ -806,13 +804,10 @@ class PlaylistTab(QTableWidget):
|
|||||||
|
|
||||||
elif row == current:
|
elif row == current:
|
||||||
# Set start time
|
# Set start time
|
||||||
self._set_row_start_time(
|
self._set_row_time(row, self.current_track_start_time)
|
||||||
row, self.current_track_start_time)
|
|
||||||
# Calculate next_start_time
|
# Calculate next_start_time
|
||||||
next_start_time = self._calculate_next_start_time(
|
next_start_time = self._calculate_next_start_time(
|
||||||
session, row, self.current_track_start_time)
|
session, row, self.current_track_start_time)
|
||||||
# Set end time
|
|
||||||
self._set_row_end_time(row, next_start_time)
|
|
||||||
# Set colour
|
# Set colour
|
||||||
self._set_row_colour(row, QColor(
|
self._set_row_colour(row, QColor(
|
||||||
Config.COLOUR_CURRENT_PLAYLIST))
|
Config.COLOUR_CURRENT_PLAYLIST))
|
||||||
@ -831,7 +826,7 @@ class PlaylistTab(QTableWidget):
|
|||||||
if not start_time:
|
if not start_time:
|
||||||
start_time = next_start_time
|
start_time = next_start_time
|
||||||
# Now set it
|
# Now set it
|
||||||
self._set_row_start_time(row, start_time)
|
self._set_row_time(row, start_time)
|
||||||
next_start_time = self._calculate_next_start_time(
|
next_start_time = self._calculate_next_start_time(
|
||||||
session, row, start_time)
|
session, row, start_time)
|
||||||
# Set colour
|
# Set colour
|
||||||
@ -851,13 +846,11 @@ class PlaylistTab(QTableWidget):
|
|||||||
if self._get_row_id(row) in self.played_tracks:
|
if self._get_row_id(row) in self.played_tracks:
|
||||||
self._set_row_not_bold(row)
|
self._set_row_not_bold(row)
|
||||||
else:
|
else:
|
||||||
# Set start/end times only if we haven't played it yet
|
# Set time only if we haven't played it yet
|
||||||
if next_start_time:
|
if next_start_time:
|
||||||
self._set_row_start_time(row, next_start_time)
|
self._set_row_time(row, next_start_time)
|
||||||
next_start_time = self._calculate_next_start_time(
|
next_start_time = self._calculate_next_start_time(
|
||||||
session, row, next_start_time)
|
session, row, next_start_time)
|
||||||
# Set end time
|
|
||||||
self._set_row_end_time(row, next_start_time)
|
|
||||||
# Don't dim unplayed tracks
|
# Don't dim unplayed tracks
|
||||||
self._set_row_bold(row)
|
self._set_row_bold(row)
|
||||||
|
|
||||||
@ -962,17 +955,7 @@ class PlaylistTab(QTableWidget):
|
|||||||
def _set_row_not_bold(self, row):
|
def _set_row_not_bold(self, row):
|
||||||
self._set_row_bold(row, False)
|
self._set_row_bold(row, False)
|
||||||
|
|
||||||
def _set_row_end_time(self, row, time):
|
def _set_row_time(self, row, time):
|
||||||
"Set passed row end time to passed time"
|
|
||||||
try:
|
|
||||||
time_str = time.strftime("%H:%M:%S")
|
|
||||||
except AttributeError:
|
|
||||||
time_str = ""
|
|
||||||
item = QTableWidgetItem(time_str)
|
|
||||||
self.setItem(row, self.COL_END_TIME, item)
|
|
||||||
|
|
||||||
def _set_row_start_time(self, row, time):
|
|
||||||
"Set passed row start time to passed time"
|
|
||||||
try:
|
try:
|
||||||
time_str = time.strftime("%H:%M:%S")
|
time_str = time.strftime("%H:%M:%S")
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user