Index: trunk/ChameleonPrefPane/Sources/AdvancedSetupController.h =================================================================== --- trunk/ChameleonPrefPane/Sources/AdvancedSetupController.h (revision 49) +++ trunk/ChameleonPrefPane/Sources/AdvancedSetupController.h (revision 50) @@ -43,6 +43,8 @@ IBOutlet NSButton* mForceWake; IBOutlet NSButton* mWakeImage; IBOutlet NSTextField* mWakeImageText; + IBOutlet NSButton* mSystemId; + IBOutlet NSTextField* mSystemIdText; } - (IBAction) onCheckButtonChange: (NSButton*) sender; Index: trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.mm =================================================================== --- trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.mm (revision 49) +++ trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.mm (revision 50) @@ -190,8 +190,7 @@ - (void) initBootConfig { static bool ft=true; - - // Cosmetics setup + // Setup security for changing boot options AuthorizationItem items = {kAuthorizationRightExecute, 0, NULL, 0}; AuthorizationRights rights = {1, &items}; @@ -338,7 +337,14 @@ AuthorizationRef auth= [self isUnlocked] ? [[authView authorization] authorizationRef] : NULL; if(prop->setStringForKey(kDefaultPartition, hd)) prop->save(auth); + [ PreferencesControllerBase loadOptionsFromBootFile]; } + else + { // no line selected + prop->removeKeyAndValue(kDefaultPartition); + [ PreferencesControllerBase loadOptionsFromBootFile]; + + } } } Index: trunk/ChameleonPrefPane/Sources/PreferencesControllerBase.h =================================================================== --- trunk/ChameleonPrefPane/Sources/PreferencesControllerBase.h (revision 49) +++ trunk/ChameleonPrefPane/Sources/PreferencesControllerBase.h (revision 50) @@ -27,6 +27,7 @@ }; + // ENHANCE ME: remove this globals and integrate them in ChameleonPrefPane or at least // add function accessor entry points extern PartitionExtractor * partExtractor; @@ -70,7 +71,7 @@ + (void) doForEachGroup: (GroupAction) action withOption:(id) option; // Set refresh state {enabled | disabled} depending on the authorizations state -- (void) refreshLockState: (id) item; ++ (void) refreshLockState: (id) item; // Unitary Method for Load One option of any type + (void) loadOptionsFromBootFile; Index: trunk/ChameleonPrefPane/Sources/BootPropertyList.h =================================================================== --- trunk/ChameleonPrefPane/Sources/BootPropertyList.h (revision 49) +++ trunk/ChameleonPrefPane/Sources/BootPropertyList.h (revision 50) @@ -11,6 +11,7 @@ #include "PropertyList.h" #include +//-------------------------------------------------------------------------- // Chameleon Boot options type typedef enum { @@ -22,20 +23,40 @@ } BootOptionType; +typedef enum PropertyKind +{ + KindPreferencesFile, + KindBootConfigFile, + KindSmbiosConfigFile +}; + +struct BootOptionDesc; + +typedef bool (*FieldValidator) (BootOptionDesc* bod); + +//-------------------------------------------------------------------------- // Boot Option descriptor : used by all derived class to permit parameters handling automation ... struct BootOptionDesc { - BootOptionDesc(void* i, void * cID, BootOptionType t, const char* n, const char* d) { - ID=i; contentID=cID, Type=t; Name=n; Default=d; + BootOptionDesc(void* i, void * c, BootOptionType t, const char* n, const char* d, + FieldValidator validator=NULL, PropertyKind kind=KindBootConfigFile) : + ID(i), contentID(c), Type(t), Name(n), Default(d), + Validator(validator), Kind(kind) + { + } void* ID; // the corresponding button or textfield in the interface void* contentID; // the corresponding content ID (i.e: the string content for text fields) BootOptionType Type; const char * Name; + FieldValidator Validator; + PropertyKind Kind; const char * Default; } ; +//-------------------------------------------------------------------------- + /** * Specialization of PropertyList with Chameleon Boot Config, fast id key to desc search features */ @@ -46,7 +67,9 @@ virtual ~BootPropertyList() { deleteOptionDesc(); } // id to map BootOptionDesc handling - void addOptionDesc(void * ID, void* cID, BootOptionType t, const char * szName, const char* szDefault) + void addOptionDesc(void * ID, void* cID, BootOptionType t, const char * szName, const char* szDefault, + FieldValidator validator=NULL, PropertyKind kind=KindBootConfigFile) + { if (ID) _idToDescDict[ID] = new BootOptionDesc(ID, cID, t, szName? szName : "", szDefault ? szDefault : ""); Index: trunk/ChameleonPrefPane/Sources/PeripheralsController.mm =================================================================== --- trunk/ChameleonPrefPane/Sources/PeripheralsController.mm (revision 49) +++ trunk/ChameleonPrefPane/Sources/PeripheralsController.mm (revision 50) @@ -22,7 +22,7 @@ - (void) addOptionsDesc { prop->addOptionDesc(mLegacyLogo, nil, OptionYesNo, "Legacy Logo", "No"); - prop->addOptionDesc(mBootBanner, nil, OptionYesNo, "Boot Banner", "No"); + prop->addOptionDesc(mBootBanner, nil, OptionYesNo, "Boot Banner", "Yes"); prop->addOptionDesc(mVBIOS, nil, OptionYesNo, "VBIOS", "No"); prop->addOptionDesc(mVideoROM, mVideoROMText, OptionString, "VideoROM", ""); prop->addOptionDesc(mGraphicsMode, mGraphicsModeText, OptionString, "Graphics Mode", ""); @@ -36,18 +36,7 @@ //-------------------------------------------------------------------------- - (void) refreshLockStates { - [self refreshLockState: mLegacyLogo ]; - [self refreshLockState: mBootBanner ]; - [self refreshLockState: mVBIOS ]; - [self refreshLockState: mVideoROM ]; - [self refreshLockState: mVideoROMText ]; - [self refreshLockState: mGraphicsMode ]; - [self refreshLockState: mGraphicsModeText ]; - [self refreshLockState: mGraphicsEnabler ]; - [self refreshLockState: mUSBBusFix ]; - [self refreshLockState: mEHCIacquire ]; - [self refreshLockState: mUHCIreset ]; - [self refreshLockState: mEthernetBuiltIn ]; + // automatic, nothing to do } //-------------------------------------------------------------------------- Index: trunk/ChameleonPrefPane/Sources/BootFlagsController.mm =================================================================== --- trunk/ChameleonPrefPane/Sources/BootFlagsController.mm (revision 49) +++ trunk/ChameleonPrefPane/Sources/BootFlagsController.mm (revision 50) @@ -41,18 +41,7 @@ //-------------------------------------------------------------------------- - (void) refreshLockStates { - [self refreshLockState: mVerbose]; - [self refreshLockState: mSafeBoot]; - [self refreshLockState: mIgnoreBootConfig]; - [self refreshLockState: mTimeOut]; - [self refreshLockState: mTimeOutText]; - [self refreshLockState: mSingleUser]; - [self refreshLockState: mQuietBoot]; - [self refreshLockState: mInstantMenu]; - [self refreshLockState: mWait]; - [self refreshLockState: mRescan]; - [self refreshLockState: mRescanPrompt]; - [self refreshLockState: mRescanSingleDrive]; + // automatic, nothing to do } //-------------------------------------------------------------------------- Index: trunk/ChameleonPrefPane/Sources/BootSetupController.mm =================================================================== --- trunk/ChameleonPrefPane/Sources/BootSetupController.mm (revision 49) +++ trunk/ChameleonPrefPane/Sources/BootSetupController.mm (revision 50) @@ -33,16 +33,11 @@ //-------------------------------------------------------------------------- - (void) refreshLockStates { - [self refreshLockState: mSwapHD01 ]; - [self refreshLockState: mSwapHD02 ]; - [self refreshLockState: mFreezeParts ]; - [self refreshLockState: mInjectFrozenParts ]; - [self refreshLockState: mDefaultPartition ]; - [self refreshLockState: mDefaultPartitionText ]; - [self refreshLockState: mHidePartition ]; - [self refreshLockState: mHidePartitionText ]; - [self refreshLockState: mRenamePartition ]; - [self refreshLockState: mRenamePartitionText ]; + // non boot config options (not automatized) + [PreferencesControllerBase refreshLockState: mSwapHD01 ]; + [PreferencesControllerBase refreshLockState: mSwapHD02 ]; + [PreferencesControllerBase refreshLockState: mFreezeParts ]; + [PreferencesControllerBase refreshLockState: mInjectFrozenParts ]; } //-------------------------------------------------------------------------- @@ -205,8 +200,34 @@ } //-------------------------------------------------------------------------- +- (IBAction) onForceBootConfigPath: (id) sender +{ + if (sender == mBootConfigPath) + { + int val = [mBootConfigPath intValue]; + std::string content = [[mBootConfigPathText stringValue] UTF8String]; + [mBootConfigPathText setEnabled: val ? true : false]; + [mBootConfigPathText setEditable: val ? true : false]; + if (val) + { + + + } + } + else + { // TextField + + } + + + [PreferencesControllerBase loadOptionsFromBootFile ]; + +} +//-------------------------------------------------------------------------- -(IBAction) onCheckButtonChange: (NSButton*) sender { + // IMPROVE ME: Should automatize the callback/load/save mechanism + // for the preferences file like the bootConfig file if (sender == mSwapHD01 || sender == mSwapHD01) { partExtractor->resetSwapping(); @@ -224,6 +245,16 @@ { [self onInjectPartsToFreeze: mInjectFrozenParts]; } + else if (sender == mDefaultPartition || sender == mHidePartition + || sender == mRenamePartition ) + { // sync with other panels + [self handleSender:sender]; + [PreferencesControllerBase loadOptionsFromBootFile ]; + } + else if (sender == mBootConfigPath || (NSTextField*)sender == mBootConfigPathText) + { // sync with other panels + [self onForceBootConfigPath: sender]; + } // Handle BootOptions generically: else [self handleSender:sender]; @@ -231,7 +262,12 @@ //-------------------------------------------------------------------------- -(IBAction) onTextFiedChange: (NSTextField*) sender { - + if ( sender == mDefaultPartitionText || sender == mHidePartitionText || + sender == mRenamePartitionText ) + { + [self handleSender:sender]; + [PreferencesControllerBase loadOptionsFromBootFile ]; + } } //-------------------------------------------------------------------------- Index: trunk/ChameleonPrefPane/Sources/AdvancedSetupController.mm =================================================================== --- trunk/ChameleonPrefPane/Sources/AdvancedSetupController.mm (revision 49) +++ trunk/ChameleonPrefPane/Sources/AdvancedSetupController.mm (revision 50) @@ -36,36 +36,13 @@ prop->addOptionDesc(mWake, nil, OptionYesNo, "Wake", "No"); prop->addOptionDesc(mForceWake, nil, OptionYesNo, "ForceWake", "No"); prop->addOptionDesc(mWakeImage, mWakeImageText, OptionString, "WakeImage", ""); + prop->addOptionDesc(mSystemId, mSystemIdText, OptionString, "SystemId", ""); } //-------------------------------------------------------------------------- - (void) refreshLockStates { - [self refreshLockState: mKernel ]; - [self refreshLockState: mKernelText ]; - [self refreshLockState: mDeviceRd ]; - [self refreshLockState: mDeviceRdText ]; - [self refreshLockState: mArch ]; - [self refreshLockState: mArchText ]; - [self refreshLockState: mCPU ]; - [self refreshLockState: mCPUText ]; - [self refreshLockState: mBusRatio ]; - [self refreshLockState: mBusRatioText ]; - [self refreshLockState: mDebug ]; - [self refreshLockState: mDebugText ]; - [self refreshLockState: mIO ]; - [self refreshLockState: mIOText ]; - [self refreshLockState: mDisableKextsBlacklisting ]; - [self refreshLockState: mDSDTFile ]; - [self refreshLockState: mDSDTFileText ]; - [self refreshLockState: mDSDTDrop ]; - [self refreshLockState: mSMBIOSFile ]; - [self refreshLockState: mSMBIOSFileText ]; - [self refreshLockState: mSMBIOSDefaults ]; - [self refreshLockState: mWake ]; - [self refreshLockState: mForceWake ]; - [self refreshLockState: mWakeImage ]; - [self refreshLockState: mWakeImageText ]; + // automatic, nothing to do } //-------------------------------------------------------------------------- Index: trunk/ChameleonPrefPane/Sources/PreferencesControllerBase.mm =================================================================== --- trunk/ChameleonPrefPane/Sources/PreferencesControllerBase.mm (revision 49) +++ trunk/ChameleonPrefPane/Sources/PreferencesControllerBase.mm (revision 50) @@ -81,6 +81,24 @@ } //-------------------------------------------------------------------------- ++ (void) refreshLockState: (id) item +{ + [item setEnabled:[[ChameleonPrefPane instance] isUnlocked]]; + +} + +//-------------------------------------------------------------------------- ++ (void) refreshLockStates +{ + + for (const BootOptionDesc* bod=prop->firstOption(); bod; bod=prop->nextOption()) + { + [self refreshLockState: (id) bod->ID ]; + if (bod->contentID) [self refreshLockState: (id) bod->contentID ]; + } + +} +//-------------------------------------------------------------------------- + (void) doForEachGroup: (GroupAction) action withOption:(id) option { std::list::iterator it; @@ -92,6 +110,7 @@ break; case RefreshLockStates: [*it refreshLockStates ]; + [PreferencesControllerBase refreshLockStates]; break; case LoadPreferencesOptions: [*it loadOptionsFromPreferencesFile: option]; @@ -109,7 +128,7 @@ } } } - + //-------------------------------------------------------------------------- + (void) loadOptionsFromBootFile { @@ -200,13 +219,6 @@ } //-------------------------------------------------------------------------- -- (void) refreshLockState: (id) item -{ - [item setEnabled:[[ChameleonPrefPane instance] isUnlocked]]; - -} - -//-------------------------------------------------------------------------- - (void) loadPreferences { [ [ChameleonPrefPane instance] loadPreferences]; @@ -255,8 +267,8 @@ { std::string contentValue = [ [(NSTextField*) bod->contentID stringValue] UTF8String ]; - if (!val) kernelFlags.removeFlag(kernelFlags.stringFromKey(bod->Name)); - else + kernelFlags.removeFlag(kernelFlags.stringFromKey(bod->Name)); + if(val) { std::string concat = bod->Name; concat+= "="; @@ -316,6 +328,7 @@ bod = prop->findOptionContent(sender); NSTextField* textField = (NSTextField*) sender; std::string content = [[textField stringValue] UTF8String ]; + if(bod->ID!=nil) sender = (id) bod->ID; } else { Index: trunk/ChameleonPrefPane/Sources/BootSetupController.h =================================================================== --- trunk/ChameleonPrefPane/Sources/BootSetupController.h (revision 49) +++ trunk/ChameleonPrefPane/Sources/BootSetupController.h (revision 50) @@ -30,11 +30,15 @@ IBOutlet NSButton* mRenamePartition; IBOutlet NSTextField* mRenamePartitionText; + + IBOutlet NSButton* mBootConfigPath; + IBOutlet NSTextField* mBootConfigPathText; } - (IBAction) onCheckButtonChange: (NSButton*) sender; - (IBAction) onTextFiedChange: (NSTextField*) sender; +- (IBAction) onForceBootConfigPath: (id) sender; - (void) doSwapHD: (int) val save: (bool) doSave src: (int) isrc dst: (int) idst; Index: trunk/ChameleonPrefPane/English.lproj/Chameleon.xib =================================================================== --- trunk/ChameleonPrefPane/English.lproj/Chameleon.xib (revision 49) +++ trunk/ChameleonPrefPane/English.lproj/Chameleon.xib (revision 50) @@ -12,7 +12,7 @@ YES - + YES @@ -226,7 +226,7 @@ - 198 + 211 40 1000 @@ -244,7 +244,11 @@ 69336641 67110912 Text Cell - + + LucidaGrande-Bold + 14 + 16 + 1 @@ -566,7 +570,11 @@ 69336641 134219776 Text Cell - + + LucidaGrande + 14 + 16 + YES 1 @@ -579,7 +587,7 @@ Name Displayed on the bootable partion during Chameleon boot - 135 + 122 40 1000 @@ -594,7 +602,7 @@ 69336641 2048 Text Cell - + YES 1 @@ -643,17 +651,18 @@ _doScroller: - 0.99549549549549554 + 0.93697478991596639 -2147483392 {{1, 159}, {411, 15}} + YES 1 _doScroller: - 0.99577167019027479 + 0.99785407725321884 @@ -674,7 +683,7 @@ {{7, 2}, {467, 256}} - 562 + 690 @@ -732,7 +741,7 @@ 2 - + 256 YES @@ -925,7 +934,7 @@ 268 - {{12, 13}, {128, 18}} + {{12, 54}, {128, 18}} 2 YES @@ -948,7 +957,7 @@ 268 - {{150, 13}, {124, 18}} + {{150, 54}, {124, 18}} 2 YES @@ -971,7 +980,7 @@ 268 - {{297, 13}, {161, 18}} + {{297, 54}, {161, 18}} 2 YES @@ -994,7 +1003,7 @@ 268 - {{459, 7}, {159, 28}} + {{459, 48}, {159, 28}} 2 YES @@ -1012,13 +1021,54 @@ 25 + + + 268 + {{12, 26}, {128, 18}} + + 2 + YES + + 67239424 + 0 + Boot Config Path + + + 1211912703 + 2 + + + + + 200 + 25 + + + + + 12 + {{152, 24}, {422, 22}} + + 2 + YES + + 611450433 + 272630784 + + + + YES + + + + - {{1, 1}, {626, 47}} + {{1, 1}, {626, 88}} 2 - {{6, 40}, {628, 63}} + {{6, 14}, {628, 104}} YES 2 @@ -1042,6 +1092,7 @@ {{10, 33}, {640, 267}} + Boot Setup @@ -1766,7 +1817,7 @@ Item 8 - + 256 YES @@ -1783,7 +1834,7 @@ 12 - {{307, 77}, {90, 23}} + {{258, 75}, {90, 23}} YES @@ -1849,7 +1900,7 @@ 12 - {{431, 77}, {104, 22}} + {{353, 75}, {255, 22}} YES @@ -1866,7 +1917,7 @@ 268 - {{177, 13}, {42, 23}} + {{154, 12}, {42, 23}} YES @@ -1888,7 +1939,7 @@ 12 - {{102, 78}, {151, 22}} + {{91, 79}, {151, 22}} YES @@ -1905,7 +1956,7 @@ 268 - {{177, 46}, {58, 23}} + {{160, 47}, {52, 18}} YES @@ -1927,7 +1978,7 @@ 268 - {{307, 45}, {74, 23}} + {{258, 43}, {74, 23}} YES @@ -1946,10 +1997,32 @@ 25 + + + 268 + {{258, 12}, {79, 23}} + + YES + + 67239424 + 0 + SystemId + + + 1211912703 + 2 + + + + + 200 + 25 + + 268 - {{102, 48}, {70, 22}} + {{91, 48}, {57, 22}} YES @@ -1966,7 +2039,7 @@ 268 - {{16, 47}, {69, 23}} + {{16, 45}, {69, 23}} YES @@ -1988,7 +2061,7 @@ 268 - {{102, 13}, {58, 22}} + {{91, 13}, {50, 22}} YES @@ -2005,7 +2078,7 @@ 268 - {{226, 14}, {69, 22}} + {{198, 14}, {44, 22}} YES @@ -2022,7 +2095,7 @@ 268 - {{248, 46}, {28, 22}} + {{218, 45}, {24, 22}} YES @@ -2039,7 +2112,7 @@ 268 - {{431, 48}, {43, 22}} + {{353, 45}, {30, 22}} YES @@ -2056,14 +2129,18 @@ 268 - {{307, 15}, {184, 18}} + {{474, 45}, {136, 18}} YES 67239424 0 - Disable kexts blacklisting - + Disable kext blacklist + + LucidaGrande + 11 + 16 + 1211912703 2 @@ -2075,6 +2152,23 @@ 25 + + + 12 + {{353, 18}, {255, 19}} + + YES + + 611450433 + 272630784 + + + + YES + + + + {{1, 1}, {626, 111}} @@ -2412,21 +2506,20 @@ {{10, 33}, {640, 267}} - Advanced - + 0 YES YES YES - + @@ -3632,6 +3725,70 @@ 737 + + + onCheckButtonChange: + + + + 744 + + + + mSystemId + + + + 748 + + + + mSystemIdText + + + + 749 + + + + onTextFiedChange: + + + + 750 + + + + onCheckButtonChange: + + + + 760 + + + + onTextFiedChange: + + + + 761 + + + + mBootConfigPath + + + + 762 + + + + mBootConfigPathText + + + + 763 + @@ -4052,11 +4209,11 @@ YES - + @@ -4183,14 +4340,14 @@ YES - - + + @@ -4318,21 +4475,23 @@ YES - - - - - - + + + + + + + + - - + + @@ -4591,8 +4750,8 @@ YES + - @@ -4968,6 +5127,8 @@ + + @@ -5041,6 +5202,62 @@ + + 738 + + + YES + + + + + + 739 + + + + + 741 + + + YES + + + + + + 742 + + + + + 754 + + + YES + + + + + + 755 + + + + + 757 + + + YES + + + + + + 758 + + + @@ -5101,6 +5318,7 @@ 301.IBPluginDependency 302.IBAttributePlaceholdersKey 302.IBPluginDependency + 306.IBAttributePlaceholdersKey 306.IBPluginDependency 309.IBPluginDependency 313.IBPluginDependency @@ -5121,11 +5339,13 @@ 423.IBAttributePlaceholdersKey 423.IBPluginDependency 424.IBPluginDependency + 425.IBAttributePlaceholdersKey 425.IBPluginDependency 426.IBPluginDependency 427.IBAttributePlaceholdersKey 427.IBPluginDependency 428.IBPluginDependency + 429.IBAttributePlaceholdersKey 429.IBPluginDependency 430.IBPluginDependency 431.IBPluginDependency @@ -5134,6 +5354,7 @@ 442.IBPluginDependency 450.IBAttributePlaceholdersKey 450.IBPluginDependency + 451.IBAttributePlaceholdersKey 451.IBPluginDependency 452.IBAttributePlaceholdersKey 452.IBPluginDependency @@ -5145,6 +5366,7 @@ 457.IBPluginDependency 458.IBAttributePlaceholdersKey 458.IBPluginDependency + 460.IBAttributePlaceholdersKey 460.IBPluginDependency 461.IBPluginDependency 463.IBPluginDependency @@ -5156,9 +5378,11 @@ 488.IBPluginDependency 489.IBAttributePlaceholdersKey 489.IBPluginDependency + 490.IBAttributePlaceholdersKey 490.IBPluginDependency 491.IBAttributePlaceholdersKey 491.IBPluginDependency + 492.IBAttributePlaceholdersKey 492.IBPluginDependency 493.IBAttributePlaceholdersKey 493.IBPluginDependency @@ -5170,6 +5394,7 @@ 496.IBPluginDependency 497.IBAttributePlaceholdersKey 497.IBPluginDependency + 498.IBAttributePlaceholdersKey 498.IBPluginDependency 501.IBPluginDependency 502.IBPluginDependency @@ -5182,16 +5407,20 @@ 509.IBPluginDependency 510.IBPluginDependency 511.IBPluginDependency + 512.IBAttributePlaceholdersKey 512.IBPluginDependency 513.IBAttributePlaceholdersKey 513.IBPluginDependency + 514.IBAttributePlaceholdersKey 514.IBPluginDependency + 515.IBAttributePlaceholdersKey 515.IBPluginDependency 516.IBPluginDependency 517.IBPluginDependency 518.IBPluginDependency 519.IBPluginDependency 523.IBPluginDependency + 527.IBAttributePlaceholdersKey 527.IBPluginDependency 528.IBAttributePlaceholdersKey 528.IBPluginDependency @@ -5218,12 +5447,14 @@ 553.IBPluginDependency 554.IBAttributePlaceholdersKey 554.IBPluginDependency + 555.IBAttributePlaceholdersKey 555.IBPluginDependency 556.IBPluginDependency 557.IBPluginDependency 558.IBPluginDependency 559.IBPluginDependency 560.IBPluginDependency + 561.IBAttributePlaceholdersKey 561.IBPluginDependency 562.IBAttributePlaceholdersKey 562.IBPluginDependency @@ -5279,6 +5510,18 @@ 609.IBPluginDependency 610.IBPluginDependency 611.IBPluginDependency + 738.IBAttributePlaceholdersKey + 738.IBPluginDependency + 739.IBPluginDependency + 741.IBAttributePlaceholdersKey + 741.IBPluginDependency + 742.IBPluginDependency + 754.IBAttributePlaceholdersKey + 754.IBPluginDependency + 755.IBPluginDependency + 757.IBPluginDependency + 758.IBAttributePlaceholdersKey + 758.IBPluginDependency 99.IBAttributePlaceholdersKey 99.IBPluginDependency @@ -5303,9 +5546,9 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{326, 204}, {668, 368}} + {{130, 163}, {668, 368}} com.apple.InterfaceBuilder.CocoaPlugin - {{326, 204}, {668, 368}} + {{130, 163}, {668, 368}} {224.664, 10} @@ -5377,7 +5620,7 @@ ToolTip - Ignore Boot Configuration file (default: No) + Ignore Boot Configuration file (default: No). If set, then com.apple.Boot.plist will not be loaded during the boot, only defaults options will be set. com.apple.InterfaceBuilder.CocoaPlugin @@ -5408,6 +5651,14 @@ com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Sets the Time Out in seconds before default partition boots if no key is pressed + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -5435,7 +5686,7 @@ ToolTip - Use quiet boot mode (no messages or prompt) (default=No) + Use Wait to make the booter wait for a key press before it starts the mach kernel. Useful for debugging your boot configuration com.apple.InterfaceBuilder.CocoaPlugin @@ -5445,12 +5696,21 @@ ToolTip - U2V0cyB0aGUgZGVmYXVsdCBib290IHBhcnRpdGlvbiBoZCh4LHkpICAgICAgICAgICAgICAgICAgd2hl + U2V0IHRoZSBib290IHBhcnRpdGlvbnMgaGQoeCx5KSB0byBoaWRlICAgICAgICAgICAgICAgICAgd2hl cmUgJ3gnIGlzIHRoZSBkaXNrIG51bWJlciwgJ3knIHRoZSBwYXJ0aXRpb24gbnVtYmVyCg com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + U2V0IHRoZSBib290IHBhcnRpdGlvbnMgaGQoeCx5KSB0byBoaWRlICAgICAgICAgICAgICAgICAgd2hl +cmUgJ3gnIGlzIHRoZSBkaXNrIG51bWJlciwgJ3knIHRoZSBwYXJ0aXRpb24gbnVtYmVyCg + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -5458,12 +5718,19 @@ ToolTip - U2V0cyB0aGUgZGVmYXVsdCBib290IHBhcnRpdGlvbiBoZCh4LHkpICAgICAgICAgICAgICAgICAgd2hl -cmUgJ3gnIGlzIHRoZSBkaXNrIG51bWJlciwgJ3knIHRoZSBwYXJ0aXRpb24gbnVtYmVyCg + Sets the boot partitions "hd(x,y) MyVolumeName " where 'x' is the disk number, 'y' the partition number and MyVolumeName is the alias you want to give to this partition. (i.e: useful for renaming System Reserved boot partition for Windows 7) com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Sets the boot partitions "hd(x,y) MyVolumeName " where 'x' is the disk number, 'y' the partition number and MyVolumeName is the alias you want to give to this partition. (i.e: useful for renaming System Reserved boot partition for Windows 7) + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -5479,6 +5746,14 @@ com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Graphics Mode="WIDTHxHEIGHTxDEPTH@FREQ). Works only if you have a VESA 3.0 compliant card (default= No custom resolution is selected) + + com.apple.InterfaceBuilder.CocoaPlugin ToolTip @@ -5511,6 +5786,14 @@ com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Define the GFX card video ROM file that should be loaded at boot + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -5522,7 +5805,7 @@ ToolTip - Use the legacy grey apple logo (default=No) + Use the legacy (grey on white) apple logo (default=No) com.apple.InterfaceBuilder.CocoaPlugin @@ -5536,6 +5819,14 @@ com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Usage: rd=<BSD device name> (e.g. rd=disk0s2) | rd=*<IODeviceTree path> (e.g. rd=*/PCI0@0/CHN0@0/@0:1) + + com.apple.InterfaceBuilder.CocoaPlugin ToolTip @@ -5546,13 +5837,21 @@ com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Select a custom mach_kernel (/mach_kernel is used by default) + + com.apple.InterfaceBuilder.CocoaPlugin ToolTip ToolTip - Enable kernel debug mode flags + Enable kernel debug mode flags (i.e 0x0144). com.apple.InterfaceBuilder.CocoaPlugin @@ -5570,7 +5869,7 @@ ToolTip - Force physical cpus count (automatically detected by default) + Force physical cpus count (all cores in all cpus), automatically detected by default. Use this override only if autodetection doesn't work for your cpu. com.apple.InterfaceBuilder.CocoaPlugin @@ -5588,10 +5887,18 @@ ToolTip - Default kernel architecture boot mode (i386 | x86_64 | ppc). On intel platforms, select either i386 or x86_64 + Kernel architecture boot mode (i386 | x86_64 | ppc). On intel platforms, select either i386 or x86_64 com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Kernel architecture boot mode (i386 | x86_64 | ppc). On intel platforms, select either i386 or X86_64 + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -5604,23 +5911,55 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Enable kernel debug mode flags (i.e 0x0144). + + com.apple.InterfaceBuilder.CocoaPlugin ToolTip ToolTip - selects the io mask to filter for debug mode + o filtering mask associated with the debug mode. Warning: some io debug modes can crash your boot. com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Force physical cpus count (all cores in all cpus), automatically detected by default. Use this override only if autodetection doesn't work for your cpu. + + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Force busratio multiplier, such as CPUFreq=FSB freq x busratio (automatically detected by default) + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Use an alternate DSDT.aml file (default path: /DSDT.aml /Extra/DSDT.aml) + + com.apple.InterfaceBuilder.CocoaPlugin ToolTip @@ -5703,12 +6042,28 @@ com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Use an alternate smbios.plist file (default path: /smbios.plist /Extra/smbios.plist) + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Use an alternate sleepimage file (default path is /private/var/vm/sleepimage) + + com.apple.InterfaceBuilder.CocoaPlugin ToolTip @@ -5798,7 +6153,7 @@ ToolTip - Force displaying the partition selection menu (default=No) + Force to boot in safe mode. Useful in certains situations (i.e: when one kexts hangs the system) com.apple.InterfaceBuilder.CocoaPlugin @@ -5852,6 +6207,46 @@ ToolTip ToolTip + + Set the SystemId from which will be generated the Hardware UUID. If no values are set, then the BIOS DMI UUID is taken as default, if no BIOS DMI UUID is found, then a fixed value is set. + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Set the SystemId from which will be generated the Hardware UUID. If no values are set, then the BIOS DMI UUID is taken as default, if no BIOS DMI UUID is found, then a fixed value is set. + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Swap disks indexes 0<->1, use this option if your disk sequence in osx does not match the chameleon boot disk sequence + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Sets the boot partitions "hd(x,y) MyVolumeName " where 'x' is the disk number, 'y' the partition number and MyVolumeName is the alias you want to give to this partition. (i.e: useful for renaming System Reserved boot partition for Windows 7) + + + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip Click on a partition to make it the default boot partition. @@ -5875,7 +6270,7 @@ - 737 + 763 @@ -5922,6 +6317,8 @@ mSMBIOSDefaults mSMBIOSFile mSMBIOSFileText + mSystemId + mSystemIdText mWake mWakeImage mWakeImageText @@ -5951,7 +6348,9 @@ NSButton NSTextField NSButton + NSTextField NSButton + NSButton NSTextField @@ -6034,6 +6433,8 @@ YES YES + mBootConfigPath + mBootConfigPathText mDefaultPartition mDefaultPartitionText mFreezeParts @@ -6050,7 +6451,9 @@ NSButton NSTextField NSButton + NSTextField NSButton + NSButton NSTextField NSButton NSButton