From 362ad571293501c6a2c2fa4a78027183b0e42372 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 2 Mar 2026 16:04:53 +0000 Subject: [PATCH 1/2] Initial plan From 9931126ce79e02bee33c46b8bcd36a0bfe0c04bc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 2 Mar 2026 16:08:42 +0000 Subject: [PATCH 2/2] Modernize TableTool for recent macOS: replace deprecated APIs and update deployment target Co-authored-by: danaspiegel <6631+danaspiegel@users.noreply.github.com> --- Table Tool.xcodeproj/project.pbxproj | 10 +++++----- Table Tool/Constants.h | 2 +- Table Tool/Constants.m | 2 +- Table Tool/Document.m | 18 +++++++++--------- Table Tool/TTFormatViewController.m | 4 ++-- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Table Tool.xcodeproj/project.pbxproj b/Table Tool.xcodeproj/project.pbxproj index ec61c76..eb66f18 100644 --- a/Table Tool.xcodeproj/project.pbxproj +++ b/Table Tool.xcodeproj/project.pbxproj @@ -236,8 +236,8 @@ E1CC84D31B4A5F2A00ED8314 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0710; - LastUpgradeCheck = 0800; + LastSwiftUpdateCheck = 1500; + LastUpgradeCheck = 1500; ORGANIZATIONNAME = "Egger Apps"; TargetAttributes = { E1CC84DA1B4A5F2A00ED8314 = { @@ -256,7 +256,7 @@ }; buildConfigurationList = E1CC84D61B4A5F2A00ED8314 /* Build configuration list for PBXProject "Table Tool" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -398,7 +398,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; @@ -437,7 +437,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.8; + MACOSX_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; }; diff --git a/Table Tool/Constants.h b/Table Tool/Constants.h index 9ed6015..a084af5 100644 --- a/Table Tool/Constants.h +++ b/Table Tool/Constants.h @@ -10,7 +10,7 @@ #pragma mark Pasteboard Types -extern NSString *TTRowInternalPboardType; +extern NSPasteboardType TTRowInternalPboardType; #pragma mark Table Column Identifiers diff --git a/Table Tool/Constants.m b/Table Tool/Constants.m index 6fc9c7d..5b39e66 100644 --- a/Table Tool/Constants.m +++ b/Table Tool/Constants.m @@ -10,7 +10,7 @@ #pragma mark Initializing Globals for Pasteboard Types -NSString *TTRowInternalPboardType = @"Table Tool Row Internal PasteBoard Type"; +NSPasteboardType TTRowInternalPboardType = @"Table Tool Row Internal PasteBoard Type"; #pragma mark Initializing Globals for Table Column Identifiers diff --git a/Table Tool/Document.m b/Table Tool/Document.m index 4e72717..06a57ba 100644 --- a/Table Tool/Document.m +++ b/Table Tool/Document.m @@ -309,9 +309,9 @@ -(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColum NSArray *rowArray = [_data objectAtIndex:rowIndex]; if(rowArray.count > tableColumn.identifier.integerValue){ if([rowArray[tableColumn.identifier.integerValue] isKindOfClass:[NSDecimalNumber class]]){ - textCell.alignment = NSRightTextAlignment; + textCell.alignment = NSTextAlignmentRight; }else{ - textCell.alignment = NSLeftTextAlignment; + textCell.alignment = NSTextAlignmentLeft; } } } @@ -386,7 +386,7 @@ -(void)initValidPBoardTypes { validPBoardTypes = [NSArray arrayWithObjects:TTRowInternalPboardType, NSPasteboardTypeTabularText, - NSStringPboardType, + NSPasteboardTypeString, nil]; } @@ -622,12 +622,12 @@ - (BOOL)moveRowsAtIndexes:(NSIndexSet *)draggedRowIndexes -(NSTableColumn *)createLineNumberColumn { NSTableColumn *lineNumberColumn = [[NSTableColumn alloc] initWithIdentifier:TTLineNumberColumnIdentifier]; NSTextFieldCell *lineNumberCell = [[NSTextFieldCell alloc] init]; - lineNumberCell.alignment = NSRightTextAlignment; + lineNumberCell.alignment = NSTextAlignmentRight; lineNumberCell.textColor = [NSColor secondaryLabelColor]; lineNumberCell.editable = NO; lineNumberColumn.dataCell = lineNumberCell; lineNumberColumn.headerCell.stringValue = @"#"; - ((NSCell *)lineNumberColumn.headerCell).alignment = NSCenterTextAlignment; + ((NSCell *)lineNumberColumn.headerCell).alignment = NSTextAlignmentCenter; lineNumberColumn.width = 40; lineNumberColumn.minWidth = 20; lineNumberColumn.maxWidth = 60; @@ -651,7 +651,7 @@ -(void)updateTableColumns { NSTableColumn *tableColumn = [[NSTableColumn alloc] initWithIdentifier:[NSString stringWithFormat:@"%d",i]]; tableColumn.dataCell = dataCell; tableColumn.headerCell.stringValue = i < columnNames.count ? columnNames[i] : [self generateColumnName:i]; - ((NSCell *)tableColumn.headerCell).alignment = NSCenterTextAlignment; + ((NSCell *)tableColumn.headerCell).alignment = NSTextAlignmentCenter; tableColumn.sortDescriptorPrototype = [NSSortDescriptor sortDescriptorWithKey:[NSString stringWithFormat:@"%d",i] ascending:YES]; [self.tableView addTableColumn: tableColumn]; } @@ -664,7 +664,7 @@ -(void)updateTableColumnsNames { NSTableColumn *tableColumn = self.tableView.tableColumns[i]; if ([tableColumn.identifier isEqualToString:TTLineNumberColumnIdentifier]) continue; tableColumn.headerCell.stringValue = [self generateColumnName:dataColumnIndex]; - ((NSCell *)tableColumn.headerCell).alignment = NSCenterTextAlignment; + ((NSCell *)tableColumn.headerCell).alignment = NSTextAlignmentCenter; dataColumnIndex++; } } @@ -990,7 +990,7 @@ -(void)restoreColumns:(NSMutableArray *)columnIds atIndexes:(NSIndexSet *)column if(self.csvConfig.firstRowAsHeader){ col.headerCell.stringValue = [columnNames objectAtIndex:((NSString *)columnIds[i]).integerValue]; } - ((NSCell *)col.headerCell).alignment = NSCenterTextAlignment; + ((NSCell *)col.headerCell).alignment = NSTextAlignmentCenter; [self.tableView addTableColumn:col]; [self.tableView moveColumn:[self.tableView numberOfColumns]-1 toColumn:[columnIndexes firstIndex]+i]; } @@ -1053,7 +1053,7 @@ -(BOOL)validateMenuItem:(NSMenuItem *)menuItem { } if (menuItem.action == @selector(toggleLineNumbers:)) { BOOL showingLineNumbers = [[NSUserDefaults standardUserDefaults] boolForKey:TTShowLineNumbersKey]; - menuItem.state = showingLineNumbers ? NSOnState : NSOffState; + menuItem.state = showingLineNumbers ? NSControlStateValueOn : NSControlStateValueOff; } return YES; } diff --git a/Table Tool/TTFormatViewController.m b/Table Tool/TTFormatViewController.m index 9caac93..2a7b703 100644 --- a/Table Tool/TTFormatViewController.m +++ b/Table Tool/TTFormatViewController.m @@ -47,7 +47,7 @@ - (IBAction)updateConfiguration:(id)sender { } _config.escapeCharacter = [[self.escapeControl labelForSegment:[self.escapeControl selectedSegment]] substringToIndex:1]; - _config.firstRowAsHeader = (self.useFirstRowAsHeaderCheckbox.state == NSOnState); + _config.firstRowAsHeader = (self.useFirstRowAsHeaderCheckbox.state == NSControlStateValueOn); [self.delegate configurationChangedForFormatViewController:self]; } @@ -85,7 +85,7 @@ -(void)selectFormatByConfig{ [_escapeControl selectSegmentWithTag:2]; } - self.useFirstRowAsHeaderCheckbox.state = self.config.firstRowAsHeader ? NSOnState : NSOffState; + self.useFirstRowAsHeaderCheckbox.state = self.config.firstRowAsHeader ? NSControlStateValueOn : NSControlStateValueOff; } @end