aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPTableTriggers.m
diff options
context:
space:
mode:
authorMax <post@wickenrode.com>2018-01-20 03:09:01 +0100
committerMax <post@wickenrode.com>2018-01-20 03:09:01 +0100
commitd403528b2e2be083fe80f5a915d1f6867ec9074e (patch)
treecd4daf91b4dc49c46a07d9223576995c48aaeadd /Source/SPTableTriggers.m
parentef21bc5c3749756c21804d1592f3a3fe2faf7cab (diff)
parentb04243d4d7befb33383d434fe05ea3d7915ef27d (diff)
downloadsequelpro-d403528b2e2be083fe80f5a915d1f6867ec9074e.tar.gz
sequelpro-d403528b2e2be083fe80f5a915d1f6867ec9074e.tar.bz2
sequelpro-d403528b2e2be083fe80f5a915d1f6867ec9074e.zip
Merge remote-tracking branch 'origin/mergeclasses'
Conflicts: Source/SPQueryControllerInitializer.m Source/SPQueryDocumentsController.m Source/SPQueryFavoriteManager.m
Diffstat (limited to 'Source/SPTableTriggers.m')
-rw-r--r--Source/SPTableTriggers.m59
1 files changed, 59 insertions, 0 deletions
diff --git a/Source/SPTableTriggers.m b/Source/SPTableTriggers.m
index 23911279..97b9e459 100644
--- a/Source/SPTableTriggers.m
+++ b/Source/SPTableTriggers.m
@@ -657,6 +657,65 @@ static SPTriggerEventTag TagForEvent(NSString *mysql);
}
#pragma mark -
+#pragma mark Tableview delegate methods
+
+/**
+ * Called whenever the triggers table view selection changes.
+ */
+- (void)tableViewSelectionDidChange:(NSNotification *)notification
+{
+ [removeTriggerButton setEnabled:([triggersTableView numberOfSelectedRows] > 0)];
+}
+
+/**
+ * Alter the colour of cells displaying NULL values
+ */
+- (void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)rowIndex
+{
+ if (![cell respondsToSelector:@selector(setTextColor:)]) {
+ return;
+ }
+
+ id value = [[triggerData objectAtIndex:rowIndex] objectForKey:[tableColumn identifier]];
+
+ [cell setTextColor:[value isNSNull] ? [NSColor lightGrayColor] : [NSColor blackColor]];
+}
+
+/**
+ * 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;
+
+ // Start Edit panel
+ if (((NSInteger)[triggerData count] > rowIndex) && [triggerData objectAtIndex:rowIndex]) {
+ [self _editTriggerAtIndex:rowIndex];
+ }
+
+ return NO;
+}
+
+/**
+ * Disable row selection while the document is working.
+ */
+- (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(NSInteger)rowIndex
+{
+ return (![tableDocumentInstance isWorking]);
+}
+
+#pragma mark -
+#pragma mark Textfield delegate methods
+
+/**
+ * Toggles the enabled state of confirm add trigger button based on the editing of the trigger's name.
+ */
+- (void)controlTextDidChange:(NSNotification *)notification
+{
+ [self _toggleConfirmAddTriggerButtonEnabled];
+}
+
+#pragma mark -
- (void)dealloc
{