Fixed sorting and selection of database icons (issue #118)

This commit is contained in:
Dennis Bolio
2014-04-15 00:01:26 +02:00
parent acb5d6de04
commit ea6db31d03
3 changed files with 37 additions and 2 deletions

View File

@@ -29,7 +29,12 @@
dispatch_once(&onceToken, ^{
NSDictionary *imageNames = [MPIconHelper availableIconNames];
NSMutableArray *mutableIcons = [[NSMutableArray alloc] initWithCapacity:[imageNames count]];
for(NSNumber *iconNumber in [imageNames allKeys]) {
NSArray *sortedImageNames = [[imageNames allKeys] sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [[imageNames objectForKey:obj1] compare:[imageNames objectForKey:obj2]];
}];
for(NSNumber *iconNumber in sortedImageNames) {
if([iconNumber integerValue] > MPCustomIconTypeBegin) {
continue; // Skip all non-db Keys
}
@@ -41,6 +46,30 @@
return icons;
}
+ (NSArray *)databaseIconType {
static NSArray *iconTypes;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSDictionary *imageNames = [MPIconHelper availableIconNames];
NSMutableArray *mutableIcons = [[NSMutableArray alloc] initWithCapacity:[imageNames count]];
NSArray *sortedImageNames = [[imageNames allKeys] sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
return [[imageNames objectForKey:obj1] compare:[imageNames objectForKey:obj2]];
}];
for(NSNumber *iconNumber in sortedImageNames) {
if([iconNumber integerValue] > MPCustomIconTypeBegin) {
continue; // Skip all non-db Keys
}
[mutableIcons addObject:iconNumber];
}
iconTypes = mutableIcons;
});
return iconTypes;
}
+ (NSDictionary *)availableIconNames {
static NSDictionary *imageNames;
static dispatch_once_t onceToken;