/* Cydia - iPhone UIKit Front-End for Debian APT
- * Copyright (C) 2008-2013 Jay Freeman (saurik)
+ * Copyright (C) 2008-2015 Jay Freeman (saurik)
*/
/* GNU General Public License, Version 3 {{{ */
**/
/* }}} */
-#include "CyteKit/ViewController.h"
+#include "CyteKit/UCPlatform.h"
#include <Foundation/Foundation.h>
#include <UIKit/UIKit.h>
-#include "iPhonePrivate.h"
+#include "CyteKit/ViewController.h"
-extern bool IsWildcat_;
+#include "iPhonePrivate.h"
+#include <Menes/ObjectHandle.h>
@implementation UIViewController (Cydia)
return nil;
}
+- (UIViewController *) rootViewController {
+ UIViewController *base(self);
+ while ([base parentOrPresentingViewController] != nil)
+ base = [base parentOrPresentingViewController];
+ return base;
+}
+
+- (NSURL *) navigationURL {
+ return nil;
+}
+
@end
-@implementation CyteViewController
+@implementation CyteViewController {
+ _transient id delegate_;
+ BOOL loaded_;
+ _H<UIColor> color_;
+}
- (void) setDelegate:(id)delegate {
delegate_ = delegate;
[super unloadData];
}
-- (NSURL *) navigationURL {
- return nil;
-}
-
-- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
- return IsWildcat_ || orientation == UIInterfaceOrientationPortrait;
-}
-
-- (NSUInteger) supportedInterfaceOrientations {
- return IsWildcat_ ? UIInterfaceOrientationMaskAll : UIInterfaceOrientationMaskPortrait;
+- (void) setPageColor:(UIColor *)color {
+ if (color == nil)
+ color = [UIColor groupTableViewBackgroundColor];
+ color_ = color;
}
-- (BOOL) shouldAutorotate {
- return YES;
+- (UIColor *) pageColor {
+ return color_;
}
-- (void) setPageColor:(UIColor *)color {
- if (color == nil) {
- color = [UIColor groupTableViewBackgroundColor];
- // on iOS 6 they removed groupTableViewBackgroundColor (it is present on iOS 5 and iOS 6)
- if ([color isEqual:[UIColor clearColor]]) {
- if (!IsWildcat_) // on devices that aren't iPads, we can just fall back to pinStripeColor
- color = [UIColor pinStripeColor];
- else // I don't remember where I got this color, but it is only an approximation of a gradient
- color = [UIColor colorWithRed:(215.0/255.0) green:(217.0/255.0) blue:(223.0/255.0) alpha:1.0];
- }
- } color_ = color;
-}
+#include "InterfaceOrientation.h"
@end