// we init the HBPresetsManager class
NSURL *presetsURL = [NSURL fileURLWithPath:[[HBUtilities appSupportPath] stringByAppendingPathComponent:@"UserPresets.plist"]];
presetManager = [[HBPresetsManager alloc] initWithURL:presetsURL];
- _selectedPreset = presetManager.defaultPreset;
+ _selectedPreset = [presetManager.defaultPreset retain];
// Workaround to avoid a bug in Snow Leopard
// we can switch back to [[NSApplication sharedApplication] applicationIconImage]
}
}
- if (!node.isBuiltIn)
- {
- node.delegate = self;
- }
+ node.delegate = self;
return node;
}
}
/**
- * Private method to select a new default
- * when the default preset is deleted.
+ * Private method to select a new default after the default preset is deleted
+ * or when the built-in presets are regenerated.
*/
- (void)selectNewDefault
{
__block HBPreset *normalPreset = nil;
__block HBPreset *firstUserPreset = nil;
__block HBPreset *firstBuiltInPreset = nil;
+ __block BOOL defaultAlreadySetted = NO;
// Search for a possibile new default preset
// Try to use "Normal" or the first user preset.
firstUserPreset = obj;
*stop = YES;
}
+
+ if ([obj isDefault]) {
+ defaultAlreadySetted = YES;
+ }
}];
- if (normalPreset)
+ if (defaultAlreadySetted) {
+ return;
+ }
+ else if (normalPreset)
{
self.defaultPreset = normalPreset;
normalPreset.isDefault = YES;
@selector(createAndroidTabletPreset),
@selector(createW8PhonePreset)
};
-
+
SEL regularPresets[] = { @selector(createNormalPreset),
@selector(createHighProfilePreset)};
-
+
[self deleteBuiltInPresets];
[self loadPresetsForType:@"Regular" fromSel:regularPresets length:2];
[self loadPresetsForType:@"Devices" fromSel:devicesPresets length:10];
- if (self.defaultPreset == nil)
- {
- [self selectNewDefault];
- }
-
+ // set a new Default preset
+ [self selectNewDefault];
[HBUtilities writeToActivityLog: "built in presets updated to build number: %d", [[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] intValue]];
}