X-Git-Url: https://git.saurik.com/cydia.git/blobdiff_plain/f9b36dae4a0101e84b11aafb50b2ba85c83d4ca2..8b11aa52c431335b56d9bd6321cde112afb37002:/MobileCydia.mm diff --git a/MobileCydia.mm b/MobileCydia.mm index 18f1a0ea..9ef5db99 100644 --- a/MobileCydia.mm +++ b/MobileCydia.mm @@ -41,8 +41,8 @@ #define USE_SYSTEM_MALLOC 1 /* #include Directives {{{ */ -#include "UICaboodle/UCPlatform.h" -#include "UICaboodle/UCLocalize.h" +#include "CyteKit/UCPlatform.h" +#include "CyteKit/CyteLocalize.h" #include #include @@ -120,13 +120,14 @@ extern "C" { #include -#include "UICaboodle/BrowserView.h" -#include "UICaboodle/NSString-UICaboodle.h" -#include "UICaboodle/PerlCompatibleRegEx.hpp" +#include "CyteKit/CyteWebViewController.h" +#include "CyteKit/NSString-Cyte.h" +#include "CyteKit/PerlCompatibleRegEx.hpp" +#include "CyteKit/WebScriptObject-Cyte.h" #include "SDURLCache/SDURLCache.h" -#include "substrate.h" +#include /* }}} */ /* Profiler {{{ */ @@ -587,23 +588,6 @@ void CFArrayInsertionSortValues(CFMutableArrayRef array, CFRange range, CFCompar @end -@implementation WebScriptObject (NSFastEnumeration) - -- (NSUInteger) countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)objects count:(NSUInteger)count { - size_t length([self count] - state->state); - if (length <= 0) - return 0; - else if (length > count) - length = count; - for (size_t i(0); i != length; ++i) - objects[i] = [self objectAtIndex:state->state++]; - state->itemsPtr = objects; - state->mutationsPtr = (unsigned long *) self; - return length; -} - -@end - NSUInteger DOMNodeList$countByEnumeratingWithState$objects$count$(DOMNodeList *self, SEL sel, NSFastEnumerationState *state, id *objects, NSUInteger count) { size_t length([self length] - state->state); if (length <= 0) @@ -624,18 +608,6 @@ NSUInteger DOMNodeList$countByEnumeratingWithState$objects$count$(DOMNodeList *s - (NSString *) stringByAddingPercentEscapesIncludingReserved; @end -@implementation NSString (UICaboodle) - -+ (NSString *) stringWithUTF8BytesNoCopy:(const char *)bytes length:(int)length { - return [[[NSString alloc] initWithBytesNoCopy:const_cast(bytes) length:length encoding:NSUTF8StringEncoding freeWhenDone:NO] autorelease]; -} - -+ (NSString *) stringWithUTF8Bytes:(const char *)bytes length:(int)length { - return [[[NSString alloc] initWithBytes:bytes length:length encoding:NSUTF8StringEncoding] autorelease]; -} - -@end - @implementation NSString (Cydia) - (NSComparisonResult) compareByPath:(NSString *)other { @@ -3042,7 +3014,10 @@ struct PackageNameOrdering : [self parse]; - range = [[self shortDescription] rangeOfString:text options:MatchCompareOptions_]; + NSString *description([self shortDescription]); + NSUInteger length([description length]); + + range = [[self shortDescription] rangeOfString:text options:MatchCompareOptions_ range:NSMakeRange(0, std::min(length, 100))]; if (range.location != NSNotFound) return YES; @@ -4023,6 +3998,9 @@ static NSMutableSet *Diversions_; for (Diversion *diversion in Diversions_) if (NSString *diverted = [diversion divert:href]) { +#if !ForRelease + NSLog(@"div: %@", diverted); +#endif url = [NSURL URLWithString:diverted]; goto divert; } @@ -4171,6 +4149,10 @@ static NSMutableSet *Diversions_; return @"getKernelString"; else if (selector == @selector(getInstalledPackages)) return @"getInstalledPackages"; + else if (selector == @selector(getLocaleIdentifier)) + return @"getLocaleIdentifier"; + else if (selector == @selector(getPreferredLanguages)) + return @"getPreferredLanguages"; else if (selector == @selector(getPackageById:)) return @"getPackageById"; else if (selector == @selector(getSessionValue:)) @@ -4193,6 +4175,8 @@ static NSMutableSet *Diversions_; return @"scrollToBottom"; else if (selector == @selector(setAllowsNavigationAction:)) return @"setAllowsNavigationAction"; + else if (selector == @selector(setBadgeValue:)) + return @"setBadgeValue"; else if (selector == @selector(setButtonImage:withStyle:toFunction:)) return @"setButtonImage"; else if (selector == @selector(setButtonTitle:withStyle:toFunction:)) @@ -4205,6 +4189,10 @@ static NSMutableSet *Diversions_; return @"setNavigationBarStyle"; else if (selector == @selector(setNavigationBarTintRed:green:blue:alpha:)) return @"setNavigationBarTintColor"; + else if (selector == @selector(setPasteboardString:)) + return @"setPasteboardString"; + else if (selector == @selector(setPasteboardURL:)) + return @"setPasteboardURL"; else if (selector == @selector(setToken:)) return @"setToken"; else if (selector == @selector(setViewportWidth:)) @@ -4326,6 +4314,14 @@ static NSMutableSet *Diversions_; return (Package *) [NSNull null]; } +- (NSString *) getLocaleIdentifier { + return Locale_ == NULL ? (NSString *) [NSNull null] : (NSString *) CFLocaleGetIdentifier(Locale_); +} + +- (NSArray *) getPreferredLanguages { + return Languages_; +} + - (NSArray *) statfs:(NSString *)path { struct statfs stat; @@ -4414,6 +4410,10 @@ static NSMutableSet *Diversions_; [indirect_ setButtonTitle:button withStyle:style toFunction:function]; } +- (void) setBadgeValue:(id)value { + [indirect_ performSelectorOnMainThread:@selector(setBadgeValue:) withObject:value waitUntilDone:NO]; +} + - (void) setAllowsNavigationAction:(NSString *)value { [indirect_ performSelectorOnMainThread:@selector(setAllowsNavigationActionByNumber:) withObject:value waitUntilDone:NO]; } @@ -4436,6 +4436,14 @@ static NSMutableSet *Diversions_; [indirect_ performSelectorOnMainThread:@selector(setNavigationBarTintColor:) withObject:color waitUntilDone:NO]; } +- (void) setPasteboardString:(NSString *)value { + [[objc_getClass("UIPasteboard") generalPasteboard] setString:value]; +} + +- (void) setPasteboardURL:(NSString *)value { + [[objc_getClass("UIPasteboard") generalPasteboard] setURL:[NSURL URLWithString:value]]; +} + - (void) _setToken:(NSString *)token { Token_ = token; @@ -4910,13 +4918,16 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { if (state.NewInstall()) [installs addObject:name]; + // XXX: else if (state.Install()) else if (!state.Delete() && (state.iFlags & pkgDepCache::ReInstall) == pkgDepCache::ReInstall) [reinstalls addObject:name]; + // XXX: move before previous if else if (state.Upgrade()) [upgrades addObject:name]; else if (state.Downgrade()) [downgrades addObject:name]; else if (!state.Delete()) + // XXX: _assert(state.Keep()); continue; else if (special_r(name)) [issues_ addObject:[NSDictionary dictionaryWithObjectsAndKeys: @@ -5915,6 +5926,8 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { } - (void) viewDidLoad { + [super viewDidLoad]; + [[self navigationItem] setTitle:UCLocalize("INSTALLED_FILES")]; } @@ -6531,6 +6544,7 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { - (id) init { if ((self = [super init]) != nil) { [self setURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@/#!/home/", UI_]]]; + [self reloadData]; } return self; } @@ -6556,6 +6570,8 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { } - (void) viewDidLoad { + [super viewDidLoad]; + [[self navigationItem] setLeftBarButtonItem:[[[UIBarButtonItem alloc] initWithTitle:UCLocalize("ABOUT") style:UIBarButtonItemStylePlain @@ -6564,6 +6580,11 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { ] autorelease]]; } +- (void) unloadData { + [super unloadData]; + [self reloadData]; +} + @end /* }}} */ /* Manage Controller {{{ */ @@ -6587,6 +6608,8 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { } - (void) viewDidLoad { + [super viewDidLoad]; + [[self navigationItem] setLeftBarButtonItem:[[[UIBarButtonItem alloc] initWithTitle:UCLocalize("SETTINGS") style:UIBarButtonItemStylePlain @@ -7367,6 +7390,8 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { } - (void) viewDidLoad { + [super viewDidLoad]; + [[self navigationItem] setTitle:UCLocalize("SECTIONS")]; } @@ -7555,6 +7580,8 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { } - (void) viewDidLoad { + [super viewDidLoad]; + [[self navigationItem] setTitle:UCLocalize("CHANGES")]; } @@ -7934,6 +7961,8 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { } - (void) viewDidLoad { + [super viewDidLoad]; + [[self navigationItem] setTitle:UCLocalize("SETTINGS")]; } @@ -8519,6 +8548,8 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { } - (void) viewDidLoad { + [super viewDidLoad]; + [[self navigationItem] setTitle:UCLocalize("SOURCES")]; [self updateButtonsForEditingStatus:NO animated:NO]; } @@ -8675,6 +8706,8 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) { } - (void) viewDidLoad { + [super viewDidLoad]; + [[self navigationItem] setTitle:UCLocalize("WHO_ARE_YOU")]; int index = -1;