Skip to content

Commit

Permalink
Use the block-based call instead of the selector-based one.
Browse files Browse the repository at this point in the history
Adds some duplication but this code is already too messy for my eyes...
  • Loading branch information
tiennou committed Aug 31, 2013
1 parent 88fc0c5 commit f9e2dbf
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 41 deletions.
1 change: 0 additions & 1 deletion Quicksilver/Code-App/QSTriggersPrefPane.h
Expand Up @@ -75,7 +75,6 @@
- (void)reloadFilters;

- (void)showTrigger:(QSTrigger *)trigger;
- (BOOL)editTriggerCommand:(QSTrigger *)trigger callback:(SEL)aSelector;
- (void)showTriggerGroupWithIdentifier:(NSString *)groupID;

- (id)preferencesSplitView;
Expand Down
81 changes: 41 additions & 40 deletions Quicksilver/Code-App/QSTriggersPrefPane.m
Expand Up @@ -275,7 +275,14 @@ - (void)setSelectedTrigger:(QSTrigger *)newSelectedTrigger {

// Enabling/disabling of the 'edit' button is done programmatically within the outlineClicked: method
- (IBAction)editCommand:(id)sender {
[self editTriggerCommand:selectedTrigger callback:@selector(editSheetDidEnd:returnCode:contextInfo:)];
[commandEditor setCommand:[selectedTrigger command]];
[NSApp beginSheetModalForWindow:[commandEditor window] completionHandler:^(NSInteger result) {
QSCommand *command = [commandEditor representedCommand];
if (command) {
[selectedTrigger setCommand:command];
[[QSTriggerCenter sharedInstance] triggerChanged:selectedTrigger];
}
}];
}

- (IBAction)showTriggerInfo:(id)sender {
Expand All @@ -288,41 +295,6 @@ - (IBAction)hideTriggerInfo:(id)sender {
[optionsDrawer close:sender];
}

- (BOOL)editTriggerCommand:(QSTrigger *)trigger callback:(SEL)aSelector {
//[[optionsDrawer contentView] window] //
[commandEditor setCommand:[trigger command]];
[NSApp beginSheet:[commandEditor window] modalForWindow:[[self mainView] window] modalDelegate:self didEndSelector:aSelector contextInfo:CFBridgingRetain(trigger)];
return YES;
}

- (void)editSheetDidEnd:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo {
QSCommand *command = [commandEditor representedCommand];
QSTrigger *trigger = (__bridge QSTrigger *)contextInfo;
if (command) {
[trigger setCommand:command];
[[QSTriggerCenter sharedInstance] triggerChanged:trigger];
}
[sheet orderOut:self];
}

- (void)addSheetDidEnd:(NSWindow *)sheet returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo {
QSCommand *command = [commandEditor representedCommand];
QSTrigger *trigger = (__bridge QSTrigger*)contextInfo;
if (command) {
// if (VERBOSE) NSLog(@"command %@", command);
[trigger setCommand:command];
[[QSTriggerCenter sharedInstance] triggerChanged:trigger];
} else {
[[QSTriggerCenter sharedInstance] removeTrigger:trigger];
// [self updateTriggerArray];
}
// select the trigger (its position has changed since adding the trigger)
NSUInteger selectTriggerIndex = [[triggerArrayController arrangedObjects] indexOfObject:trigger];
if (selectTriggerIndex != NSNotFound) {
[triggerTable selectRowIndexes:[NSIndexSet indexSetWithIndex:selectTriggerIndex] byExtendingSelection:NO];
}
[sheet orderOut:self];
}

- (IBAction)addTrigger:(id)sender {
if (!mOptionKeyIsDown)
Expand Down Expand Up @@ -358,14 +330,36 @@ - (IBAction)addTrigger:(id)sender {
[triggerTable editColumn:[triggerTable columnWithIdentifier:@"command"]
row:row withEvent:[NSApp currentEvent] select:YES];
} else if (!mOptionKeyIsDown) {
[self editTriggerCommand:trigger
callback:@selector(addSheetDidEnd:returnCode:contextInfo:)];
[commandEditor setCommand:[selectedTrigger command]];
[NSApp beginSheetModalForWindow:[commandEditor window] completionHandler:^(NSInteger result) {
QSCommand *command = [commandEditor representedCommand];
if (command) {
[selectedTrigger setCommand:command];
[[QSTriggerCenter sharedInstance] triggerChanged:selectedTrigger];
} else {
[[QSTriggerCenter sharedInstance] removeTrigger:selectedTrigger];
// [self updateTriggerArray];
}
// select the trigger (its position has changed since adding the trigger)
NSUInteger selectTriggerIndex = [[triggerArrayController arrangedObjects] indexOfObject:selectedTrigger];
if (selectTriggerIndex != NSNotFound) {
[triggerTable selectRowIndexes:[NSIndexSet indexSetWithIndex:selectTriggerIndex] byExtendingSelection:NO];
}
}];
}
}

- (IBAction)editTrigger:(id)sender {
if ([triggerTable selectedRow] >= 0) {
[self editTriggerCommand:[triggerArray objectAtIndex:[triggerTable selectedRow]] callback:@selector(editSheetDidEnd:returnCode:contextInfo:) ];
QSTrigger *editedTrigger = [triggerArray objectAtIndex:[triggerTable selectedRow]];
[commandEditor setCommand:[editedTrigger command]];
[NSApp beginSheetModalForWindow:[commandEditor window] completionHandler:^(NSInteger result) {
QSCommand *command = [commandEditor representedCommand];
if (command) {
[editedTrigger setCommand:command];
[[QSTriggerCenter sharedInstance] triggerChanged:editedTrigger];
}
}];
}
}

Expand Down Expand Up @@ -517,8 +511,15 @@ - (BOOL)outlineView:(NSOutlineView *)outlineView shouldEditTableColumn:(NSTableC
return YES;
}
if ([[theSelectedTrigger type] isEqualToString:@"QSGroupTrigger"]) return YES;
[commandEditor setCommand:[theSelectedTrigger command]];
[NSApp beginSheetModalForWindow:[commandEditor window] completionHandler:^(NSInteger result) {
QSCommand *command = [commandEditor representedCommand];
if (command) {
[theSelectedTrigger setCommand:command];
[[QSTriggerCenter sharedInstance] triggerChanged:theSelectedTrigger];
}
}];

[self editTriggerCommand:theSelectedTrigger callback:@selector(editSheetDidEnd:returnCode:contextInfo:)];
return NO;
}
return NO;
Expand Down

0 comments on commit f9e2dbf

Please sign in to comment.