Index: trunk/ChameleonPrefPane/Sources/process.cpp =================================================================== --- trunk/ChameleonPrefPane/Sources/process.cpp (revision 13) +++ trunk/ChameleonPrefPane/Sources/process.cpp (revision 14) @@ -35,12 +35,13 @@ /** * return the image index corresponding to a fs: */ -int PartitionInfo::indexFromFs() const +int PartitionInfo::imageIndexFromFs() const { if (_fsType.find("Apple")!=std::string::npos || _fsType.find("HFS")!=std::string::npos) return 0; // Windows else if (_fsType.find("Windows")!=std::string::npos || + _fsType.find("Microsoft")!=std::string::npos || _fsType.find("NTFS")!=std::string::npos || _fsType.find("FAT")!=std::string::npos) return 1; // Windows Index: trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.h =================================================================== --- trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.h (revision 13) +++ trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.h (revision 14) @@ -33,6 +33,7 @@ NSImage * mWindowsImage; NSImage * mLinuxImage; NSImage * mUnknownImage; + NSImage * mCDROMImage; NSMutableDictionary *mOptionsDict; NSString * mOptionsPlistPath; } Index: trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.mm =================================================================== --- trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.mm (revision 13) +++ trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.mm (revision 14) @@ -80,28 +80,37 @@ img = [[NSImage alloc] initWithContentsOfFile: sRes]; return img; } +- (bool) loadOptionsDict +{ + + NSBundle * b = [NSBundle bundleForClass:[self class]]; + if(mOptionsPlistPath !=nil) [mOptionsDict dealloc]; + mOptionsPlistPath = [[NSString alloc] initWithString: [b pathForResource: @"Data" ofType:@"plist"]]; + NSMutableDictionary * d = [NSMutableDictionary dictionaryWithContentsOfFile: mOptionsPlistPath]; + if(mOptionsDict !=nil) [mOptionsDict dealloc]; + mOptionsDict = [[NSMutableDictionary alloc] initWithCapacity:64 ]; + [mOptionsDict addEntriesFromDictionary: d]; + + if (d != nil) [d dealloc]; + if (b != nil) [b dealloc]; + + return (mOptionsDict != nil) ? true : false; +} //-------------------------------------------------------------------------- - (id) init { self = [super init]; // set the image to display the current file being played - mMacOSXImage = [self getImageResource: @"MacOSX" ofType: @"tiff"]; - mWindowsImage = [self getImageResource: @"Windows" ofType: @"tiff"]; - mLinuxImage = [self getImageResource: @"Linux" ofType: @"tiff"]; - mUnknownImage = [self getImageResource: @"Unknown" ofType: @"tiff"]; + mMacOSXImage = [self getImageResource: @"MacOSX" ofType: @"png"]; + mWindowsImage = [self getImageResource: @"Windows" ofType: @"png"]; + mLinuxImage = [self getImageResource: @"Linux" ofType: @"png"]; + mCDROMImage = [self getImageResource: @"CDROM" ofType: @"png"]; + mUnknownImage = [self getImageResource: @"Chameleon" ofType: @"tiff"]; - // Retrieve the Info.plist file info - NSBundle * b = [NSBundle bundleForClass:[self class]]; - // Careful here : we must create copies of the path and dict for later use - // other wise it would be released... - mOptionsPlistPath = [[NSString alloc] initWithString: [b pathForResource: @"Data" ofType:@"plist"]]; - NSMutableDictionary * d = [NSMutableDictionary dictionaryWithContentsOfFile: mOptionsPlistPath]; - mOptionsDict = [[NSMutableDictionary alloc] initWithCapacity:64 ]; - [mOptionsDict addEntriesFromDictionary: d]; - - if (!mOptionsDict) NSLog(@"Error reading plist: %@", mOptionsPlistPath); + // Retrieve the Data.plist config + if (![self loadOptionsDict]) NSLog(@"Error reading plist: %@", mOptionsPlistPath); return self; } @@ -251,7 +260,7 @@ if(doSave) { - if (! [ mOptionsDict fileIsImmutable] ) + if ( [self loadOptionsDict] ) { if (isrc==0 && idst==1) [mOptionsDict setObject: [NSNumber numberWithBool: val ? true : false] forKey:@"swapHD01"]; @@ -342,7 +351,7 @@ if (tableColumn == mPartitionImgColumn) { - switch(partInfo[row].indexFromFs()) + switch(partInfo[row].imageIndexFromFs()) { case 0: ret = mMacOSXImage; Index: trunk/ChameleonPrefPane/Sources/process.h =================================================================== --- trunk/ChameleonPrefPane/Sources/process.h (revision 13) +++ trunk/ChameleonPrefPane/Sources/process.h (revision 14) @@ -67,7 +67,7 @@ return buf; } - int indexFromFs() const; + int imageIndexFromFs() const; protected: void removeSpaces(std::string & s); Index: trunk/ChameleonPrefPane/ChameleonPrefPane.xcodeproj/project.pbxproj =================================================================== --- trunk/ChameleonPrefPane/ChameleonPrefPane.xcodeproj/project.pbxproj (revision 13) +++ trunk/ChameleonPrefPane/ChameleonPrefPane.xcodeproj/project.pbxproj (revision 14) @@ -18,13 +18,13 @@ 01C4E1F31106D7AD00F6D89D /* process.h in Headers */ = {isa = PBXBuildFile; fileRef = 01C4E1ED1106D7AD00F6D89D /* process.h */; }; 01C4E1F41106D7AD00F6D89D /* property_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 01C4E1EE1106D7AD00F6D89D /* property_list.cpp */; }; 01C4E1F51106D7AD00F6D89D /* property_list.h in Headers */ = {isa = PBXBuildFile; fileRef = 01C4E1EF1106D7AD00F6D89D /* property_list.h */; }; - 01C4E1FD1106D7C400F6D89D /* cdrom.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 01C4E1F61106D7C400F6D89D /* cdrom.tiff */; }; 01C4E1FE1106D7C400F6D89D /* Chameleon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 01C4E1F71106D7C400F6D89D /* Chameleon.icns */; }; 01C4E1FF1106D7C400F6D89D /* Chameleon.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 01C4E1F81106D7C400F6D89D /* Chameleon.tiff */; }; 01C4E2001106D7C400F6D89D /* Data.plist in Resources */ = {isa = PBXBuildFile; fileRef = 01C4E1F91106D7C400F6D89D /* Data.plist */; }; - 01C4E2011106D7C400F6D89D /* Linux.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 01C4E1FA1106D7C400F6D89D /* Linux.tiff */; }; - 01C4E2021106D7C400F6D89D /* MacOSX.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 01C4E1FB1106D7C400F6D89D /* MacOSX.tiff */; }; - 01C4E2031106D7C400F6D89D /* Windows.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 01C4E1FC1106D7C400F6D89D /* Windows.tiff */; }; + 01CB09461107640700A56FC3 /* CDROM.png in Resources */ = {isa = PBXBuildFile; fileRef = 01CB09451107640700A56FC3 /* CDROM.png */; }; + 01CB09631107654A00A56FC3 /* Linux.png in Resources */ = {isa = PBXBuildFile; fileRef = 01CB09601107654A00A56FC3 /* Linux.png */; }; + 01CB09641107654A00A56FC3 /* MacOSX.png in Resources */ = {isa = PBXBuildFile; fileRef = 01CB09611107654A00A56FC3 /* MacOSX.png */; }; + 01CB09651107654A00A56FC3 /* Windows.png in Resources */ = {isa = PBXBuildFile; fileRef = 01CB09621107654A00A56FC3 /* Windows.png */; }; 8D202CEA0486D31800D8A456 /* StartupPrefPane_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = 32DBCFA20370C41700C91783 /* StartupPrefPane_Prefix.pch */; }; 8D202CED0486D31800D8A456 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; 8D202CEF0486D31800D8A456 /* Chameleon.xib in Resources */ = {isa = PBXBuildFile; fileRef = F506C042013D9D8C01CA16C8 /* Chameleon.xib */; }; @@ -44,13 +44,13 @@ 01C4E1ED1106D7AD00F6D89D /* process.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = process.h; path = ../../../../../devl/OSX/chameleonApplications/trunk/ChameleonPrefPane/Sources/process.h; sourceTree = SOURCE_ROOT; }; 01C4E1EE1106D7AD00F6D89D /* property_list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = property_list.cpp; path = ../../../../../devl/OSX/chameleonApplications/trunk/ChameleonPrefPane/Sources/property_list.cpp; sourceTree = SOURCE_ROOT; }; 01C4E1EF1106D7AD00F6D89D /* property_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = property_list.h; path = ../../../../../devl/OSX/chameleonApplications/trunk/ChameleonPrefPane/Sources/property_list.h; sourceTree = SOURCE_ROOT; }; - 01C4E1F61106D7C400F6D89D /* cdrom.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = cdrom.tiff; path = ../../../../../devl/OSX/chameleonApplications/trunk/ChameleonPrefPane/Resources/cdrom.tiff; sourceTree = SOURCE_ROOT; }; 01C4E1F71106D7C400F6D89D /* Chameleon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = Chameleon.icns; path = ../../../../../devl/OSX/chameleonApplications/trunk/ChameleonPrefPane/Resources/Chameleon.icns; sourceTree = SOURCE_ROOT; }; 01C4E1F81106D7C400F6D89D /* Chameleon.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = Chameleon.tiff; path = ../../../../../devl/OSX/chameleonApplications/trunk/ChameleonPrefPane/Resources/Chameleon.tiff; sourceTree = SOURCE_ROOT; }; 01C4E1F91106D7C400F6D89D /* Data.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Data.plist; path = ../../../../../devl/OSX/chameleonApplications/trunk/ChameleonPrefPane/Resources/Data.plist; sourceTree = SOURCE_ROOT; }; - 01C4E1FA1106D7C400F6D89D /* Linux.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = Linux.tiff; path = ../../../../../devl/OSX/chameleonApplications/trunk/ChameleonPrefPane/Resources/Linux.tiff; sourceTree = SOURCE_ROOT; }; - 01C4E1FB1106D7C400F6D89D /* MacOSX.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = MacOSX.tiff; path = ../../../../../devl/OSX/chameleonApplications/trunk/ChameleonPrefPane/Resources/MacOSX.tiff; sourceTree = SOURCE_ROOT; }; - 01C4E1FC1106D7C400F6D89D /* Windows.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = Windows.tiff; path = ../../../../../devl/OSX/chameleonApplications/trunk/ChameleonPrefPane/Resources/Windows.tiff; sourceTree = SOURCE_ROOT; }; + 01CB09451107640700A56FC3 /* CDROM.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = CDROM.png; path = ../../../../../devl/OSX/chameleonApplications/trunk/ChameleonPrefPane/Resources/CDROM.png; sourceTree = SOURCE_ROOT; }; + 01CB09601107654A00A56FC3 /* Linux.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Linux.png; path = ../../../../../devl/OSX/chameleonApplications/trunk/ChameleonPrefPane/Resources/Linux.png; sourceTree = SOURCE_ROOT; }; + 01CB09611107654A00A56FC3 /* MacOSX.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = MacOSX.png; path = ../../../../../devl/OSX/chameleonApplications/trunk/ChameleonPrefPane/Resources/MacOSX.png; sourceTree = SOURCE_ROOT; }; + 01CB09621107654A00A56FC3 /* Windows.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Windows.png; path = ../../../../../devl/OSX/chameleonApplications/trunk/ChameleonPrefPane/Resources/Windows.png; sourceTree = SOURCE_ROOT; }; 089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; 089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; @@ -102,13 +102,13 @@ 089C167CFE841241C02AAC07 /* Resources */ = { isa = PBXGroup; children = ( - 01C4E1F61106D7C400F6D89D /* cdrom.tiff */, + 01CB09601107654A00A56FC3 /* Linux.png */, + 01CB09611107654A00A56FC3 /* MacOSX.png */, + 01CB09621107654A00A56FC3 /* Windows.png */, + 01CB09451107640700A56FC3 /* CDROM.png */, 01C4E1F71106D7C400F6D89D /* Chameleon.icns */, 01C4E1F81106D7C400F6D89D /* Chameleon.tiff */, 01C4E1F91106D7C400F6D89D /* Data.plist */, - 01C4E1FA1106D7C400F6D89D /* Linux.tiff */, - 01C4E1FB1106D7C400F6D89D /* MacOSX.tiff */, - 01C4E1FC1106D7C400F6D89D /* Windows.tiff */, 8D202CF70486D31800D8A456 /* Info.plist */, 089C167DFE841241C02AAC07 /* InfoPlist.strings */, F506C042013D9D8C01CA16C8 /* Chameleon.xib */, @@ -232,13 +232,13 @@ 8D202CEF0486D31800D8A456 /* Chameleon.xib in Resources */, 01A40F75110550F4002A74CD /* CHANGES in Resources */, 0196529B11066CC0009E8F2F /* README in Resources */, - 01C4E1FD1106D7C400F6D89D /* cdrom.tiff in Resources */, 01C4E1FE1106D7C400F6D89D /* Chameleon.icns in Resources */, 01C4E1FF1106D7C400F6D89D /* Chameleon.tiff in Resources */, 01C4E2001106D7C400F6D89D /* Data.plist in Resources */, - 01C4E2011106D7C400F6D89D /* Linux.tiff in Resources */, - 01C4E2021106D7C400F6D89D /* MacOSX.tiff in Resources */, - 01C4E2031106D7C400F6D89D /* Windows.tiff in Resources */, + 01CB09461107640700A56FC3 /* CDROM.png in Resources */, + 01CB09631107654A00A56FC3 /* Linux.png in Resources */, + 01CB09641107654A00A56FC3 /* MacOSX.png in Resources */, + 01CB09651107654A00A56FC3 /* Windows.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; Index: trunk/ChameleonPrefPane/bin/OSX105/Chameleon.prefPane.zip =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/ChameleonPrefPane/bin/OSX106/Chameleon.prefPane.zip =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/ChameleonPrefPane/bin/version =================================================================== --- trunk/ChameleonPrefPane/bin/version (revision 13) +++ trunk/ChameleonPrefPane/bin/version (revision 14) @@ -1 +1 @@ -1.0b7-2 +1.0b8 Index: trunk/ChameleonPrefPane/Resources/MacOSX.tiff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/ChameleonPrefPane/Resources/Windows.tiff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/ChameleonPrefPane/Resources/Linux.tiff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/ChameleonPrefPane/Resources/cdrom.tiff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: trunk/ChameleonPrefPane/Resources/Linux.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/ChameleonPrefPane/Resources/Linux.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/ChameleonPrefPane/Resources/CDROM.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/ChameleonPrefPane/Resources/CDROM.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/ChameleonPrefPane/Resources/MacOSX.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/ChameleonPrefPane/Resources/MacOSX.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/ChameleonPrefPane/Resources/Windows.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: trunk/ChameleonPrefPane/Resources/Windows.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: trunk/ChameleonPrefPane/README =================================================================== --- trunk/ChameleonPrefPane/README (revision 13) +++ trunk/ChameleonPrefPane/README (revision 14) @@ -14,6 +14,10 @@ you can insert a 'forceBootConfigPath' key with your com.apple.Boot,plist file path: So if automatic detection does not work, then force your com.apple.Boot.plist path here. - +Troubleshooting + If the panel sees your com.apple.boot.plist in the status box, but the boot selection + seem to have no effect, it might be that you have more than one bootConfig file + and that the chameleon booter does not load the one that the panel selected, + see upper to force the bootConfig to match the one loaded by the chameleon booter. \ No newline at end of file Index: trunk/ChameleonPrefPane/English.lproj/Chameleon.xib =================================================================== --- trunk/ChameleonPrefPane/English.lproj/Chameleon.xib (revision 13) +++ trunk/ChameleonPrefPane/English.lproj/Chameleon.xib (revision 14) @@ -12,7 +12,7 @@ YES - + YES @@ -85,7 +85,7 @@ 72482368 138544128 - V1.0 b7, by Rekursor + V1.0 b8, by Rekursor LucidaGrande 11 @@ -1026,6 +1026,22 @@ 197 + + + mSwapHD01 + + + + 198 + + + + mSwapHD02 + + + + 199 + @@ -1435,9 +1451,9 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{133, 127}, {668, 368}} + {{134, 127}, {668, 368}} com.apple.InterfaceBuilder.CocoaPlugin - {{133, 127}, {668, 368}} + {{134, 127}, {668, 368}} {224.664, 10} @@ -1525,7 +1541,7 @@ - 197 + 199