]> git.saurik.com Git - cydia.git/commitdiff
Merge branch 'master' of git.saurik.com:cydia
authorDustin L. Howett <dustin@howett.net>
Mon, 4 Oct 2010 14:16:27 +0000 (10:16 -0400)
committerDustin L. Howett <dustin@howett.net>
Mon, 4 Oct 2010 14:16:27 +0000 (10:16 -0400)
Cydia.mm
UICaboodle/BrowserView.h
UICaboodle/BrowserView.mm

index 3dfb950568fda4026a97b01ac563132f30890255..2d7b20307aaf485f2bab17f44c72c80a3adb299b 100644 (file)
--- a/Cydia.mm
+++ b/Cydia.mm
@@ -5229,9 +5229,12 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
     }
 }
 
+// We don't want to allow non-commercial packages to do custom things to the install button,
+// so it must call customButtonClicked with a custom commercial_ == 1 fallthrough.
 - (void) customButtonClicked {
-    // Wait until it's done loading.
-    if (![self isLoading])
+    if (commercial_)
+        [super customButtonClicked];
+    else
         [self _customButtonClicked];
 }
 
@@ -5242,6 +5245,16 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
 - (void) applyLoadingTitle {
     // Don't show "Loading" as the title. Ever.
 }
+
+- (UIBarButtonItem *) rightButton {
+    int count = [buttons_ count];
+    return [[[UIBarButtonItem alloc]
+        initWithTitle:count == 0 ? nil : count != 1 ? UCLocalize("MODIFY") : [buttons_ objectAtIndex:0]
+        style:UIBarButtonItemStylePlain
+        target:self
+        action:@selector(customButtonClicked)
+    ] autorelease];
+}
 #endif
 
 - (id) initWithDatabase:(Database *)database {
@@ -5309,19 +5322,6 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
     }
 }
 
-- (void) applyRightButton {
-    int count = [buttons_ count];
-    UIBarButtonItem *actionItem = [[UIBarButtonItem alloc]
-        initWithTitle:count == 0 ? nil : count != 1 ? UCLocalize("MODIFY") : [buttons_ objectAtIndex:0]
-        style:UIBarButtonItemStylePlain
-        target:self
-        action:@selector(customButtonClicked)
-    ];
-    if (![self isLoading]) [[self navigationItem] setRightBarButtonItem:actionItem];
-    else [super applyRightButton];
-    [actionItem release];
-}
-
 - (bool) isLoading {
     return commercial_ ? [super isLoading] : false;
 }
index f2b0db87c836a8209b2295e1a399b5d3011ca290..23be6317a91438c7400f275efe1977abd26bb02b 100644 (file)
 - (bool) allowSensitiveRequests;
 
 - (void) alertView:(UIAlertView *)alert clickedButtonAtIndex:(NSInteger)button;
+- (void) customButtonClicked;
 - (void) applyRightButton;
 
 - (void) _startLoading;
 - (void) close;
 
-@end
\ No newline at end of file
+@end
index ee8563f0d8d854443d0ffbb89a63dc7a98da2c72..1615795d295b2c01f9c9c4c8dc166c50074bbd98 100644 (file)
@@ -1075,6 +1075,10 @@ static Class $UIWebBrowserView;
     return [customItem autorelease];
 }
 
+- (UIBarButtonItem *) rightButton {
+    return reloaditem_;
+}
+
 - (void) applyLoadingTitle {
     [[self navigationItem] setTitle:UCLocalize("LOADING")];
 }
@@ -1087,7 +1091,7 @@ static Class $UIWebBrowserView;
     } else if (button_) {
         [[self navigationItem] setRightBarButtonItem:[self customButton] animated:YES];
     } else {
-        [[self navigationItem] setRightBarButtonItem:reloaditem_ animated:YES];
+        [[self navigationItem] setRightBarButtonItem:[self rightButton] animated:YES];
     }
 }
 
@@ -1615,4 +1619,4 @@ static Class $UIWebBrowserView;
     return 980;
 }
 
-@end
\ No newline at end of file
+@end