aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPTableRelations.m
diff options
context:
space:
mode:
authorAbhi Beckert <abhi@abhibeckert.com>2017-04-15 08:14:41 +1000
committerAbhi Beckert <abhi@abhibeckert.com>2017-04-15 08:14:41 +1000
commitd20ad5fecb5d68f7dbee83aa56bdd1d262698bc7 (patch)
tree49bbde8fe38cb95cd2dce758b998ce08df35841b /Source/SPTableRelations.m
parent1d12c0e41319ffd2a1f1ab62305bd2688910f151 (diff)
parent4daa0e1419ac63abcfb87b9ba7e9f3db5861a95a (diff)
downloadsequelpro-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.m69
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];
}