From a4c3509e7593938679b0c03c576c927a90ac48b3 Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Thu, 20 Jan 2022 15:51:24 -0800 Subject: [PATCH] Playlist View: Refresh entire rows on status changes to refresh tooltips --- Playlist/PlaylistController.m | 20 +++++++++++++++----- Playlist/PlaylistLoader.m | 6 ++++-- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/Playlist/PlaylistController.m b/Playlist/PlaylistController.m index d35128716..a9541ee01 100644 --- a/Playlist/PlaylistController.m +++ b/Playlist/PlaylistController.m @@ -972,7 +972,9 @@ static inline void dispatch_sync_reentrant(dispatch_queue_t queue, dispatch_bloc if (currentEntry != nil) [refreshSet addIndex:currentEntry.index]; if (pe != nil) [refreshSet addIndex:pe.index]; - [self.tableView reloadDataForRowIndexes:refreshSet columnIndexes:[NSIndexSet indexSetWithIndex:1]]; + // Refresh entire row to refresh tooltips + unsigned long columns = [[self.tableView tableColumns] count]; + [self.tableView reloadDataForRowIndexes:refreshSet columnIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, columns)]]; if (pe != nil) [self.tableView scrollRowToVisible:pe.index]; @@ -1090,7 +1092,9 @@ static inline void dispatch_sync_reentrant(dispatch_queue_t queue, dispatch_bloc DLog(@"TOGGLE QUEUED: %i", queueItem.queued); } - [self.tableView reloadDataForRowIndexes:refreshSet columnIndexes:[NSIndexSet indexSetWithIndex:1]]; + // Refresh entire row to refresh tooltips + unsigned long columns = [[self.tableView tableColumns] count]; + [self.tableView reloadDataForRowIndexes:refreshSet columnIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, columns)]]; int i = 0; for (PlaylistEntry *cur in queueList) { @@ -1113,7 +1117,9 @@ static inline void dispatch_sync_reentrant(dispatch_queue_t queue, dispatch_bloc [refreshSet addIndex:[queueItem index]]; } - [self.tableView reloadDataForRowIndexes:refreshSet columnIndexes:[NSIndexSet indexSetWithIndex:1]]; + // Refresh entire row to refresh tooltips + unsigned long columns = [[self.tableView tableColumns] count]; + [self.tableView reloadDataForRowIndexes:refreshSet columnIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, columns)]]; int i = 0; for (PlaylistEntry *cur in queueList) { @@ -1136,7 +1142,9 @@ static inline void dispatch_sync_reentrant(dispatch_queue_t queue, dispatch_bloc [refreshSet addIndex:[queueItem index]]; } - [self.tableView reloadDataForRowIndexes:refreshSet columnIndexes:[NSIndexSet indexSetWithIndex:1]]; + // Refresh entire row to refresh tooltips + unsigned long columns = [[self.tableView tableColumns] count]; + [self.tableView reloadDataForRowIndexes:refreshSet columnIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, columns)]]; int i = 0; for (PlaylistEntry *cur in queueList) { @@ -1149,7 +1157,9 @@ static inline void dispatch_sync_reentrant(dispatch_queue_t queue, dispatch_bloc NSIndexSet * refreshSet = [NSIndexSet indexSetWithIndex:[currentEntry index]]; - [self.tableView reloadDataForRowIndexes:refreshSet columnIndexes:[NSIndexSet indexSetWithIndex:1]]; + // Refresh entire row to refresh tooltips + unsigned long columns = [[self.tableView tableColumns] count]; + [self.tableView reloadDataForRowIndexes:refreshSet columnIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, columns)]]; } - (BOOL)validateMenuItem:(NSMenuItem *)menuItem { diff --git a/Playlist/PlaylistLoader.m b/Playlist/PlaylistLoader.m index f79282ede..1696d566f 100755 --- a/Playlist/PlaylistLoader.m +++ b/Playlist/PlaylistLoader.m @@ -717,7 +717,7 @@ static inline void dispatch_sync_reentrant(dispatch_queue_t queue, dispatch_bloc { unsigned long columns = [[[self->playlistView documentView] tableColumns] count]; - [self->playlistView.documentView reloadDataForRowIndexes:update_indexes columnIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0,columns-1)]]; + [self->playlistView.documentView reloadDataForRowIndexes:update_indexes columnIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0,columns)]]; } } @@ -778,7 +778,9 @@ static inline void dispatch_sync_reentrant(dispatch_queue_t queue, dispatch_bloc [refreshSet addIndex:[pe index]]; } - [playlistView.documentView reloadDataForRowIndexes:refreshSet columnIndexes:[NSIndexSet indexSetWithIndex:1]]; + // Refresh entire row to refresh tooltips + unsigned long columns = [[playlistView.documentView tableColumns] count]; + [playlistView.documentView reloadDataForRowIndexes:refreshSet columnIndexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, columns)]]; } //Clear the selection