adium 5014:9cd3ed862ded: Get rid of KNShelfSplitView and Advance...
commits at adium.im
commits at adium.im
Tue Aug 21 00:49:21 UTC 2012
details: http://hg.adium.im/adium/rev/9cd3ed862ded
revision: 5014:9cd3ed862ded
branch: adium-1.6
author: Frank Dowsett <wixardy at adium.im>
date: Sun Aug 19 20:22:36 2012 -0400
Get rid of KNShelfSplitView and AdvancedPreferences.xib
Subject: adium 5015:787b93a32710: -compositeToPoint is deprecated, change to -drawAtPoint. There are still some in PSMTabs that are being warned about.
details: http://hg.adium.im/adium/rev/787b93a32710
revision: 5015:787b93a32710
branch: adium-1.6
author: Frank Dowsett <wixardy at adium.im>
date: Sun Aug 19 20:40:30 2012 -0400
-compositeToPoint is deprecated, change to -drawAtPoint. There are still some in PSMTabs that are being warned about.
Subject: adium 5016:5b434bbcd80c: Avoid making AIPreferenceContainers when reading preferences for contacts that don't have any. Also cut down the size of each AIPreferenceContainer.
details: http://hg.adium.im/adium/rev/5b434bbcd80c
revision: 5016:5b434bbcd80c
branch: adium-1.6
author: Frank Dowsett <wixardy at adium.im>
date: Mon Aug 20 20:30:39 2012 -0400
Avoid making AIPreferenceContainers when reading preferences for contacts that don't have any. Also cut down the size of each AIPreferenceContainer.
diffs (truncated from 2121 to 1000 lines):
diff -r 3f57100aabf9 -r 5b434bbcd80c Adium.xcodeproj/project.pbxproj
--- a/Adium.xcodeproj/project.pbxproj Mon Aug 29 17:56:00 2011 +0300
+++ b/Adium.xcodeproj/project.pbxproj Mon Aug 20 20:30:39 2012 -0400
@@ -297,7 +297,6 @@
344838B50BC860770083723B /* AIAccountListPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B8C3C980825EAF9004B9F45 /* AIAccountListPreferences.m */; };
344839380BC862780083723B /* pref-messages.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 34D8336707CBD807006466F2 /* pref-messages.tiff */; };
3448399A0BC8644C0083723B /* AIAdvancedPreferencesPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 344839980BC8644C0083723B /* AIAdvancedPreferencesPlugin.m */; };
- 34483A990BC869680083723B /* AdvancedPreferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = 34483A980BC869680083723B /* AdvancedPreferences.xib */; };
3448758E06D1EBDF00DA778C /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3448758D06D1EBDF00DA778C /* Cocoa.framework */; };
3448761406D1EC0C00DA778C /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3448758D06D1EBDF00DA778C /* Cocoa.framework */; };
344D974F0C3C442600498CA1 /* InstantMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 344D97410C3C442500498CA1 /* InstantMessage.m */; };
@@ -956,9 +955,7 @@
34F144430BA8FF3C000473DE /* EmoticonNames.strings in Resources */ = {isa = PBXBuildFile; fileRef = 34F144420BA8FF3B000473DE /* EmoticonNames.strings */; };
34F17FCE0F8EAC34009C5A39 /* AIListOutlineView+Drawing.h in Headers */ = {isa = PBXBuildFile; fileRef = 34F17FCC0F8EAC34009C5A39 /* AIListOutlineView+Drawing.h */; settings = {ATTRIBUTES = (Private, ); }; };
34F17FCF0F8EAC34009C5A39 /* AIListOutlineView+Drawing.m in Sources */ = {isa = PBXBuildFile; fileRef = 34F17FCD0F8EAC34009C5A39 /* AIListOutlineView+Drawing.m */; };
- 34F312930ADC3FE800A4310E /* KNShelfSplitView.h in Headers */ = {isa = PBXBuildFile; fileRef = 348B25C70A50FBF300B2B972 /* KNShelfSplitView.h */; settings = {ATTRIBUTES = (Public, ); }; };
34F312BD0ADC43CA00A4310E /* xtras_duck.png in Resources */ = {isa = PBXBuildFile; fileRef = 34F312BC0ADC43CA00A4310E /* xtras_duck.png */; };
- 34F312F00ADC476300A4310E /* KNShelfSplitView.m in Sources */ = {isa = PBXBuildFile; fileRef = 348B25C60A50FBF300B2B972 /* KNShelfSplitView.m */; };
34F4677A080F49C5007800AB /* Safari.scpt in Resources */ = {isa = PBXBuildFile; fileRef = 34F46778080F49C5007800AB /* Safari.scpt */; };
34F4677B080F49C5007800AB /* Safari.png in Resources */ = {isa = PBXBuildFile; fileRef = 34F46779080F49C5007800AB /* Safari.png */; };
34F46785080F7FFB007800AB /* ESSafariLinkToolbarItemPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 34F46783080F7FFB007800AB /* ESSafariLinkToolbarItemPlugin.m */; };
@@ -2456,7 +2453,6 @@
344836910BC8510B0083723B /* SS_PreferencePaneProtocol.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = SS_PreferencePaneProtocol.h; path = "Frameworks/Adium Framework/Source/SS_PreferencePaneProtocol.h"; sourceTree = "<group>"; };
344839970BC8644C0083723B /* AIAdvancedPreferencesPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIAdvancedPreferencesPlugin.h; path = Source/AIAdvancedPreferencesPlugin.h; sourceTree = "<group>"; };
344839980BC8644C0083723B /* AIAdvancedPreferencesPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIAdvancedPreferencesPlugin.m; path = Source/AIAdvancedPreferencesPlugin.m; sourceTree = "<group>"; };
- 34483A980BC869680083723B /* AdvancedPreferences.xib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xib; name = AdvancedPreferences.xib; path = Resources/AdvancedPreferences.xib; sourceTree = "<group>"; };
3448758D06D1EBDF00DA778C /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
3449485508E9FCCD0054FF57 /* AIContactMenu.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = AIContactMenu.m; path = "Frameworks/Adium Framework/Source/AIContactMenu.m"; sourceTree = "<group>"; };
3449485608E9FCCD0054FF57 /* AIContactMenu.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AIContactMenu.h; path = "Frameworks/Adium Framework/Source/AIContactMenu.h"; sourceTree = "<group>"; };
@@ -2954,8 +2950,6 @@
3489506A0CDE0CC5002FEB4D /* IKRecentPicture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IKRecentPicture.h; path = Source/IKRecentPicture.h; sourceTree = "<group>"; };
348A8A190629A68C00FC6E03 /* en */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xib; name = en; path = "Plugins/Purple Service/Resources/en.lproj/ESPurpleJabberAccountView.xib"; sourceTree = "<group>"; };
348A901A062A13AB00FC6E03 /* en */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xib; name = en; path = "Plugins/Purple Service/Resources/en.lproj/ESPurpleYahooAccountView.xib"; sourceTree = "<group>"; };
- 348B25C60A50FBF300B2B972 /* KNShelfSplitView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = KNShelfSplitView.m; path = Source/KNShelfSplitView.m; sourceTree = "<group>"; };
- 348B25C70A50FBF300B2B972 /* KNShelfSplitView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = KNShelfSplitView.h; path = Source/KNShelfSplitView.h; sourceTree = "<group>"; };
348C47150D3B20BE00FB6E7A /* AIMessageWindowOutgoingScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AIMessageWindowOutgoingScrollView.h; path = Source/AIMessageWindowOutgoingScrollView.h; sourceTree = "<group>"; };
348C47160D3B20BE00FB6E7A /* AIMessageWindowOutgoingScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AIMessageWindowOutgoingScrollView.m; path = Source/AIMessageWindowOutgoingScrollView.m; sourceTree = "<group>"; };
348D8D1A06CC079F00449EBB /* ESZephyrService.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = ESZephyrService.m; path = "Plugins/Purple Service/ESZephyrService.m"; sourceTree = "<group>"; };
@@ -6234,8 +6228,6 @@
isa = PBXGroup;
children = (
34D834CD07CBE7A3006466F2 /* Text field for previewing font preferences */,
- 348B25C70A50FBF300B2B972 /* KNShelfSplitView.h */,
- 348B25C60A50FBF300B2B972 /* KNShelfSplitView.m */,
);
name = "External Sources";
sourceTree = "<group>";
@@ -8407,7 +8399,6 @@
3474DFFF082550FD00BF30F0 /* Credits.rtf */,
34107B5509E992DA001CC042 /* GuestAccountWindow.xib */,
34F849520A4AEFA00002A017 /* LogFileUpgrade.xib */,
- 34483A980BC869680083723B /* AdvancedPreferences.xib */,
);
name = "About Box";
sourceTree = "<group>";
@@ -9005,7 +8996,6 @@
34DC8B030A7EEEF7003E1636 /* ESFileWrapperExtension.h in Headers */,
34DC8B0A0A7EEEF7003E1636 /* JVFontPreviewField.h in Headers */,
3482E0F50AB5064E00471992 /* AIAdiumProtocol.h in Headers */,
- 34F312930ADC3FE800A4310E /* KNShelfSplitView.h in Headers */,
11CA00100C35EC5100A6BB8D /* SS_PreferencePaneProtocol.h in Headers */,
34A88E190C7A26E1006EB7D4 /* AIPasswordPromptController.h in Headers */,
347933F30C861017007ADCAA /* AIColorStringTransformer.h in Headers */,
@@ -9634,7 +9624,6 @@
117D6DC00BC5F0C40080D02B /* msg-request-attention.tiff in Resources */,
344838690BC85EF70083723B /* AccountListPreferences.xib in Resources */,
344839380BC862780083723B /* pref-messages.tiff in Resources */,
- 34483A990BC869680083723B /* AdvancedPreferences.xib in Resources */,
07C6EA890C06676400B79CBD /* AdiumHelp in Resources */,
0CAC6A140C0C657A0090AE95 /* Adium.sdef in Resources */,
C4D29CC80C3C2E49001545A2 /* ICImport.xib in Resources */,
@@ -10487,7 +10476,6 @@
34DC8B020A7EEEF7003E1636 /* ESFileTransfer.m in Sources */,
34DC8B040A7EEEF7003E1636 /* ESFileWrapperExtension.m in Sources */,
34DC8B090A7EEEF7003E1636 /* JVFontPreviewField.m in Sources */,
- 34F312F00ADC476300A4310E /* KNShelfSplitView.m in Sources */,
34A88E180C7A26E0006EB7D4 /* AIPasswordPromptController.m in Sources */,
347933F40C861017007ADCAA /* AIColorStringTransformer.m in Sources */,
349195660C9662AA00595A04 /* AIListBookmark.m in Sources */,
diff -r 3f57100aabf9 -r 5b434bbcd80c Frameworks/AIUtilities Framework/Source/AIImageAdditions.m
--- a/Frameworks/AIUtilities Framework/Source/AIImageAdditions.m Mon Aug 29 17:56:00 2011 +0300
+++ b/Frameworks/AIUtilities Framework/Source/AIImageAdditions.m Mon Aug 20 20:30:39 2012 -0400
@@ -129,7 +129,7 @@
NSRectFill(NSMakeRect(0, 0, size.width, size.height));
// Draw the image
- [self compositeToPoint:NSZeroPoint operation:NSCompositeSourceOver];
+ [self drawAtPoint:NSZeroPoint fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
// We're done drawing
[tempImage unlockFocus];
diff -r 3f57100aabf9 -r 5b434bbcd80c Frameworks/AIUtilities Framework/Source/AIImageDrawingAdditions.m
--- a/Frameworks/AIUtilities Framework/Source/AIImageDrawingAdditions.m Mon Aug 29 17:56:00 2011 +0300
+++ b/Frameworks/AIUtilities Framework/Source/AIImageDrawingAdditions.m Mon Aug 20 20:30:39 2012 -0400
@@ -51,7 +51,7 @@
}
// Draw and shift
- [self compositeToPoint:destRect.origin fromRect:sourceRect operation:NSCompositeSourceOver];
+ [self drawAtPoint:destRect.origin fromRect:sourceRect operation:NSCompositeSourceOver fraction:1.0];
destRect.origin.x += destRect.size.width;
}
diff -r 3f57100aabf9 -r 5b434bbcd80c Frameworks/Adium Framework/Source/ESFileTransfer.m
--- a/Frameworks/Adium Framework/Source/ESFileTransfer.m Mon Aug 29 17:56:00 2011 +0300
+++ b/Frameworks/Adium Framework/Source/ESFileTransfer.m Mon Aug 20 20:30:39 2012 -0400
@@ -378,7 +378,7 @@
[iconImage lockFocus];
- [systemIcon compositeToPoint:NSZeroPoint operation:NSCompositeSourceOver];
+ [systemIcon drawAtPoint:NSZeroPoint fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
CGFloat line = ((NSWidth(bottomRight) / 15) + ((NSHeight(bottomRight) / 15) / 2));
NSRect circleRect = NSMakeRect(NSMinX(bottomRight),
diff -r 3f57100aabf9 -r 5b434bbcd80c Plugins/Dual Window Interface/AIMessageWindowController.m
--- a/Plugins/Dual Window Interface/AIMessageWindowController.m Mon Aug 29 17:56:00 2011 +0300
+++ b/Plugins/Dual Window Interface/AIMessageWindowController.m Mon Aug 20 20:30:39 2012 -0400
@@ -1007,7 +1007,7 @@
NSPoint tabOrigin = [tabView frame].origin;
tabOrigin.x += 10;
tabOrigin.y += 13;
- [tabViewImage compositeToPoint:tabOrigin operation:NSCompositeSourceOver];
+ [tabViewImage drawAtPoint:tabOrigin fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
[viewImage unlockFocus];
//draw over where the tab bar would usually be
diff -r 3f57100aabf9 -r 5b434bbcd80c Resources/AdvancedPreferences.xib
--- a/Resources/AdvancedPreferences.xib Mon Aug 29 17:56:00 2011 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,626 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
- <data>
- <int key="IBDocument.SystemTarget">1060</int>
- <string key="IBDocument.SystemVersion">11D50b</string>
- <string key="IBDocument.InterfaceBuilderVersion">2182</string>
- <string key="IBDocument.AppKitVersion">1138.32</string>
- <string key="IBDocument.HIToolboxVersion">568.00</string>
- <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="NS.object.0">2182</string>
- </object>
- <array key="IBDocument.IntegratedClassDependencies">
- <string>NSTableView</string>
- <string>NSCustomObject</string>
- <string>NSScrollView</string>
- <string>NSCustomView</string>
- <string>NSImageCell</string>
- <string>NSTableColumn</string>
- <string>NSScroller</string>
- <string>NSTextFieldCell</string>
- </array>
- <array key="IBDocument.PluginDependencies">
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- </array>
- <object class="NSMutableDictionary" key="IBDocument.Metadata">
- <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
- <integer value="1" key="NS.object.0"/>
- </object>
- <array class="NSMutableArray" key="IBDocument.RootObjects" id="334648337">
- <object class="NSCustomObject" id="516906790">
- <string key="NSClassName">AIAdvancedPreferences</string>
- </object>
- <object class="NSCustomObject" id="543707274">
- <string key="NSClassName">FirstResponder</string>
- </object>
- <object class="NSCustomObject" id="363476122">
- <string key="NSClassName">NSApplication</string>
- </object>
- <object class="NSCustomView" id="53881124">
- <nil key="NSNextResponder"/>
- <int key="NSvFlags">256</int>
- <array class="NSMutableArray" key="NSSubviews">
- <object class="NSScrollView" id="196563190">
- <reference key="NSNextResponder" ref="53881124"/>
- <int key="NSvFlags">276</int>
- <array class="NSMutableArray" key="NSSubviews">
- <object class="NSClipView" id="863562398">
- <reference key="NSNextResponder" ref="196563190"/>
- <int key="NSvFlags">2304</int>
- <array class="NSMutableArray" key="NSSubviews">
- <object class="NSTableView" id="557685908">
- <reference key="NSNextResponder" ref="863562398"/>
- <int key="NSvFlags">4352</int>
- <string key="NSFrameSize">{183, 101}</string>
- <reference key="NSSuperview" ref="863562398"/>
- <reference key="NSNextKeyView" ref="31372689"/>
- <bool key="NSEnabled">YES</bool>
- <object class="_NSCornerView" key="NSCornerView">
- <nil key="NSNextResponder"/>
- <int key="NSvFlags">256</int>
- <string key="NSFrame">{{-26, 0}, {16, 17}}</string>
- </object>
- <array class="NSMutableArray" key="NSTableColumns">
- <object class="NSTableColumn" id="1020615924">
- <string key="NSIdentifier">image</string>
- <double key="NSWidth">36</double>
- <double key="NSMinWidth">10</double>
- <double key="NSMaxWidth">3.4028234663852886e+38</double>
- <object class="NSTableHeaderCell" key="NSHeaderCell">
- <int key="NSCellFlags">75628096</int>
- <int key="NSCellFlags2">201328640</int>
- <string key="NSContents"/>
- <object class="NSFont" key="NSSupport" id="26">
- <string key="NSName">LucidaGrande</string>
- <double key="NSSize">11</double>
- <int key="NSfFlags">3100</int>
- </object>
- <object class="NSColor" key="NSBackgroundColor">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">headerColor</string>
- <object class="NSColor" key="NSColor" id="273636539">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MQA</bytes>
- </object>
- </object>
- <object class="NSColor" key="NSTextColor" id="523366753">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">headerTextColor</string>
- <object class="NSColor" key="NSColor" id="1034811579">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MAA</bytes>
- </object>
- </object>
- </object>
- <object class="NSImageCell" key="NSDataCell" id="971407898">
- <int key="NSCellFlags">67239424</int>
- <int key="NSCellFlags2">33685504</int>
- <reference key="NSSupport" ref="26"/>
- <int key="NSAlign">0</int>
- <int key="NSScale">0</int>
- <int key="NSStyle">0</int>
- <bool key="NSAnimates">NO</bool>
- </object>
- <bool key="NSIsEditable">YES</bool>
- <reference key="NSTableView" ref="557685908"/>
- </object>
- <object class="NSTableColumn" id="653637384">
- <string key="NSIdentifier">description</string>
- <double key="NSWidth">141.08999633789062</double>
- <double key="NSMinWidth">30</double>
- <double key="NSMaxWidth">1000</double>
- <object class="NSTableHeaderCell" key="NSHeaderCell">
- <int key="NSCellFlags">75628096</int>
- <int key="NSCellFlags2">2048</int>
- <string key="NSContents">Description</string>
- <reference key="NSSupport" ref="26"/>
- <object class="NSColor" key="NSBackgroundColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
- </object>
- <reference key="NSTextColor" ref="523366753"/>
- </object>
- <object class="NSTextFieldCell" key="NSDataCell" id="819754658">
- <int key="NSCellFlags">338820672</int>
- <int key="NSCellFlags2">1024</int>
- <object class="NSFont" key="NSSupport">
- <string key="NSName">LucidaGrande</string>
- <double key="NSSize">13</double>
- <int key="NSfFlags">1044</int>
- </object>
- <reference key="NSControlView" ref="557685908"/>
- <reference key="NSBackgroundColor" ref="273636539"/>
- <object class="NSColor" key="NSTextColor">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">controlTextColor</string>
- <reference key="NSColor" ref="1034811579"/>
- </object>
- </object>
- <int key="NSResizingMask">3</int>
- <bool key="NSIsResizeable">YES</bool>
- <reference key="NSTableView" ref="557685908"/>
- </object>
- </array>
- <double key="NSIntercellSpacingWidth">3</double>
- <double key="NSIntercellSpacingHeight">2</double>
- <object class="NSColor" key="NSBackgroundColor">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">_sourceListBackgroundColor</string>
- <object class="NSColor" key="NSColor">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">alternateSelectedControlColor</string>
- <object class="NSColor" key="NSColor">
- <int key="NSColorSpace">1</int>
- <bytes key="NSRGB">MCAwIDEAA</bytes>
- </object>
- </object>
- </object>
- <object class="NSColor" key="NSGridColor">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">gridColor</string>
- <object class="NSColor" key="NSColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MC41AA</bytes>
- </object>
- </object>
- <double key="NSRowHeight">32</double>
- <int key="NSTvFlags">37781504</int>
- <reference key="NSDelegate"/>
- <reference key="NSDataSource"/>
- <int key="NSColumnAutoresizingStyle">1</int>
- <int key="NSDraggingSourceMaskForLocal">15</int>
- <int key="NSDraggingSourceMaskForNonLocal">0</int>
- <bool key="NSAllowsTypeSelect">YES</bool>
- <int key="NSTableViewSelectionHighlightStyle">1</int>
- <int key="NSTableViewDraggingDestinationStyle">1</int>
- <int key="NSTableViewGroupRowStyle">1</int>
- </object>
- </array>
- <string key="NSFrameSize">{178, 101}</string>
- <reference key="NSSuperview" ref="196563190"/>
- <reference key="NSNextKeyView" ref="557685908"/>
- <reference key="NSDocView" ref="557685908"/>
- <object class="NSColor" key="NSBGColor">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">controlBackgroundColor</string>
- <object class="NSColor" key="NSColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
- </object>
- </object>
- <int key="NScvFlags">4</int>
- </object>
- <object class="NSScroller" id="31372689">
- <reference key="NSNextResponder" ref="196563190"/>
- <int key="NSvFlags">-2147483392</int>
- <string key="NSFrame">{{-100, -100}, {15, 319}}</string>
- <reference key="NSSuperview" ref="196563190"/>
- <reference key="NSNextKeyView" ref="660980177"/>
- <reference key="NSTarget" ref="196563190"/>
- <string key="NSAction">_doScroller:</string>
- <double key="NSPercent">0.9105263352394104</double>
- </object>
- <object class="NSScroller" id="660980177">
- <reference key="NSNextResponder" ref="196563190"/>
- <int key="NSvFlags">-2147483392</int>
- <string key="NSFrame">{{-100, -100}, {98, 15}}</string>
- <reference key="NSSuperview" ref="196563190"/>
- <reference key="NSNextKeyView" ref="863562398"/>
- <bool key="NSEnabled">YES</bool>
- <int key="NSsFlags">1</int>
- <reference key="NSTarget" ref="196563190"/>
- <string key="NSAction">_doScroller:</string>
- <double key="NSPercent">0.99047619104385376</double>
- </object>
- </array>
- <string key="NSFrame">{{0, 5}, {178, 101}}</string>
- <reference key="NSSuperview" ref="53881124"/>
- <reference key="NSNextKeyView" ref="863562398"/>
- <int key="NSsFlags">133248</int>
- <reference key="NSVScroller" ref="31372689"/>
- <reference key="NSHScroller" ref="660980177"/>
- <reference key="NSContentView" ref="863562398"/>
- <bytes key="NSScrollAmts">QSAAAEEgAABCCAAAQggAAA</bytes>
- </object>
- <object class="NSCustomView" id="915397879">
- <reference key="NSNextResponder" ref="53881124"/>
- <int key="NSvFlags">274</int>
- <string key="NSFrame">{{0, 175}, {260, 203}}</string>
- <reference key="NSSuperview" ref="53881124"/>
- <reference key="NSNextKeyView" ref="196563190"/>
- <string key="NSClassName">KNShelfSplitView</string>
- <string key="NSExtension">NSView</string>
- </object>
- <object class="NSCustomView" id="154725182">
- <reference key="NSNextResponder" ref="53881124"/>
- <int key="NSvFlags">274</int>
- <array class="NSMutableArray" key="NSSubviews">
- <object class="NSCustomView" id="779513454">
- <reference key="NSNextResponder" ref="154725182"/>
- <int key="NSvFlags">274</int>
- <string key="NSFrame">{{8, 8}, {282, 101}}</string>
- <reference key="NSSuperview" ref="154725182"/>
- <string key="NSClassName">AIModularPaneCategoryView</string>
- <string key="NSExtension">NSView</string>
- </object>
- </array>
- <string key="NSFrame">{{238, 95}, {298, 117}}</string>
- <reference key="NSSuperview" ref="53881124"/>
- <reference key="NSNextKeyView" ref="779513454"/>
- <string key="NSClassName">NSView</string>
- </object>
- </array>
- <string key="NSFrameSize">{580, 378}</string>
- <reference key="NSNextKeyView" ref="915397879"/>
- <object class="NSMutableString" key="NSClassName">
- <characters key="NS.bytes">NSView</characters>
- </object>
- <string key="NSExtension">NSResponder</string>
- </object>
- </array>
- <object class="IBObjectContainer" key="IBDocument.Objects">
- <array class="NSMutableArray" key="connectionRecords">
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">shelf_splitView</string>
- <reference key="source" ref="516906790"/>
- <reference key="destination" ref="915397879"/>
- </object>
- <int key="connectionID">22</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">modularPane</string>
- <reference key="source" ref="516906790"/>
- <reference key="destination" ref="779513454"/>
- </object>
- <int key="connectionID">25</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">view</string>
- <reference key="source" ref="516906790"/>
- <reference key="destination" ref="53881124"/>
- </object>
- <int key="connectionID">23</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">tableView_categories</string>
- <reference key="source" ref="516906790"/>
- <reference key="destination" ref="557685908"/>
- </object>
- <int key="connectionID">24</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">dataSource</string>
- <reference key="source" ref="557685908"/>
- <reference key="destination" ref="516906790"/>
- </object>
- <int key="connectionID">26</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">delegate</string>
- <reference key="source" ref="557685908"/>
- <reference key="destination" ref="516906790"/>
- </object>
- <int key="connectionID">27</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">shelfView</string>
- <reference key="source" ref="915397879"/>
- <reference key="destination" ref="196563190"/>
- </object>
- <int key="connectionID">20</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">contentView</string>
- <reference key="source" ref="915397879"/>
- <reference key="destination" ref="154725182"/>
- </object>
- <int key="connectionID">29</int>
- </object>
- </array>
- <object class="IBMutableOrderedSet" key="objectRecords">
- <array key="orderedObjects">
- <object class="IBObjectRecord">
- <int key="objectID">0</int>
- <array key="object" id="0"/>
- <reference key="children" ref="334648337"/>
- <nil key="parent"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-2</int>
- <reference key="object" ref="516906790"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">File's Owner</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-1</int>
- <reference key="object" ref="543707274"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">First Responder</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-3</int>
- <reference key="object" ref="363476122"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">Application</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">14</int>
- <reference key="object" ref="53881124"/>
- <array class="NSMutableArray" key="children">
- <reference ref="196563190"/>
- <reference ref="915397879"/>
- <reference ref="154725182"/>
- </array>
- <reference key="parent" ref="0"/>
- <string key="objectName">View</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">15</int>
- <reference key="object" ref="196563190"/>
- <array class="NSMutableArray" key="children">
- <reference ref="557685908"/>
- <reference ref="660980177"/>
- <reference ref="31372689"/>
- </array>
- <reference key="parent" ref="53881124"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">16</int>
- <reference key="object" ref="557685908"/>
- <array class="NSMutableArray" key="children">
- <reference ref="653637384"/>
- <reference ref="1020615924"/>
- </array>
- <reference key="parent" ref="196563190"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">17</int>
- <reference key="object" ref="653637384"/>
- <array class="NSMutableArray" key="children">
- <reference ref="819754658"/>
- </array>
- <reference key="parent" ref="557685908"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">40</int>
- <reference key="object" ref="819754658"/>
- <reference key="parent" ref="653637384"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">34</int>
- <reference key="object" ref="1020615924"/>
- <array class="NSMutableArray" key="children">
- <reference ref="971407898"/>
- </array>
- <reference key="parent" ref="557685908"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">37</int>
- <reference key="object" ref="971407898"/>
- <reference key="parent" ref="1020615924"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">19</int>
- <reference key="object" ref="915397879"/>
- <reference key="parent" ref="53881124"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">28</int>
- <reference key="object" ref="154725182"/>
- <array class="NSMutableArray" key="children">
- <reference ref="779513454"/>
- </array>
- <reference key="parent" ref="53881124"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">18</int>
- <reference key="object" ref="779513454"/>
- <reference key="parent" ref="154725182"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">44</int>
- <reference key="object" ref="660980177"/>
- <reference key="parent" ref="196563190"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">45</int>
- <reference key="object" ref="31372689"/>
- <reference key="parent" ref="196563190"/>
- </object>
- </array>
- </object>
- <dictionary class="NSMutableDictionary" key="flattenedProperties">
- <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="14.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="15.CustomClassName">AIAutoScrollView</string>
- <string key="15.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="16.CustomClassName">AIAlternatingRowTableView</string>
- <string key="16.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="17.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="18.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="19.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="28.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="34.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="37.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="40.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="44.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="45.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- </dictionary>
- <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
- <nil key="activeLocalization"/>
- <dictionary class="NSMutableDictionary" key="localizations"/>
- <nil key="sourceID"/>
- <int key="maxID">45</int>
- </object>
- <object class="IBClassDescriber" key="IBDocument.Classes">
- <array class="NSMutableArray" key="referencedPartialClassDescriptions">
- <object class="IBPartialClassDescription">
- <string key="className">AIAdvancedPreferences</string>
- <string key="superclassName">AIPreferencePane</string>
- <dictionary class="NSMutableDictionary" key="outlets">
- <string key="modularPane">AIModularPaneCategoryView</string>
- <string key="shelf_splitView">KNShelfSplitView</string>
- <string key="tableView_categories">NSTableView</string>
- </dictionary>
- <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
- <object class="IBToOneOutletInfo" key="modularPane">
- <string key="name">modularPane</string>
- <string key="candidateClassName">AIModularPaneCategoryView</string>
- </object>
- <object class="IBToOneOutletInfo" key="shelf_splitView">
- <string key="name">shelf_splitView</string>
- <string key="candidateClassName">KNShelfSplitView</string>
- </object>
- <object class="IBToOneOutletInfo" key="tableView_categories">
- <string key="name">tableView_categories</string>
- <string key="candidateClassName">NSTableView</string>
- </object>
- </dictionary>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/AIAdvancedPreferences.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">AIAlternatingRowTableView</string>
- <string key="superclassName">NSTableView</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/AIAlternatingRowTableView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">AIAutoScrollView</string>
- <string key="superclassName">NSScrollView</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/AIAutoScrollView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">AIModularPane</string>
- <string key="superclassName">NSObject</string>
- <object class="NSMutableDictionary" key="actions">
- <string key="NS.key.0">changePreference:</string>
- <string key="NS.object.0">id</string>
- </object>
- <object class="NSMutableDictionary" key="actionInfosByName">
- <string key="NS.key.0">changePreference:</string>
- <object class="IBActionInfo" key="NS.object.0">
- <string key="name">changePreference:</string>
- <string key="candidateClassName">id</string>
- </object>
- </object>
- <object class="NSMutableDictionary" key="outlets">
- <string key="NS.key.0">view</string>
- <string key="NS.object.0">NSView</string>
- </object>
- <object class="NSMutableDictionary" key="toOneOutletInfosByName">
- <string key="NS.key.0">view</string>
- <object class="IBToOneOutletInfo" key="NS.object.0">
- <string key="name">view</string>
- <string key="candidateClassName">NSView</string>
- </object>
- </object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/AIModularPane.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">AIModularPaneCategoryView</string>
- <string key="superclassName">NSView</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/AIModularPaneCategoryView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">AIPreferencePane</string>
- <string key="superclassName">AIModularPane</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/AIPreferencePane.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">KNShelfSplitView</string>
- <string key="superclassName">NSView</string>
- <object class="NSMutableDictionary" key="actions">
- <string key="NS.key.0">toggleShelf:</string>
- <string key="NS.object.0">id</string>
- </object>
- <object class="NSMutableDictionary" key="actionInfosByName">
- <string key="NS.key.0">toggleShelf:</string>
- <object class="IBActionInfo" key="NS.object.0">
- <string key="name">toggleShelf:</string>
- <string key="candidateClassName">id</string>
- </object>
- </object>
- <dictionary class="NSMutableDictionary" key="outlets">
- <string key="contentView">NSView</string>
- <string key="delegate">id</string>
- <string key="shelfView">NSView</string>
- <string key="target">id</string>
- </dictionary>
- <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
- <object class="IBToOneOutletInfo" key="contentView">
- <string key="name">contentView</string>
- <string key="candidateClassName">NSView</string>
- </object>
- <object class="IBToOneOutletInfo" key="delegate">
- <string key="name">delegate</string>
- <string key="candidateClassName">id</string>
- </object>
- <object class="IBToOneOutletInfo" key="shelfView">
- <string key="name">shelfView</string>
- <string key="candidateClassName">NSView</string>
- </object>
- <object class="IBToOneOutletInfo" key="target">
- <string key="name">target</string>
- <string key="candidateClassName">id</string>
- </object>
- </dictionary>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/KNShelfSplitView.h</string>
- </object>
- </object>
- </array>
- </object>
- <int key="IBDocument.localizationMode">0</int>
- <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
- <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
- <real value="1060" key="NS.object.0"/>
- </object>
- <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
- <real value="1060" key="NS.object.0"/>
- </object>
- <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
- <real value="3200" key="NS.object.0"/>
- </object>
- <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
- <int key="IBDocument.defaultPropertyAccessControl">3</int>
- </data>
-</archive>
diff -r 3f57100aabf9 -r 5b434bbcd80c Source/AIInterfaceController.m
--- a/Source/AIInterfaceController.m Mon Aug 29 17:56:00 2011 +0300
+++ b/Source/AIInterfaceController.m Mon Aug 20 20:30:39 2012 -0400
@@ -43,7 +43,6 @@
#import <Adium/AISortController.h>
#import "AIMessageWindowController.h"
#import "AIMessageTabViewItem.h"
-#import "KNShelfSplitview.h"
#import <Adium/AIContactList.h>
#import "AIListOutlineView.h"
diff -r 3f57100aabf9 -r 5b434bbcd80c Source/AIPreferenceContainer.h
--- a/Source/AIPreferenceContainer.h Mon Aug 29 17:56:00 2011 +0300
+++ b/Source/AIPreferenceContainer.h Mon Aug 20 20:30:39 2012 -0400
@@ -19,24 +19,16 @@
@interface AIPreferenceContainer : NSObject {
NSString *group;
AIListObject *object;
-
NSMutableDictionary *prefs;
- NSMutableDictionary *prefsWithDefaults;
-
NSMutableDictionary *defaults;
NSInteger preferenceChangeDelays;
-
- NSMutableDictionary **myGlobalPrefs;
- NSInteger *myUsersOfGlobalPrefs;
- NSTimer **myTimerForSavingGlobalPrefs;
- NSString *globalPrefsName;
}
-+ (AIPreferenceContainer *)preferenceContainerForGroup:(NSString *)inGroup object:(AIListObject *)inObject;
++ (AIPreferenceContainer *)preferenceContainerForGroup:(NSString *)inGroup object:(AIListObject *)inObject create:(BOOL)create;
+ (void)preferenceControllerWillClose;
//Return a dictionary of preferences and defaults, appropriately merged together
-- (NSDictionary *)dictionary;
+ at property (readonly, nonatomic) NSDictionary *dictionary;
//Replace all preferences for this container with the values and keys in inPreferences
- (void)setPreferences:(NSDictionary *)inPreferences;
@@ -50,6 +42,6 @@
- (void)setPreferenceChangedNotificationsEnabled:(BOOL)inEnbaled;
-- (void)setGroup:(NSString *)inGroup;
+ at property (readwrite, nonatomic, copy) NSString *group;
@end
diff -r 3f57100aabf9 -r 5b434bbcd80c Source/AIPreferenceContainer.m
--- a/Source/AIPreferenceContainer.m Mon Aug 29 17:56:00 2011 +0300
+++ b/Source/AIPreferenceContainer.m Mon Aug 20 20:30:39 2012 -0400
@@ -26,7 +26,7 @@
- (id)initForGroup:(NSString *)inGroup object:(AIListObject *)inObject;
- (void)save;
@property (readonly, nonatomic) NSMutableDictionary *prefs;
-- (void) loadGlobalPrefs;
++ (void) loadGlobalPrefsForObject:(AIListObject *)object;
//Lazily sets up our pref dict if needed
- (void) setPrefValue:(id)val forKey:(id)key;
@@ -62,8 +62,39 @@
*/
@implementation AIPreferenceContainer
-+ (AIPreferenceContainer *)preferenceContainerForGroup:(NSString *)inGroup object:(AIListObject *)inObject
+static NSString *globalPrefsNameForObject(AIListObject *object) {
+ if (!object) return NULL;
+ return [object isKindOfClass:[AIAccount class]] ? @"AccountPrefs" : @"ByObjectPrefs";
+}
+#define globalPrefsName globalPrefsNameForObject(object)
+
+static NSMutableDictionary **globalPrefsPtrForObject(AIListObject *object) {
+ if (!object) return NULL;
+ return [object isKindOfClass:[AIAccount class]] ? &accountPrefs : &objectPrefs;
+}
+#define myGlobalPrefs globalPrefsPtrForObject(object)
+
+static NSTimer **globalPrefsSaveTimerForObject(AIListObject *object) {
+ if (!object) return NULL;
+ return [object isKindOfClass:[AIAccount class]] ? &timer_savingOfAccountCache : &timer_savingOfObjectCache;
+}
+#define myTimerForSavingGlobalPrefs globalPrefsSaveTimerForObject(object)
+
++ (AIPreferenceContainer *)preferenceContainerForGroup:(NSString *)inGroup object:(AIListObject *)inObject create:(BOOL)create
{
+ BOOL found = YES;
+ if (inObject) {
+ NSMutableDictionary **prefs = globalPrefsPtrForObject(inObject);
+ if (!*prefs) {
+ [self loadGlobalPrefsForObject:inObject];
+ prefs = globalPrefsPtrForObject(inObject);
+ }
+
+ NSString *globalPrefsKey = [inObject.internalObjectID safeFilenameString];
+ found = (nil != [*prefs objectForKey:globalPrefsKey]);
+ }
+
+ if (inObject && !found && !create) return nil;
return [[[self alloc] initForGroup:inGroup object:inObject] autorelease];
}
@@ -97,18 +128,6 @@
if ((self = [super init])) {
group = [inGroup retain];
object = [inObject retain];
- if (object) {
- if ([object isKindOfClass:[AIAccount class]]) {
- myGlobalPrefs = &accountPrefs;
- myTimerForSavingGlobalPrefs = &timer_savingOfAccountCache;
- globalPrefsName = @"AccountPrefs";
-
- } else {
- myGlobalPrefs = &objectPrefs;
- myTimerForSavingGlobalPrefs = &timer_savingOfObjectCache;
- globalPrefsName = @"ByObjectPrefs";
- }
- }
}
return self;
@@ -116,11 +135,11 @@
- (void)dealloc
{
- [defaults release]; defaults = nil;
+ [defaults release];
+ [prefs release];
[group release];
[object release];
- [globalPrefsName release]; globalPrefsName = nil;
-
+
[super dealloc];
}
@@ -131,7 +150,7 @@
#pragma mark Defaults
- at synthesize defaults;
+ at synthesize defaults, group;
/*!
* @brief Register defaults
@@ -143,14 +162,11 @@
if (!defaults) defaults = [[NSMutableDictionary alloc] init];
[defaults addEntriesFromDictionary:inDefaults];
-
- //Clear the cached defaults dictionary so it will be recreated as needed
- [prefsWithDefaults release]; prefsWithDefaults = nil;
}
#pragma mark Get and set
-- (void) loadGlobalPrefs
++ (void) loadGlobalPrefsForObject:(AIListObject *)object
{
NSAssert(*myGlobalPrefs == nil, @"Attempting to load global prefs when they're already loaded");
NSString *objectPrefsPath = [[adium.loginController.userDirectory stringByAppendingPathComponent:globalPrefsName] stringByAppendingPathExtension:@"plist"];
@@ -230,9 +246,6 @@
NSString *userDirectory = adium.loginController.userDirectory;
if (object) {
- if (!(*myGlobalPrefs))
- [self loadGlobalPrefs];
-
//For compatibility with having loaded individual object prefs from previous version of Adium, we key by the safe filename string
NSString *globalPrefsKey = [object.internalObjectID safeFilenameString];
prefs = [[*myGlobalPrefs objectForKey:globalPrefsKey] retain];
@@ -252,20 +265,13 @@
*/
- (NSDictionary *)dictionary
{
- if (!prefsWithDefaults) {
- //Add our own preferences to the defaults dictionary to get a dict with the set keys overriding the default keys
- if (defaults) {
- prefsWithDefaults = [defaults mutableCopy];
- NSDictionary *prefDict = self.prefs;
- if (prefDict)
- [prefsWithDefaults addEntriesFromDictionary:prefDict];
-
- } else {
- prefsWithDefaults = [self.prefs retain];
- }
- }
-
- return prefsWithDefaults;
+ NSDictionary *myPrefs = self.prefs;
+ if (!defaults) return [[myPrefs copy] autorelease];
+
+ NSMutableDictionary *prefsWithDefaults = [defaults mutableCopy];
+ //Add our own preferences to the defaults dictionary to get a dict with the set keys overriding the default keys
+ if (myPrefs) [prefsWithDefaults addEntriesFromDictionary:myPrefs];
+ return [prefsWithDefaults autorelease];
}
/*!
@@ -276,7 +282,7 @@
- (void)setValue:(id)value forKey:(NSString *)key
{
BOOL valueChanged = YES;
- /* Comparing pointers, numbers, and strings is far cheapear than writing out to disk;
+ /* Comparing pointers, numbers, and strings is far cheaper than writing out to disk;
* check to see if we don't need to change anything at all. However, we still want to post notifications
* for observers that we were set.
*/
@@ -287,13 +293,6 @@
[self willChangeValueForKey:key];
if (valueChanged) {
- //Clear the cached defaults dictionary so it will be recreated as needed
- if (value)
- [prefsWithDefaults setValue:value forKey:key];
- else {
- [prefsWithDefaults autorelease]; prefsWithDefaults = nil;
- }
-
[self setPrefValue:value forKey:key];
}
@@ -309,7 +308,10 @@
- (id)valueForKey:(NSString *)key
{
- return [[self dictionary] valueForKey:key];
+ id result = nil;
+ result = [self.prefs objectForKey:key];
+ if (!result) result = [self.defaults objectForKey:key];
+ return result;
}
/*!
@@ -328,7 +330,7 @@
- (id)defaultValueForKey:(NSString *)key
{
- return [[self defaults] valueForKey:key];
+ return [self.defaults valueForKey:key];
}
/*!
More information about the commits
mailing list