mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-19 19:09:38 +00:00
Converted to class properties and modern obj-c syntax
This commit is contained in:
@@ -130,19 +130,19 @@ typedef NS_ENUM(NSUInteger, MPIconType) {
|
||||
* Available Icon names (all)
|
||||
* @return Dictionary with MPIconType keys and NSString values containing their names
|
||||
*/
|
||||
+ (NSDictionary *)availableIconNames;
|
||||
@property (class, nonatomic, strong, readonly) NSDictionary *availableIconNames;
|
||||
|
||||
/**
|
||||
* List of all available DatabaseIcons as an array of Images. Sorted by IconIndex.
|
||||
* @return Array of Icons as NSImage objects
|
||||
*/
|
||||
+ (NSArray<KPKIcon *> *)databaseIcons;
|
||||
@property (class, nonatomic, strong, readonly) NSArray<KPKIcon *> *databaseIcons;
|
||||
|
||||
/**
|
||||
* List of all available DatabaseIcons as an array of MPIconType. Sorted by IconIndex.
|
||||
* @return Array of MPIconType as NSNumber objects
|
||||
*/
|
||||
+ (NSArray *)databaseIconTypes;
|
||||
@property (class, nonatomic, strong, readonly) NSArray *databaseIconTypes;
|
||||
|
||||
+ (void)fetchIconDataForURL:(NSURL *)url completionHandler:(void (^)(NSData *iconData))handler;
|
||||
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
+ (NSImage *)icon:(MPIconType)type {
|
||||
static NSDictionary *icons;
|
||||
if(!icons) {
|
||||
icons = [MPIconHelper availableIconNames];
|
||||
icons = MPIconHelper.availableIconNames;
|
||||
}
|
||||
if([[icons allKeys] containsObject:@(type)]) {
|
||||
if([icons.allKeys containsObject:@(type)]) {
|
||||
NSString *imageName = icons[@(type)];
|
||||
NSImage *image = [NSImage imageNamed:imageName];
|
||||
return image;
|
||||
@@ -43,7 +43,7 @@
|
||||
static NSArray *icons;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
NSDictionary *imageNames = [MPIconHelper availableIconNames];
|
||||
NSDictionary *imageNames = MPIconHelper.availableIconNames;
|
||||
NSMutableArray *mutableIcons = [[NSMutableArray alloc] initWithCapacity:imageNames.count];
|
||||
|
||||
NSArray *sortedImageNames = [imageNames.allKeys sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
|
||||
@@ -68,10 +68,10 @@
|
||||
static NSArray *iconTypes;
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
NSDictionary *imageNames = [MPIconHelper availableIconNames];
|
||||
NSDictionary *imageNames = MPIconHelper.availableIconNames;
|
||||
|
||||
NSArray *sortedImageNames = [[imageNames allKeys] sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
|
||||
return [[imageNames objectForKey:obj1] compare:[imageNames objectForKey:obj2]];
|
||||
NSArray *sortedImageNames = [imageNames.allKeys sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
|
||||
return [imageNames[obj1] compare:imageNames[obj2]];
|
||||
}];
|
||||
iconTypes = [sortedImageNames filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
|
||||
NSNumber *iconNumber = (NSNumber *)evaluatedObject;
|
||||
@@ -178,17 +178,21 @@
|
||||
return; // no url, no handler so no need to do anything
|
||||
}
|
||||
|
||||
// default setting value is direct download
|
||||
NSString *urlString = [NSString stringWithFormat:@"%@://%@/favicon.ico", url.scheme, url.host ? url.host : @""];
|
||||
|
||||
NSString *urlString;
|
||||
MPFaviconDownloadMethod faviconDownloadMethod = (MPFaviconDownloadMethod)[NSUserDefaults.standardUserDefaults integerForKey:kMPSettingsKeyFaviconDownloadMethod];
|
||||
if (faviconDownloadMethod == MPFaviconDownloadMethodDuckDuckGo) {
|
||||
urlString = [NSString stringWithFormat:@"https://icons.duckduckgo.com/ip3/%@.ico", url.host ? url.host : @""];
|
||||
switch(faviconDownloadMethod) {
|
||||
case MPFaviconDownloadMethodGoogle:
|
||||
urlString = [NSString stringWithFormat:@"https://www.google.com/s2/favicons?domain=%@", url.host ? url.host : @""];
|
||||
break;
|
||||
case MPFaviconDownloadMethodDuckDuckGo:
|
||||
urlString = [NSString stringWithFormat:@"https://icons.duckduckgo.com/ip3/%@.ico", url.host ? url.host : @""];
|
||||
break;
|
||||
case MPFaviconDownloadMethodDirect:
|
||||
default:
|
||||
urlString = [NSString stringWithFormat:@"%@://%@/favicon.ico", url.scheme, url.host ? url.host : @""];
|
||||
break;
|
||||
}
|
||||
else if (faviconDownloadMethod == MPFaviconDownloadMethodGoogle) {
|
||||
urlString = [NSString stringWithFormat:@"https://www.google.com/s2/favicons?domain=%@", url.host ? url.host : @""];
|
||||
}
|
||||
|
||||
|
||||
NSURL *favIconURL = [NSURL URLWithString:urlString];
|
||||
if(!favIconURL) {
|
||||
/* call the handler with nil data */
|
||||
|
||||
Reference in New Issue
Block a user