]> git.saurik.com Git - cydia.git/blobdiff - UICaboodle/RVPage.mm
Fix filtering the (No Section) section.
[cydia.git] / UICaboodle / RVPage.mm
index d3de6d31bbd7ee725108e63414bfc25a546b6f03..1f366c1b18e42aefc456e191b896ef43ac7dda9c 100644 (file)
@@ -5,24 +5,46 @@
 
 #import "RVBook.h"
 
 
 #import "RVBook.h"
 
+extern bool IsWildcat_;
+
+@implementation UIViewController (Cydia)
+
+- (BOOL) hasLoaded {
+    return YES;
+}
+
+@end
+
 @implementation CYViewController
 
 - (void) setDelegate:(id)delegate {
     delegate_ = delegate;
 }
 
 @implementation CYViewController
 
 - (void) setDelegate:(id)delegate {
     delegate_ = delegate;
 }
 
+- (id) delegate {
+    return delegate_;
+}
+
 - (void) viewWillAppear:(BOOL)animated {
     [super viewWillAppear:animated];
 
 - (void) viewWillAppear:(BOOL)animated {
     [super viewWillAppear:animated];
 
-    if (!loaded_)
+    // Load on first appearance. We don't need to set the loaded flag here
+    // because it is set for us the first time -reloadData is called.
+    if (![self hasLoaded])
         [self reloadData];
 }
 
         [self reloadData];
 }
 
+- (BOOL) hasLoaded {
+    return loaded_;
+}
+
 - (void) releaseSubviews {
     // Do nothing.
 }
 
 - (void) setView:(UIView *)view {
 - (void) releaseSubviews {
     // Do nothing.
 }
 
 - (void) setView:(UIView *)view {
+    // Nasty hack for 2.x-compatibility. In 3.0+, we can and
+    // should just override -viewDidUnload instead.
     if (view == nil)
         [self releaseSubviews];
 
     if (view == nil)
         [self releaseSubviews];
 
 }
 
 - (void) reloadData {
 }
 
 - (void) reloadData {
+    // This is called automatically on the first appearance of a controller,
+    // or any other time it needs to reload the information shown. However (!),
+    // this is not called by any tab bar or navigation controller's -reloadData
+    // method unless this controller returns YES from -hadLoaded.
     loaded_ = YES;
 }
 
     loaded_ = YES;
 }
 
@@ -38,7 +64,7 @@
 }
 
 - (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
 }
 
 - (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
-    return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad || orientation == UIInterfaceOrientationPortrait);
+    return IsWildcat_ || orientation == UIInterfaceOrientationPortrait;
 }
 
 @end
 }
 
 @end