Chameleon Applications

Chameleon Applications Commit Details

Date:2010-01-20 18:03:07 (10 years 9 months ago)
Author:Rekursor
Commit:14
Parents: 13
Message:Updated png images, courtesy of DieBuche. Fixed regression on swap disks would not be reflected anymore. Added CREDITS file. Added troubleshooting section in README. Generate 1.0b8 binaries
Changes:
D/trunk/ChameleonPrefPane/Resources/Windows.tiff
D/trunk/ChameleonPrefPane/Resources/MacOSX.tiff
D/trunk/ChameleonPrefPane/Resources/Linux.tiff
D/trunk/ChameleonPrefPane/Resources/cdrom.tiff
A/trunk/ChameleonPrefPane/Resources/Windows.png
A/trunk/ChameleonPrefPane/Resources/MacOSX.png
A/trunk/ChameleonPrefPane/Resources/Linux.png
A/trunk/ChameleonPrefPane/Resources/CDROM.png
M/trunk/ChameleonPrefPane/Sources/process.cpp
M/trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.h
M/trunk/ChameleonPrefPane/Sources/process.h
M/trunk/ChameleonPrefPane/English.lproj/Chameleon.xib
M/trunk/ChameleonPrefPane/README
M/trunk/ChameleonPrefPane/bin/version
M/trunk/ChameleonPrefPane/ChameleonPrefPane.xcodeproj/project.pbxproj
M/trunk/ChameleonPrefPane/bin/OSX105/Chameleon.prefPane.zip
M/trunk/ChameleonPrefPane/bin/OSX106/Chameleon.prefPane.zip
M/trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.mm

File differences

trunk/ChameleonPrefPane/Sources/process.cpp
3535
3636
3737
38
38
3939
4040
4141
4242
4343
44
4445
4546
4647
/**
* 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
trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.h
3333
3434
3535
36
3637
3738
3839
NSImage *mWindowsImage;
NSImage *mLinuxImage;
NSImage *mUnknownImage;
NSImage *mCDROMImage;
NSMutableDictionary *mOptionsDict;
NSString * mOptionsPlistPath;
}
trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.mm
8080
8181
8282
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
8399
84100
85101
86102
87103
88104
89
90
91
92
105
106
107
108
109
93110
94111
95
96
97
98
99
100
101
102
103
104
112
113
105114
106115
107116
......
251260
252261
253262
254
263
255264
256265
257266
......
342351
343352
344353
345
354
346355
347356
348357
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;
}
if(doSave)
{
if (! [ mOptionsDict fileIsImmutable] )
if ( [self loadOptionsDict] )
{
if (isrc==0 && idst==1)
[mOptionsDict setObject: [NSNumber numberWithBool: val ? true : false] forKey:@"swapHD01"];
if (tableColumn == mPartitionImgColumn)
{
switch(partInfo[row].indexFromFs())
switch(partInfo[row].imageIndexFromFs())
{
case 0:
ret = mMacOSXImage;
trunk/ChameleonPrefPane/Sources/process.h
6767
6868
6969
70
70
7171
7272
7373
return buf;
}
int indexFromFs() const;
int imageIndexFromFs() const;
protected:
void removeSpaces(std::string & s);
trunk/ChameleonPrefPane/ChameleonPrefPane.xcodeproj/project.pbxproj
1818
1919
2020
21
2221
2322
2423
25
26
27
24
25
26
27
2828
2929
3030
......
4444
4545
4646
47
4847
4948
5049
51
52
53
50
51
52
53
5454
5555
5656
......
102102
103103
104104
105
105
106
107
108
106109
107110
108111
109
110
111
112112
113113
114114
......
232232
233233
234234
235
236235
237236
238237
239
240
241
238
239
240
241
242242
243243
244244
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 */; };
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 = "<absolute>"; };
089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
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 */,
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;
};
trunk/ChameleonPrefPane/bin/version
1
1
1.0b7-2
1.0b8
trunk/ChameleonPrefPane/README
1414
1515
1616
17
17
18
19
20
21
1822
1923
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.
trunk/ChameleonPrefPane/English.lproj/Chameleon.xib
1212
1313
1414
15
15
1616
1717
1818
......
8585
8686
8787
88
88
8989
9090
9191
......
10261026
10271027
10281028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
10291045
10301046
10311047
......
14351451
14361452
14371453
1438
1454
14391455
1440
1456
14411457
14421458
14431459
......
15251541
15261542
15271543
1528
1544
15291545
15301546
15311547
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="174"/>
<integer value="6"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="98357325">
<int key="NSCellFlags">72482368</int>
<int key="NSCellFlags2">138544128</int>
<string key="NSContents">V1.0 b7, by Rekursor</string>
<string key="NSContents">V1.0 b8, by Rekursor</string>
<object class="NSFont" key="NSSupport" id="26">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">11</double>
</object>
<int key="connectionID">197</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">mSwapHD01</string>
<reference key="source" ref="513945847"/>
<reference key="destination" ref="1033017990"/>
</object>
<int key="connectionID">198</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">mSwapHD02</string>
<reference key="source" ref="513945847"/>
<reference key="destination" ref="249705860"/>
</object>
<int key="connectionID">199</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
</object>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{133, 127}, {668, 368}}</string>
<string>{{134, 127}, {668, 368}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{133, 127}, {668, 368}}</string>
<string>{{134, 127}, {668, 368}}</string>
<integer value="1"/>
<integer value="1"/>
<string>{224.664, 10}</string>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">197</int>
<int key="maxID">199</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">

Archive Download the corresponding diff file

Revision: 14