diff options
author | Abhi Beckert <abhi@abhibeckert.com> | 2017-04-15 08:14:41 +1000 |
---|---|---|
committer | Abhi Beckert <abhi@abhibeckert.com> | 2017-04-15 08:14:41 +1000 |
commit | d20ad5fecb5d68f7dbee83aa56bdd1d262698bc7 (patch) | |
tree | 49bbde8fe38cb95cd2dce758b998ce08df35841b /Source/SPTableRelations.m | |
parent | 1d12c0e41319ffd2a1f1ab62305bd2688910f151 (diff) | |
parent | 4daa0e1419ac63abcfb87b9ba7e9f3db5861a95a (diff) | |
download | sequelpro-d20ad5fecb5d68f7dbee83aa56bdd1d262698bc7.tar.gz sequelpro-d20ad5fecb5d68f7dbee83aa56bdd1d262698bc7.tar.bz2 sequelpro-d20ad5fecb5d68f7dbee83aa56bdd1d262698bc7.zip |
Merge remote-tracking branch 'sequelpro/master'
Diffstat (limited to 'Source/SPTableRelations.m')
-rw-r--r-- | Source/SPTableRelations.m | 69 |
1 files changed, 6 insertions, 63 deletions
diff --git a/Source/SPTableRelations.m b/Source/SPTableRelations.m index f358d133..20059fbb 100644 --- a/Source/SPTableRelations.m +++ b/Source/SPTableRelations.m @@ -373,27 +373,6 @@ static NSString *SPRelationOnDeleteKey = @"on_delete"; } #pragma mark - -#pragma mark TextField delegate methods - -- (void)controlTextDidChange:(NSNotification *)notification -{ - // Make sure the user does not enter a taken name, using the quickly-generated incomplete list - if ([notification object] == constraintName) { - NSString *userValue = [[constraintName stringValue] lowercaseString]; - - // Make field red and disable add button - if ([takenConstraintNames containsObject:userValue]) { - [constraintName setTextColor:[NSColor redColor]]; - [confirmAddRelationButton setEnabled:NO]; - } - else { - [constraintName setTextColor:[NSColor controlTextColor]]; - [confirmAddRelationButton setEnabled:YES]; - } - } -} - -#pragma mark - #pragma mark Tableview datasource methods - (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView @@ -413,44 +392,13 @@ static NSString *SPRelationOnDeleteKey = @"on_delete"; } #pragma mark - -#pragma mark Tableview delegate methods - -/** - * Called whenever the relations table view selection changes. - */ -- (void)tableViewSelectionDidChange:(NSNotification *)notification -{ - [removeRelationButton setEnabled:([relationsTableView numberOfSelectedRows] > 0)]; -} - -/* - * Double-click action on table cells - for the time being, return - * NO to disable editing. - */ -- (BOOL)tableView:(NSTableView *)tableView shouldEditTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)rowIndex -{ - if ([tableDocumentInstance isWorking]) return NO; - - return NO; -} - -/** - * Disable row selection while the document is working. - */ -- (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(NSInteger)rowIndex -{ - return ![tableDocumentInstance isWorking]; -} - -#pragma mark - #pragma mark Task interaction /** * Disable all content interactive elements during an ongoing task. */ -- (void)startDocumentTaskForTab:(NSNotification *)aNotification +- (void)startDocumentTaskForTab:(NSNotification *)notification { - // Only proceed if this view is selected. if (![[tableDocumentInstance selectedToolbarItemIdentifier] isEqualToString:SPMainToolbarTableRelations]) return; @@ -462,7 +410,7 @@ static NSString *SPRelationOnDeleteKey = @"on_delete"; /** * Enable all content interactive elements after an ongoing task. */ -- (void)endDocumentTaskForTab:(NSNotification *)aNotification +- (void)endDocumentTaskForTab:(NSNotification *)notification { // Only proceed if this view is selected. if (![[tableDocumentInstance selectedToolbarItemIdentifier] isEqualToString:SPMainToolbarTableRelations]) return; @@ -529,10 +477,7 @@ static NSString *SPRelationOnDeleteKey = @"on_delete"; NSString *thisTable = [tablesListInstance tableName]; NSIndexSet *selectedSet = [relationsTableView selectedRowIndexes]; - NSUInteger row = [selectedSet lastIndex]; - - while (row != NSNotFound) - { + [selectedSet enumerateIndexesWithOptions:NSEnumerationReverse usingBlock:^(NSUInteger row, BOOL * _Nonnull stop) { NSString *relationName = [[relationData objectAtIndex:row] objectForKey:SPRelationNameKey]; NSString *query = [NSString stringWithFormat:@"ALTER TABLE %@ DROP FOREIGN KEY %@", [thisTable backtickQuotedString], [relationName backtickQuotedString]]; @@ -547,11 +492,9 @@ static NSString *SPRelationOnDeleteKey = @"on_delete"; ); // Abort loop - break; - } - - row = [selectedSet indexLessThanIndex:row]; - } + *stop = YES; + } + }]; [self _refreshRelationDataForcingCacheRefresh:YES]; } |