X-Git-Url: https://git.saurik.com/winterboard.git/blobdiff_plain/3da4212c1a39ac845f3e3542ac08d28d6e489c31..661f31ba09acca861c06e9f307fc04a4e6cadcc0:/Settings.mm diff --git a/Settings.mm b/Settings.mm index 2423d56..7d15baa 100644 --- a/Settings.mm +++ b/Settings.mm @@ -31,13 +31,6 @@ #include #include -static void *libhide; -static BOOL (*IsIconHiddenDisplayId)(NSString *); -static BOOL (*HideIconViaDisplayId)(NSString *); -static BOOL (*UnHideIconViaDisplayId)(NSString *); - -static NSString *WinterBoardDisplayID = @"com.saurik.WinterBoard"; - extern NSString *PSTableCellKey; extern "C" UIImage *_UIImageWithName(NSString *); @@ -145,6 +138,28 @@ void AddThemes(NSMutableArray *themesOnDisk, NSString *folder) { /* }}} */ /* Theme Settings Controller {{{ */ +@interface WBSThemesTableViewCell : UITableViewCell { +} + +@end + +@implementation WBSThemesTableViewCell + +- (id) initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuse { + if ((self = [super initWithFrame:frame reuseIdentifier:reuse]) != nil) { + } return self; +} + +- (void) setTheme:(NSDictionary *)theme { + self.text = [theme objectForKey:@"Name"]; + self.hidesAccessoryWhenEditing = NO; + NSNumber *active([theme objectForKey:@"Active"]); + BOOL inactive(active == nil || ![active boolValue]); + [self setImage:(inactive ? uncheckedImage : checkImage)]; +} + +@end + @interface WBSThemesController: PSViewController { UITableView *_tableView; NSMutableArray *_themes; @@ -275,18 +290,14 @@ void AddThemes(NSMutableArray *themesOnDisk, NSString *folder) { } - (id) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ThemeCell"]; + WBSThemesTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ThemeCell"]; if (!cell) { - cell = [[[UITableViewCell alloc] initWithFrame:CGRectMake(0, 0, 100, 100) reuseIdentifier:@"ThemeCell"] autorelease]; + cell = [[[WBSThemesTableViewCell alloc] initWithFrame:CGRectMake(0, 0, 100, 100) reuseIdentifier:@"ThemeCell"] autorelease]; //[cell setTableViewStyle:UITableViewCellStyleDefault]; } NSDictionary *theme([_themes objectAtIndex:indexPath.row]); - cell.text = [theme objectForKey:@"Name"]; - cell.hidesAccessoryWhenEditing = NO; - NSNumber *active([theme objectForKey:@"Active"]); - BOOL inactive(active == nil || ![active boolValue]); - [cell setImage:(inactive ? uncheckedImage : checkImage)]; + [cell setTheme:theme]; return cell; } @@ -438,13 +449,6 @@ void AddThemes(NSMutableArray *themesOnDisk, NSString *folder) { @implementation WBSettingsController -+ (void) load { - libhide = dlopen("/usr/lib/hide.dylib", RTLD_LAZY); - IsIconHiddenDisplayId = reinterpret_cast(dlsym(libhide, "IsIconHiddenDisplayId")); - HideIconViaDisplayId = reinterpret_cast(dlsym(libhide, "HideIconViaDisplayId")); - UnHideIconViaDisplayId = reinterpret_cast(dlsym(libhide, "UnHideIconViaDisplayId")); -} - - (void) _wb$loadSettings { _plist = [[NSString stringWithFormat:@"%@/Library/Preferences/com.saurik.WinterBoard.plist", NSHomeDirectory()] retain]; _settings = [NSMutableDictionary dictionaryWithContentsOfFile:_plist]; @@ -461,9 +465,6 @@ void AddThemes(NSMutableArray *themesOnDisk, NSString *folder) { if ([_settings objectForKey:@"SummerBoard"] == nil) [_settings setObject:[NSNumber numberWithBool:set] forKey:@"SummerBoard"]; - - if (libhide != NULL) - [_settings setObject:[NSNumber numberWithBool:IsIconHiddenDisplayId(WinterBoardDisplayID)] forKey:@"IconHidden"]; } - (id) initForContentSize:(CGSize)size { @@ -488,9 +489,6 @@ void AddThemes(NSMutableArray *themesOnDisk, NSString *folder) { if (![data writeToFile:_plist options:NSAtomicWrite error:NULL]) return; - if (libhide != NULL) - ([[_settings objectForKey:@"IconHidden"] boolValue] ? HideIconViaDisplayId : UnHideIconViaDisplayId)(WinterBoardDisplayID); - unlink("/User/Library/Caches/com.apple.springboard-imagecache-icons"); unlink("/User/Library/Caches/com.apple.springboard-imagecache-icons.plist"); unlink("/User/Library/Caches/com.apple.springboard-imagecache-smallicons"); @@ -509,6 +507,7 @@ void AddThemes(NSMutableArray *themesOnDisk, NSString *folder) { system("rm -rf /User/Library/Caches/com.apple.IconsCache"); system("rm -rf /User/Library/Caches/com.apple.newsstand"); system("rm -rf /User/Library/Caches/com.apple.springboard.sharedimagecache"); + system("rm -rf /User/Library/Caches/com.apple.UIStatusBar"); system("rm -rf /User/Library/Caches/BarDialer"); system("rm -rf /User/Library/Caches/BarDialer_selected");