]> git.saurik.com Git - cydia.git/commitdiff
Add cydia.popViewController(animated).
authorJay Freeman (saurik) <saurik@saurik.com>
Sat, 26 Feb 2011 09:56:33 +0000 (01:56 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Mon, 7 Mar 2011 10:41:23 +0000 (02:41 -0800)
MobileCydia.mm
UICaboodle/BrowserView.mm

index 49218cbc5fbfed7a055830360f81d61239930ca8..ad48ee54f5e82b8d04b8fea3d3417aa50a4afc4f 100644 (file)
@@ -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];
 }
index 985859895cb969031de3a30299852bc59a47a4f7..9a067f7c5a7cd3ee0313fb134ab2ef7299b29040 100644 (file)
@@ -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];