diff options
author | Jay Freeman (saurik) <saurik@saurik.com> | 2014-06-11 07:18:59 -0700 |
---|---|---|
committer | Jay Freeman (saurik) <saurik@saurik.com> | 2014-06-11 07:18:59 -0700 |
commit | 9549563e9ec57ed4bc583c3e3fe8b8a071ec6fb8 (patch) | |
tree | 5eac1689e6aefd38dd20d2c2394ab9e233121deb | |
parent | c88974b1ca792a2599f8e5b583284363481c4bfe (diff) |
Reimplement the loading controller as real tabbar.
-rw-r--r-- | Cydia/LoadingViewController.h | 4 | ||||
-rw-r--r-- | Cydia/LoadingViewController.mm | 27 | ||||
-rw-r--r-- | MobileCydia.mm | 12 |
3 files changed, 15 insertions, 28 deletions
diff --git a/Cydia/LoadingViewController.h b/Cydia/LoadingViewController.h index f1cb542..b6f5863 100644 --- a/Cydia/LoadingViewController.h +++ b/Cydia/LoadingViewController.h @@ -22,13 +22,9 @@ #ifndef Cydia_LoadingViewController_H #define Cydia_LoadingViewController_H -#include "Cydia/LoadingView.h" #include "CyteKit/ViewController.h" @interface CydiaLoadingViewController : CyteViewController { - _H<CydiaLoadingView> indicator_; - _H<UITabBar> tabbar_; - _H<UINavigationBar> navbar_; } @end diff --git a/Cydia/LoadingViewController.mm b/Cydia/LoadingViewController.mm index e008d13..97c9fb7 100644 --- a/Cydia/LoadingViewController.mm +++ b/Cydia/LoadingViewController.mm @@ -19,38 +19,21 @@ **/ /* }}} */ +#include "Cydia/LoadingView.h" #include "Cydia/LoadingViewController.h" @implementation CydiaLoadingViewController - (void) loadView { - UIView *view([[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease]); - [view setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; - [self setView:view]; + [super loadView]; UITableView *table([[[UITableView alloc] initWithFrame:[[self view] bounds] style:UITableViewStyleGrouped] autorelease]); [table setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; [[self view] addSubview:table]; - indicator_ = [[[CydiaLoadingView alloc] initWithFrame:[[self view] bounds]] autorelease]; - [indicator_ setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; - [[self view] addSubview:indicator_]; - - tabbar_ = [[[UITabBar alloc] initWithFrame:CGRectMake(0, 0, 0, 49.0f)] autorelease]; - [tabbar_ setFrame:CGRectMake(0.0f, [[self view] bounds].size.height - [tabbar_ bounds].size.height, [[self view] bounds].size.width, [tabbar_ bounds].size.height)]; - [tabbar_ setAutoresizingMask:(UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth)]; - [[self view] addSubview:tabbar_]; - - navbar_ = [[[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 0, 44.0f)] autorelease]; - [navbar_ setFrame:CGRectMake(0.0f, 0.0f, [[self view] bounds].size.width, [navbar_ bounds].size.height)]; - [navbar_ setAutoresizingMask:(UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth)]; - [[self view] addSubview:navbar_]; -} - -- (void) releaseSubviews { - indicator_ = nil; - tabbar_ = nil; - navbar_ = nil; + CydiaLoadingView *indicator([[[CydiaLoadingView alloc] initWithFrame:[[self view] bounds]] autorelease]); + [indicator setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; + [[self view] addSubview:indicator]; } @end diff --git a/MobileCydia.mm b/MobileCydia.mm index fef73c6..4902ce1 100644 --- a/MobileCydia.mm +++ b/MobileCydia.mm @@ -8823,7 +8823,7 @@ static void HomeControllerReachabilityCallback(SCNetworkReachabilityRef reachabi > { _H<UIWindow> window_; _H<CydiaTabBarController> tabbar_; - _H<CydiaLoadingViewController> emulated_; + _H<CyteTabBarController> emulated_; _H<NSMutableArray> essential_; _H<NSMutableArray> broken_; @@ -9788,7 +9788,15 @@ _trace(); [window_ setUserInteractionEnabled:NO]; [self setupViewControllers]; - emulated_ = [[[CydiaLoadingViewController alloc] init] autorelease]; + CydiaLoadingViewController *loading([[[CydiaLoadingViewController alloc] init] autorelease]); + UINavigationController *navigation([[[UINavigationController alloc] init] autorelease]); + [navigation setViewControllers:[NSArray arrayWithObject:loading]]; + + emulated_ = [[[CyteTabBarController alloc] init] autorelease]; + [emulated_ setViewControllers:[NSArray arrayWithObject:navigation]]; + [emulated_ setSelectedIndex:0]; + [emulated_ concealTabBarSelection]; + if ([window_ respondsToSelector:@selector(setRootViewController:)]) [window_ setRootViewController:emulated_]; else |