From: Jay Freeman (saurik) Date: Sat, 26 Feb 2011 09:56:33 +0000 (-0800) Subject: Add cydia.popViewController(animated). X-Git-Tag: v1.1.0%b1~152 X-Git-Url: https://git.saurik.com/cydia.git/commitdiff_plain/8d497e2a4c6478859f08e5e0bb912256c0ca64b1 Add cydia.popViewController(animated). --- diff --git a/MobileCydia.mm b/MobileCydia.mm index 49218cbc..ad48ee54 100644 --- a/MobileCydia.mm +++ b/MobileCydia.mm @@ -4234,6 +4234,8 @@ static NSMutableSet *Diversions_; return @"installPackages"; else if (selector == @selector(localizedStringForKey:value:table:)) return @"localize"; + else if (selector == @selector(popViewController:)) + return @"popViewController"; else if (selector == @selector(refreshSources)) return @"refreshSources"; else if (selector == @selector(removeButton)) @@ -4320,6 +4322,12 @@ static NSMutableSet *Diversions_; [delegate_ performSelectorOnMainThread:@selector(addCydiaHost:) withObject:host waitUntilDone:NO]; } +- (void) popViewController:(NSNumber *)value { + if (value == (id) [WebUndefined undefined]) + value = [NSNumber numberWithBool:YES]; + [indirect_ performSelectorOnMainThread:@selector(popViewControllerWithNumber:) withObject:value waitUntilDone:NO]; +} + - (void) addTrivialSource:(NSString *)href { [delegate_ performSelectorOnMainThread:@selector(addTrivialSource:) withObject:href waitUntilDone:NO]; } diff --git a/UICaboodle/BrowserView.mm b/UICaboodle/BrowserView.mm index 98585989..9a067f7c 100644 --- a/UICaboodle/BrowserView.mm +++ b/UICaboodle/BrowserView.mm @@ -649,6 +649,12 @@ static void $UIWebViewWebViewDelegate$webViewClose$(UIWebViewWebViewDelegate *se [self setAllowsNavigationAction:[value boolValue]]; } +- (void) popViewControllerWithNumber:(NSNumber *)value { + UINavigationController *navigation([self navigationController]); + if ([navigation topViewController] == self) + [navigation popViewControllerAnimated:[value boolValue]]; +} + - (void) _didFailWithError:(NSError *)error forFrame:(WebFrame *)frame { [loading_ removeObject:[NSValue valueWithNonretainedObject:frame]]; [self _didFinishLoading];