From f4dd259cb440bc15ea52be34bbed698fda5050ba Mon Sep 17 00:00:00 2001 From: Billy Date: Thu, 2 Oct 2025 19:26:53 +0000 Subject: [PATCH] caching order fix for models fast load --- components/MusicTable.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/components/MusicTable.py b/components/MusicTable.py index 3c1d3fd..edbaa90 100644 --- a/components/MusicTable.py +++ b/components/MusicTable.py @@ -96,7 +96,7 @@ class MusicTable(QTableView): # need a QStandardItemModel to load data & do actions on cells self.model2: QStandardItemModel = QStandardItemModel() self.proxymodel: QSortFilterProxyModel = QSortFilterProxyModel() - self.cache_models: dict[int | None, QStandardItemModel] + self.cache_models: dict[int | None, QStandardItemModel] = {} self.search_string: str | None = None self.headers = HeaderTags() # db names of headers @@ -734,9 +734,8 @@ class MusicTable(QTableView): try: new_model = self.cache_models[self.selected_playlist_id] self.model2 = new_model + debug('Cached model loaded') except KeyError: - # Store the current loaded model - self.cache_models[self.selected_playlist_id] = self.model2 # Query for a playlist if is_playlist: debug('load music table a playlist') @@ -806,6 +805,10 @@ class MusicTable(QTableView): for item in items: item.setData(id, Qt.ItemDataRole.UserRole) self.model2.appendRow(items) + # Store the current loaded model + self.cache_models[self.selected_playlist_id] = self.model2 + debug('Current model stored') + # reloading the model destroys and makes new indexes # so we look for the new index of the current song on load