From 266be281d065e013dd6132ff633ef2279c7a76a0 Mon Sep 17 00:00:00 2001 From: Keith Edmunds Date: Fri, 2 Jan 2026 14:34:28 +0000 Subject: [PATCH] Don't run update_track_times twice on starting track --- app/playlistmodel.py | 7 ++++--- pyproject.toml | 1 + uv.lock | 10 +++++++++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/app/playlistmodel.py b/app/playlistmodel.py index e9c7e63..6bad16f 100644 --- a/app/playlistmodel.py +++ b/app/playlistmodel.py @@ -314,9 +314,6 @@ class PlaylistModel(QAbstractTableModel): # only invalidate required roles self.invalidate_row(track_sequence.previous.row_number, roles) - # Update all other track times - self.update_track_times() - # Find next track next_row = None unplayed_rows = [ @@ -332,6 +329,10 @@ class PlaylistModel(QAbstractTableModel): next_row = min(unplayed_rows) if next_row is not None: self.set_next_row(next_row) + else: + # set_next_row() calls update_track_times(); else we call it + self.update_track_times() + def data( self, index: QModelIndex, role: int = Qt.ItemDataRole.DisplayRole diff --git a/pyproject.toml b/pyproject.toml index a26b38f..0e378d5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,6 +35,7 @@ dependencies = [ "pdbpp>=0.10.3", "filetype>=1.2.0", "black>=25.1.0", + "slugify>=0.0.1", ] [dependency-groups] diff --git a/uv.lock b/uv.lock index b6ce2e8..f65a5f4 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 2 +revision = 3 requires-python = ">=3.13, <4" [[package]] @@ -513,6 +513,7 @@ dependencies = [ { name = "python-slugify" }, { name = "python-vlc" }, { name = "pyyaml" }, + { name = "slugify" }, { name = "sqlalchemy" }, { name = "stackprinter" }, { name = "tinytag" }, @@ -560,6 +561,7 @@ requires-dist = [ { name = "python-slugify", specifier = ">=8.0.4" }, { name = "python-vlc", specifier = ">=3.0.21203" }, { name = "pyyaml", specifier = ">=6.0.2,<7.0.0" }, + { name = "slugify", specifier = ">=0.0.1" }, { name = "sqlalchemy", specifier = ">=2.0.36" }, { name = "stackprinter", specifier = ">=0.2.10" }, { name = "tinytag", specifier = ">=1.10.1" }, @@ -1127,6 +1129,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a9/38/7d7362e031bd6dc121e5081d8cb6aa6f6fedf2b67bf889962134c6da4705/setuptools-75.8.2-py3-none-any.whl", hash = "sha256:558e47c15f1811c1fa7adbd0096669bf76c1d3f433f58324df69f3f5ecac4e8f", size = 1229385, upload-time = "2025-02-26T20:45:17.259Z" }, ] +[[package]] +name = "slugify" +version = "0.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/89/fbb7391d777b60c82d4e1376bb181b98e75adf506b3f7ffe837eca64570b/slugify-0.0.1.tar.gz", hash = "sha256:c5703cc11c1a6947536f3ce8bb306766b8bb5a84a53717f5a703ce0f18235e4c", size = 1156, upload-time = "2010-12-07T16:36:05.53Z" } + [[package]] name = "sqlalchemy" version = "2.0.38"