diff options
-rw-r--r-- | Cydia.mm | 30 | ||||
-rw-r--r-- | UICaboodle/BrowserView.h | 3 | ||||
-rw-r--r-- | UICaboodle/BrowserView.mm | 8 |
3 files changed, 23 insertions, 18 deletions
@@ -5227,9 +5227,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]; } @@ -5240,6 +5243,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 { @@ -5307,19 +5320,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; } diff --git a/UICaboodle/BrowserView.h b/UICaboodle/BrowserView.h index f2b0db8..23be631 100644 --- a/UICaboodle/BrowserView.h +++ b/UICaboodle/BrowserView.h @@ -108,9 +108,10 @@ - (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 diff --git a/UICaboodle/BrowserView.mm b/UICaboodle/BrowserView.mm index ee8563f..1615795 100644 --- a/UICaboodle/BrowserView.mm +++ b/UICaboodle/BrowserView.mm @@ -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 |