Compare commits
No commits in common. "9a6bb038e10cc9e2eb9630575ceb6cbe323cca30" and "199abc9c0ccfed6f94de8ae6203f7a08021e56a4" have entirely different histories.
9a6bb038e1
...
199abc9c0c
@ -1396,7 +1396,7 @@ class Window(QMainWindow):
|
|||||||
new_row_number, existing_prd, note=""
|
new_row_number, existing_prd, note=""
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
base_model.insert_row(track_id)
|
base_model.insert_row(new_row_number, track_id)
|
||||||
|
|
||||||
new_row_number += 1
|
new_row_number += 1
|
||||||
|
|
||||||
@ -1896,7 +1896,10 @@ class Window(QMainWindow):
|
|||||||
dlg.resize(500, 100)
|
dlg.resize(500, 100)
|
||||||
ok = dlg.exec()
|
ok = dlg.exec()
|
||||||
if ok:
|
if ok:
|
||||||
self.current.base_model.insert_row(note=dlg.textValue())
|
self.current.base_model.insert_row(
|
||||||
|
proposed_row_number=self.current_row_or_end(),
|
||||||
|
note=dlg.textValue(),
|
||||||
|
)
|
||||||
|
|
||||||
def insert_track(self, checked: bool = False) -> None:
|
def insert_track(self, checked: bool = False) -> None:
|
||||||
"""Show dialog box to select and add track from database"""
|
"""Show dialog box to select and add track from database"""
|
||||||
|
|||||||
@ -566,18 +566,24 @@ class PlaylistModel(QAbstractTableModel):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
@log_call
|
@log_call
|
||||||
def _get_new_row_number(self) -> int:
|
def _get_new_row_number(self, proposed_row_number: Optional[int]) -> int:
|
||||||
"""
|
"""
|
||||||
Get row number for new row.
|
Sanitises proposed new row number.
|
||||||
|
|
||||||
If any rows are selected, return the first such row number, else
|
If proposed_row_number given, ensure it is valid.
|
||||||
return row number to add to end of model.
|
If not given, return row number to add to end of model.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if not self.selected_rows:
|
if proposed_row_number is None or proposed_row_number > len(self.playlist_rows):
|
||||||
return len(self.playlist_rows)
|
# We are adding to the end of the list
|
||||||
|
new_row_number = len(self.playlist_rows)
|
||||||
|
elif proposed_row_number < 0:
|
||||||
|
# Add to start of list
|
||||||
|
new_row_number = 0
|
||||||
|
else:
|
||||||
|
new_row_number = proposed_row_number
|
||||||
|
|
||||||
return self.selected_rows[0].row_number
|
return new_row_number
|
||||||
|
|
||||||
def get_row_info(self, row_number: int) -> PlaylistRow:
|
def get_row_info(self, row_number: int) -> PlaylistRow:
|
||||||
"""
|
"""
|
||||||
@ -704,12 +710,17 @@ class PlaylistModel(QAbstractTableModel):
|
|||||||
self.invalidate_row(row_number, roles)
|
self.invalidate_row(row_number, roles)
|
||||||
|
|
||||||
@log_call
|
@log_call
|
||||||
def insert_row(self, track_id: Optional[int] = None, note: str = "",) -> None:
|
def insert_row(
|
||||||
|
self,
|
||||||
|
proposed_row_number: Optional[int],
|
||||||
|
track_id: Optional[int] = None,
|
||||||
|
note: str = "",
|
||||||
|
) -> None:
|
||||||
"""
|
"""
|
||||||
Insert a row.
|
Insert a row.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
new_row_number = self._get_new_row_number()
|
new_row_number = self._get_new_row_number(proposed_row_number)
|
||||||
|
|
||||||
super().beginInsertRows(QModelIndex(), new_row_number, new_row_number)
|
super().beginInsertRows(QModelIndex(), new_row_number, new_row_number)
|
||||||
|
|
||||||
@ -1474,7 +1485,7 @@ class PlaylistModel(QAbstractTableModel):
|
|||||||
]
|
]
|
||||||
self.invalidate_rows(track_rows, roles)
|
self.invalidate_rows(track_rows, roles)
|
||||||
else:
|
else:
|
||||||
self.insert_row(track_id=track_id)
|
self.insert_row(proposed_row_number=row_number, track_id=track_id)
|
||||||
|
|
||||||
@log_call
|
@log_call
|
||||||
def update_track_times(self) -> None:
|
def update_track_times(self) -> None:
|
||||||
|
|||||||
@ -37,7 +37,8 @@ from helpers import (
|
|||||||
ms_to_mmss,
|
ms_to_mmss,
|
||||||
show_warning,
|
show_warning,
|
||||||
)
|
)
|
||||||
from log import log, log_call
|
from log import log
|
||||||
|
from models import db, Playdates
|
||||||
from playlistrow import PlaylistRow
|
from playlistrow import PlaylistRow
|
||||||
import repository
|
import repository
|
||||||
|
|
||||||
|
|||||||
@ -799,10 +799,10 @@ def insert_row(
|
|||||||
shift_by=1,
|
shift_by=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
playlist_row = PlaylistRows(
|
playlist_row = PlaylistRows.insert_row(
|
||||||
session=session,
|
session=session,
|
||||||
playlist_id=playlist_id,
|
playlist_id=playlist_id,
|
||||||
row_number=row_number,
|
new_row_number=row_number,
|
||||||
note=note,
|
note=note,
|
||||||
track_id=track_id,
|
track_id=track_id,
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user