From 3f424cf5b037e51da0a2922d7828f9d1725bb517 Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Sat, 15 Feb 2025 20:23:29 -0800 Subject: [PATCH] Bug Fix: Rework playlist setup again In case playlist setup is reset or not, move the reset above the menu setup code, so the menu is set up correctly if a reset occurs. Signed-off-by: Christopher Snowhill --- Playlist/PlaylistView.m | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/Playlist/PlaylistView.m b/Playlist/PlaylistView.m index 4b512e7a0..460df47a0 100644 --- a/Playlist/PlaylistView.m +++ b/Playlist/PlaylistView.m @@ -111,6 +111,26 @@ static NSString *playlistSavedColumnsID = @"Playlist Saved Columns v0"; } } + int visibleTableColumns = 0; + columns = [self tableColumns]; + for (NSTableColumn *col in columns) { + visibleTableColumns += ![col isHidden]; + } + + if(visibleTableColumns == 0) { + // Reset to defaults + NSString *message = @"Reset playlist columns to default"; + DLog(@"%@", message); + [[FIRCrashlytics crashlytics] logWithFormat:@"%@", message]; + for(NSTableColumn *col in columns) { + [self removeTableColumn:col]; + } + columns = oldColumns; + for(NSTableColumn *col in columns) { + [self addTableColumn:col]; + } + } + columns = [self tableColumns]; for(NSTableColumn *col in columns) { @@ -127,7 +147,6 @@ static NSString *playlistSavedColumnsID = @"Playlist Saved Columns v0"; ascending:YES]; NSArray *sortDescriptors = @[sortDescriptor]; - int visibleTableColumns = 0; int menuIndex = 0; for(NSTableColumn *col in [columns sortedArrayUsingDescriptors:sortDescriptors]) { NSString *title; @@ -149,24 +168,9 @@ static NSString *playlistSavedColumnsID = @"Playlist Saved Columns v0"; [contextMenuItem setRepresentedObject:col]; [contextMenuItem setState:([col isHidden] ? NSControlStateValueOff : NSControlStateValueOn)]; - visibleTableColumns += ![col isHidden]; menuIndex++; } - if(visibleTableColumns == 0) { - // Reset to defaults - NSString *message = @"Reset playlist columns to default"; - DLog(@"%@", message); - [[FIRCrashlytics crashlytics] logWithFormat:@"%@", message]; - for(NSTableColumn *col in columns) { - [self removeTableColumn:col]; - } - columns = oldColumns; - for(NSTableColumn *col in columns) { - [self addTableColumn:col]; - } - } - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tableColumnsResized) name:NSTableViewColumnDidResizeNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tableColumnsMoved) name:NSTableViewColumnDidMoveNotification object:nil];