]> git.saurik.com Git - cydia.git/commitdiff
Finish cydia:// URLs using the private "transient view controller" methods on UITabBa...
authorGrant Paul <chpwn@chpwn.com>
Sun, 23 Jan 2011 06:35:52 +0000 (22:35 -0800)
committerGrant Paul <chpwn@chpwn.com>
Sun, 23 Jan 2011 06:35:52 +0000 (22:35 -0800)
MobileCydia.mm
iPhonePrivate.h

index dd2a6ff6dd3936a599fb379175bb3e7e35e3d348..7a7a6a7f8326fd5f32e07342eb9caba0c7855aea 100644 (file)
@@ -6226,6 +6226,8 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
         CYNavigationController *page([[self viewControllers] objectAtIndex:(count - i - 1)]);
         [page reloadData];
     }
+
+    [(CYNavigationController *) [self transientViewController] reloadData];
 }
 
 - (id) initWithDatabase:(Database *)database {
@@ -8221,7 +8223,6 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
     bool loaded_;
 }
 
-- (void) setPage:(CYViewController *)page;
 - (void) loadData;
 
 @end
@@ -8563,13 +8564,6 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
     [self complete];
 }
 
-- (void) setPage:(CYViewController *)page {
-    [page setDelegate:self];
-
-    CYNavigationController *navController = (CYNavigationController *) [tabbar_ selectedViewController];
-    [navController setViewControllers:[NSArray arrayWithObject:page]];
-}
-
 - (void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
     CYNavigationController *controller = (CYNavigationController *) viewController;
 
@@ -8879,8 +8873,11 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
 - (BOOL) openCydiaURL:(NSURL *)url {
     CYViewController *page([self pageForURL:url]);
 
-    if (page != nil)
-        [self setPage:page];
+    if (page != nil) {
+        CYNavigationController *nav = [[[CYNavigationController alloc] init] autorelease];
+        [nav setViewControllers:[NSArray arrayWithObject:page]];
+        [tabbar_ setTransientViewController:nav];
+    }
 
     return page != nil;
 }
index 149fdc865ab15639bcd80a19ccba90ae45d69379..818dae334253d2157b5320bdc7abba207c56ba3a 100644 (file)
@@ -237,6 +237,9 @@ typedef enum {
 
 @interface UITabBarController (Apple)
 - (UITransitionView *) _transitionView;
+- (UIViewController *) transientViewController;
+- (void) setTransientViewController:(UIViewController *)controller;
+- (void) setTransientViewController:(UIViewController *)controller animated:(BOOL)animated;
 @end
 
 @interface UITabBarItem (Apple)